Load code
32815: Fast load the main code block
32815 |
31FC80 |
LD SP,33020 |
32818 |
DD210040 |
LD IX,16384 |
32822 |
1100C0 |
LD DE,49152 |
32825 |
3EFF |
LD A,255 |
32827 |
37 |
SCF |
32828 |
14 |
INC D |
32829 |
08 |
EX AF,AF' |
32830 |
15 |
DEC D |
32831 |
F3 |
DI |
32832 |
3E0F |
LD A,15 |
32834 |
D3FE |
OUT (254),A |
32836 |
DBFE |
IN A,(254) |
32838 |
1F |
RRA |
32839 |
E620 |
AND 32 |
32841 |
F602 |
OR 2 |
32843 |
4F |
LD C,A |
32844 |
BF |
CP A |
32845 |
C0 |
RET NZ |
32846 |
CD0F80 |
CALL 32783 |
32849 |
30FA |
JR NC,32845 |
32851 |
211504 |
LD HL,1045 |
32854 |
10FE |
DJNZ 32854 |
32856 |
2B |
DEC HL |
32857 |
7C |
LD A,H |
32858 |
B5 |
OR L |
32859 |
20F9 |
JR NZ,32854 |
32861 |
CD0080 |
CALL 32768 |
32864 |
30EB |
JR NC,32845 |
32866 |
069C |
LD B,156 |
32868 |
CD0080 |
CALL 32768 |
32871 |
30E4 |
JR NC,32845 |
32873 |
3EC6 |
LD A,198 |
32875 |
B8 |
CP B |
32876 |
30E0 |
JR NC,32846 |
32878 |
24 |
INC H |
32879 |
20F1 |
JR NZ,32866 |
32881 |
06C9 |
LD B,201 |
32883 |
CD0F80 |
CALL 32783 |
32886 |
30D5 |
JR NC,32845 |
32888 |
78 |
LD A,B |
32889 |
FED4 |
CP 212 |
32891 |
30F4 |
JR NC,32881 |
32893 |
CD0F80 |
CALL 32783 |
32896 |
D0 |
RET NC |
32897 |
79 |
LD A,C |
32898 |
EE03 |
XOR 3 |
32900 |
4F |
LD C,A |
32901 |
2600 |
LD H,0 |
32903 |
06E1 |
LD B,225 |
32905 |
1818 |
JR 32931 |
32907 |
08 |
EX AF,AF' |
32908 |
2005 |
JR NZ,32915 |
32910 |
DD7500 |
LD (IX+0),L |
32913 |
180A |
JR 32925 |
32915 |
CB11 |
RL C |
32917 |
AD |
XOR L |
32918 |
C0 |
RET NZ |
32919 |
79 |
LD A,C |
32920 |
1F |
RRA |
32921 |
4F |
LD C,A |
32922 |
13 |
INC DE |
32923 |
1802 |
JR 32927 |
32925 |
DD23 |
INC IX |
32927 |
1B |
DEC DE |
32928 |
08 |
EX AF,AF' |
32929 |
06E3 |
LD B,227 |
32931 |
2E01 |
LD L,1 |
32933 |
CD0080 |
CALL 32768 |
32936 |
D0 |
RET NC |
32937 |
3EED |
LD A,237 |
32939 |
B8 |
CP B |
32940 |
CB15 |
RL L |
32942 |
06E1 |
LD B,225 |
32944 |
D2A580 |
JP NC,32933 |
32947 |
7C |
LD A,H |
32948 |
AD |
XOR L |
32949 |
67 |
LD H,A |
32950 |
7A |
LD A,D |
32951 |
B3 |
OR E |
32952 |
20D1 |
JR NZ,32907 |
32954 |
C9 |
RET |
When the computer has loaded up to 32953, the instruction at 32952 is changed thus:
At this stage, 32893 reads as follows:
32893 |
DD75CC |
LD (IX-52),L |
32896 |
D9 |
EXX |
32897 |
DD09 |
ADD IX,BC |
32899 |
D9 |
EXX |
32900 |
CBFD |
SET 7,L |
After the poke at 32893:
The last byte to be loaded is at 32902 (even though there is one more byte, 32925, left on
the tape: see the save routine), which then reads:
32902 |
31195D |
LD SP,23833 |
32905 |
54 |
LD D,H |
32906 |
C9 |
RET |