Save code![]() |
This is the program used to save the fast code block for Back to Skool. |
| 33013 | 21B481 | LD HL,33204 | 33204 is where we go after loading has finished |
| 33016 | 22195D | LD (23833),HL | |
| 33019 | D9 | 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 | 011700 | LD BC,23 | |
| 33023 | D9 | EXX | |
| 33024 | DD210040 | LD IX,16384 | Start saving at 16384 (first byte of display file) |
| 33028 | 11BC40 | LD DE,16572 | 16384 to 32956 will be saved first |
| 33031 | 3EFF | LD A,255 | |
| 33033 | 21980C | LD HL,3224 | |
| 33036 | 08 | EX AF,AF' | |
| 33037 | 13 | INC DE | |
| 33038 | DD2B | DEC IX | |
| 33040 | F3 | DI | |
| 33041 | 3E02 | LD A,2 | |
| 33043 | 47 | LD B,A | |
| 33044 | 10FE | DJNZ 33044 | |
| 33046 | D3FE | OUT (254),A | |
| 33048 | EE0F | XOR 15 | |
| 33050 | 06A4 | LD B,164 | |
| 33052 | 2D | DEC L | |
| 33053 | 20F5 | JR NZ,33044 | |
| 33055 | 05 | DEC B | |
| 33056 | 25 | DEC H | |
| 33057 | F21481 | JP P,33044 | |
| 33060 | 062F | LD B,47 | |
| 33062 | 10FE | DJNZ 33062 | |
| 33064 | D3FE | OUT (254),A | |
| 33066 | 3E0D | LD A,13 | |
| 33068 | 0637 | LD B,55 | |
| 33070 | 10FE | DJNZ 33070 | |
| 33072 | D3FE | OUT (254),A | |
| 33074 | 010E1A | LD BC,6670 | |
| 33077 | 08 | EX AF,AF' | |
| 33078 | 6F | LD L,A | |
| 33079 | C34381 | JP 33091 | |
| 33082 | 7A | LD A,D | |
| 33083 | 7A | LD A,D | |
| 33084 | 280C | JR Z,33098 | |
| 33086 | DD6E00 | LD L,(IX+0) | |
| 33089 | 7C | LD A,H | |
| 33090 | AD | XOR L | |
| 33091 | 67 | LD H,A | |
| 33092 | 3E01 | LD A,1 | |
| 33094 | 37 | SCF | |
| 33095 | C36181 | JP 33121 | |
| 33098 | 6C | LD L,H | |
| 33099 | 18F4 | JR 33089 | |
| 33101 | 79 | LD A,C | |
| 33102 | CB78 | BIT 7,B | |
| 33104 | 10FE | DJNZ 33104 | |
| 33106 | 3004 | JR NC,33112 | |
| 33108 | 0620 | LD B,32 | |
| 33110 | 10FE | DJNZ 33110 | |
| 33112 | D3FE | OUT (254),A | |
| 33114 | 061D | LD B,29 | |
| 33116 | 20EF | JR NZ,33101 | |
| 33118 | 05 | DEC B | |
| 33119 | AF | XOR A | |
| 33120 | 3C | INC A | |
| 33121 | CB15 | RL L | |
| 33123 | C25081 | JP NZ,33104 | |
| 33126 | 1B | DEC DE | |
| 33127 | DD23 | INC IX | |
| 33129 | 0610 | LD B,16 | |
| 33131 | 3E7F | LD A,127 | |
| 33133 | DBFE | IN A,(254) | |
| 33135 | 1F | RRA | |
| 33136 | D0 | RET NC | |
| 33137 | 7A | LD A,D | Have we saved 16384 to 32956 yet? |
| 33138 | 3C | INC A | |
| 33139 | C23A81 | JP NZ,33082 | Jump back if not |
| 33142 | 7A | LD A,D | IX=32957 and DE=65535 the first time we get here |
| 33143 | B3 | OR E | |
| 33144 | 280C | JR Z,33158 | Jump if we have now saved 32971 onwards |
| 33146 | DD6E0E | LD L,(IX+14) | IX+14=32971 the first time we get here |
| 33149 | 7C | LD A,H | |
| 33150 | AD | XOR L | |
| 33151 | 67 | LD H,A | |
| 33152 | 3E01 | LD A,1 | |
| 33154 | 37 | SCF | |
| 33155 | C39D81 | JP 33181 | |
| 33158 | 2E00 | LD L,0 | |
| 33160 | C9 | RET | |
| 33161 | 79 | LD A,C | |
| 33162 | CB78 | BIT 7,B | |
| 33164 | 10FE | DJNZ 33164 | |
| 33166 | 3004 | JR NC,33172 | |
| 33168 | 0620 | LD B,32 | |
| 33170 | 10FE | DJNZ 33170 | |
| 33172 | D3FE | OUT (254),A | |
| 33174 | 061D | LD B,29 | |
| 33176 | 20EF | JR NZ,33161 | |
| 33178 | 05 | DEC B | |
| 33179 | AF | XOR A | |
| 33180 | 3C | INC A | |
| 33181 | CB15 | RL L | |
| 33183 | C28C81 | JP NZ,33164 | |
| 33186 | 1B | DEC DE | |
| 33187 | D9 | EXX | |
| 33188 | DD09 | ADD IX,BC | |
| 33190 | D9 | EXX | |
| 33191 | 0610 | LD B,16 | |
| 33193 | 3E7F | LD A,127 | |
| 33195 | DBFE | IN A,(254) | |
| 33197 | 1F | RRA | |
| 33198 | C37681 | JP 33142 |
| 32952 | 20C3 | JR NZ,32893 | This replaces the "JR NZ,32907" in the load routine |
| 32954 | 20 | 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 | DD | DEFB 221 | |
| 32956 | AD | DEFB 173 |