![]() |
Routines |
This is the program used to save the fast code block for Back to Skool. |
33013 | LD HL,33204 | 33204 is where we go after loading has finished |
33016 | LD (23833),HL | |
33019 | EXX | After bytes 16384 to 32956 have been saved, a further 65535 bytes are saved, starting at 32971, moving forward in steps of 23 bytes, and ending at 32925 (32948 is missed out) |
33020 | LD BC,23 | |
33023 | EXX | |
33024 | LD IX,16384 | Start saving at 16384 (first byte of display file) |
33028 | LD DE,16572 | 16384 to 32956 will be saved first |
33031 | LD A,255 | |
33033 | LD HL,3224 | |
33036 | EX AF,AF' | |
33037 | INC DE | |
33038 | DEC IX | |
33040 | DI | |
33041 | LD A,2 | |
33043 | LD B,A | |
33044 | DJNZ 33044 | |
33046 | OUT (254),A | |
33048 | XOR 15 | |
33050 | LD B,164 | |
33052 | DEC L | |
33053 | JR NZ,33044 | |
33055 | DEC B | |
33056 | DEC H | |
33057 | JP P,33044 | |
33060 | LD B,47 | |
33062 | DJNZ 33062 | |
33064 | OUT (254),A | |
33066 | LD A,13 | |
33068 | LD B,55 | |
33070 | DJNZ 33070 | |
33072 | OUT (254),A | |
33074 | LD BC,6670 | |
33077 | EX AF,AF' | |
33078 | LD L,A | |
33079 | JP 33091 | |
33082 | LD A,D | |
33083 | LD A,D | |
33084 | JR Z,33098 | |
33086 | LD L,(IX+0) | |
33089 | LD A,H | |
33090 | XOR L | |
33091 | LD H,A | |
33092 | LD A,1 | |
33094 | SCF | |
33095 | JP 33121 | |
33098 | LD L,H | |
33099 | JR 33089 | |
33101 | LD A,C | |
33102 | BIT 7,B | |
33104 | DJNZ 33104 | |
33106 | JR NC,33112 | |
33108 | LD B,32 | |
33110 | DJNZ 33110 | |
33112 | OUT (254),A | |
33114 | LD B,29 | |
33116 | JR NZ,33101 | |
33118 | DEC B | |
33119 | XOR A | |
33120 | INC A | |
33121 | RL L | |
33123 | JP NZ,33104 | |
33126 | DEC DE | |
33127 | INC IX | |
33129 | LD B,16 | |
33131 | LD A,127 | |
33133 | IN A,(254) | |
33135 | RRA | |
33136 | RET NC | |
33137 | LD A,D | Have we saved 16384 to 32956 yet? |
33138 | INC A | |
33139 | JP NZ,33082 | Jump back if not |
33142 | LD A,D | IX=32957 and DE=65535 the first time we get here |
33143 | OR E | |
33144 | JR Z,33158 | Jump if we have now saved 32971 onwards |
33146 | LD L,(IX+14) | IX+14=32971 the first time we get here |
33149 | LD A,H | |
33150 | XOR L | |
33151 | LD H,A | |
33152 | LD A,1 | |
33154 | SCF | |
33155 | JP 33181 | |
33158 | LD L,0 | |
33160 | RET | |
33161 | LD A,C | |
33162 | BIT 7,B | |
33164 | DJNZ 33164 | |
33166 | JR NC,33172 | |
33168 | LD B,32 | |
33170 | DJNZ 33170 | |
33172 | OUT (254),A | |
33174 | LD B,29 | |
33176 | JR NZ,33161 | |
33178 | DEC B | |
33179 | XOR A | |
33180 | INC A | |
33181 | RL L | |
33183 | JP NZ,33164 | |
33186 | DEC DE | |
33187 | EXX | |
33188 | ADD IX,BC | |
33190 | EXX | |
33191 | LD B,16 | |
33193 | LD A,127 | |
33195 | IN A,(254) | |
33197 | RRA | |
33198 | JP 33142 |
32952 | JR NZ,32893 | This replaces the "JR NZ,32907" in the load routine |
32954 | DEFB 32 | These bytes will be loaded into addresses 32902, 32925 and 32948 (which already contain 32, 221 and 173) respectively by the load routine |
32955 | DEFB 221 | |
32956 | DEFB 173 |