Prev: EA2E Up: Map Next: EB4C
EAAE: Tape Sampler
Used by the routine at LoadingController.
Custom turbo sampler. It also compares the loader's additive checksum against the stored value near LoaderChecksumAndTiming.
TapeSampler EAAE PUSH DE
EAAF PUSH AF
EAB0 LD HL,($E9E7)
EAB3 LD DE,($E9E5)
EAB7 SCF
EAB8 CCF
EAB9 SBC HL,DE
EABB JP NZ,$0000
EABE POP AF
EABF POP DE
EAC0 INC D
EAC1 EX AF,AF'
EAC2 DEC D
EAC3 DI
EAC4 LD A,$00
EAC6 OUT ($FE),A
EAC8 LD HL,$053F
EACB IN A,($FE)
EACD RRA
EACE AND $20
EAD0 OR $02
EAD2 LD C,A
EAD3 CP A
TapeSampler_0 EAD4 RET NZ
TapeSampler_1 EAD5 CALL EdgeRoutines_0
EAD8 JR NC,TapeSampler_0
EADA LD HL,$0415
TapeSampler_2 EADD DJNZ TapeSampler_2
EADF DEC HL
EAE0 LD A,H
EAE1 OR L
EAE2 JR NZ,TapeSampler_2
EAE4 CALL EdgeRoutines
EAE7 JR NC,TapeSampler_0
TapeSampler_3 EAE9 LD B,$9C
EAEB CALL EdgeRoutines
EAEE JR NC,TapeSampler_0
EAF0 LD A,$A6
EAF2 CP B
EAF3 JR NC,TapeSampler_1
EAF5 INC H
EAF6 JR NZ,TapeSampler_3
TapeSampler_4 EAF8 LD B,$C9
EAFA CALL EdgeRoutines_0
EAFD JR NC,TapeSampler_0
EAFF LD A,B
EB00 CP $D4
EB02 JR NC,TapeSampler_4
EB04 CALL EdgeRoutines_0
EB07 RET NC
EB08 LD A,C
EB09 XOR $03
EB0B LD C,A
EB0C LD H,$00
EB0E LD B,$B0
EB10 JR TapeSampler_10
TapeSampler_5 EB12 EX AF,AF'
EB13 JR NZ,TapeSampler_6
EB15 JR NC,TapeSampler_7
EB17 LD (IX+$00),L
EB1A JR TapeSampler_8
TapeSampler_6 EB1C RL C
EB1E XOR L
EB1F RET NZ
EB20 LD A,C
EB21 RRA
EB22 LD C,A
EB23 INC DE
EB24 JR TapeSampler_9
TapeSampler_7 EB26 LD A,(IX+$00)
EB29 XOR L
EB2A RET NZ
TapeSampler_8 EB2B INC IX
TapeSampler_9 EB2D DEC DE
EB2E EX AF,AF'
EB2F LD B,$B2
TapeSampler_10 EB31 LD L,$01
TapeSampler_11 EB33 CALL EdgeRoutines
EB36 RET NC
EB37 LD A,$CB
EB39 CP B
EB3A RL L
EB3C LD B,$B0
EB3E JP NC,TapeSampler_11
EB41 LD A,H
EB42 XOR L
EB43 LD H,A
EB44 LD A,D
EB45 OR E
EB46 JR NZ,TapeSampler_5
EB48 LD A,H
EB49 CP $01
EB4B RET
Prev: EA2E Up: Map Next: EB4C