Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- device zxspectrum48
- org $fc13
- TAPE_ERROR EQU $0806
- start_loader:
- jp loc_FE69
- word_FC16:
- dw $4848
- word_FC18:
- dw $4848
- byte_FC1A:
- db 0
- word_FC1B:
- dw 0
- word_FC1D:
- dw 0
- byte_FC1F:
- ds 13, 0
- word_FC2C:
- dw 0
- word_FC2E:
- dw 0
- db 0
- db 0
- db $FE, $C6, $BA, $BA, $BA, $BA, $C6, $FE
- db $FE, $EE, $CE, $EE, $EE, $EE, $82, $FE
- db $FE, $C6, $BA, $F6, $EE, $DE, $82, $FE
- db $FE, $82, $F6, $E6, $FA, $BA, $C6, $FE
- db $FE, $F6, $E6, $D6, $B6, $82, $F6, $FE
- db $FE, $82, $BE, $86, $FA, $BA, $C6, $FE
- db $FE, $E6, $DE, $86, $BA, $BA, $C6, $FE
- db $FE, $82, $FA, $F6, $F6, $EE, $EE, $FE
- db $FE, $C6, $BA, $C6, $BA, $BA, $C6, $FE
- db $FE, $C6, $BA, $BA, $C2, $FA, $C6, $FE
- db $FE, $C6, $BA, $BA, $BA, $BA, $C6, $FE
- sub_FC8A:
- inc d
- ex af, af'
- dec d
- di
- exx
- ld c, 0
- exx
- ld a, $0A
- out ($FE), a
- in a, ($FE)
- rra
- and $20
- or 0
- ld c, a
- cp a
- loc_FC9F:
- ret nz
- loc_FCA0:
- call sub_FD20
- jr nc, loc_FC9F
- ld hl, $0415
- loc_FCA8:
- djnz $
- dec hl
- ld a, h
- or l
- jr nz, loc_FCA8
- call sub_FD1C
- jr nc, loc_FC9F
- loc_FCB4:
- ld b, $9C
- call sub_FD1C
- jr nc, loc_FC9F
- ld a, $C6
- cp b
- jr nc, loc_FCA0
- inc h
- jr nz, loc_FCB4
- loc_FCC3:
- ld b, $C9
- call sub_FD20
- jr nc, loc_FC9F
- ld a, b
- cp $D4
- jr nc, loc_FCC3
- call sub_FD20
- ret nc
- exx
- ld a, (byte_FC1A)
- ld c, a
- ld (byte_FC1F), a
- exx
- ld h, 0
- ld b, $B0
- jr loc_FD01
- loc_FCE2:
- ex af, af'
- jr nz, loc_FCEC
- jr nc, loc_FCF6
- ld (ix+0), l
- jr loc_FCFB
- loc_FCEC:
- rl c
- xor l
- ret nz
- ld a, c
- rra
- ld c, a
- inc de
- jr loc_FCFD
- loc_FCF6:
- ld a, (ix+0)
- xor l
- ret nz
- loc_FCFB:
- inc ix
- loc_FCFD:
- dec de
- ex af, af'
- ld b, $B2
- loc_FD01:
- ld l, 1
- loc_FD03:
- call sub_FD1C
- ret nc
- ld a, $CB
- cp b
- rl l
- ld b, $B0
- jp nc, loc_FD03
- ld a, h
- xor l
- ld h, a
- ld a, d
- or e
- jr nz, loc_FCE2
- ld a, h
- cp 1
- ret
- sub_FD1C:
- call sub_FD20
- ret nc
- sub_FD20:
- jp loc_FD3B
- loc_FD23:
- inc b
- ret z
- ld a, $7F
- in a, ($FE)
- rra
- ret nc
- xor c
- and $20
- jr z, loc_FD23
- ld a, c
- cpl
- ld c, a
- ld ($5AFE), a
- ld ($5AFF), a
- scf
- ret
- loc_FD3B:
- exx
- ld a, c
- or a
- jr z, loc_FD80
- ld hl, $FC1F
- dec (hl)
- ld a, (hl)
- jr z, loc_FDA2
- cp 5
- jr nc, loc_FD8D
- ld hl, $FC1B
- inc (hl)
- inc l
- inc l
- dec (hl)
- ld hl, (word_FC1B)
- ld a, (hl)
- add a, $32
- ld e, a
- ld d, $FC
- ld hl, (word_FC1D)
- ld a, (de)
- ld (hl), a
- inc e
- inc h
- ld a, (de)
- ld (hl), a
- inc e
- inc h
- ld a, (de)
- ld (hl), a
- inc e
- inc h
- ld a, (de)
- ld (hl), a
- inc e
- inc h
- ld a, (de)
- ld (hl), a
- inc e
- inc h
- ld a, (de)
- ld (hl), a
- inc e
- inc h
- ld a, (de)
- ld (hl), a
- inc e
- inc h
- ld a, (de)
- ld (hl), a
- exx
- jp loc_FD23
- loc_FD80:
- ld b, $17
- loc_FD82:
- djnz $
- ld a, 0
- neg
- and a
- exx
- jp loc_FD23
- loc_FD8D:
- ld a, $47
- ld ($5AFA), a
- ld ($5AFB), a
- ld ($5AFC), a
- ld ($5AFD), a
- inc hl
- inc hl
- ld b, $0D
- jp loc_FD82
- loc_FDA2:
- ld b, $4F
- ld de, (word_FC16)
- ld hl, (word_FC18)
- dec e
- jp p, loc_FDB9
- ld e, b
- dec d
- ld b, 5
- loc_FDB3:
- djnz $
- ld a, (hl)
- jp loc_FDEC
- loc_FDB9:
- ld a, d
- and 7
- jp z, loc_FDD1
- dec d
- jp p, loc_FDD3
- ld d, b
- dec l
- ld a, ($8000)
- ld a, ($8000)
- ld a, ($8000)
- jp loc_FDEC
- loc_FDD1:
- ld a, (hl)
- ld a, (hl)
- loc_FDD3:
- ld a, l
- and 7
- jp z, loc_FDE4
- dec l
- jp p, loc_FDE6
- ld l, b
- dec h
- neg
- jp loc_FDEC
- loc_FDE4:
- ld a, (hl)
- ld a, (hl)
- loc_FDE6:
- ld a, h
- and 7
- jr z, loc_FDEC
- dec h
- loc_FDEC:
- ld (word_FC16), de
- ld (word_FC18), hl
- ld hl, $FC15
- ld (word_FC1B), hl
- ld hl, $50FE
- ld (word_FC1D), hl
- ld a, $40
- ld (byte_FC1F), a
- neg
- neg
- neg
- and a
- exx
- jp loc_FD23
- sub_FE0F:
- ld hl, (word_FC2C)
- ld b, 5
- loc_FE14:
- srl h
- rr l
- djnz loc_FE14
- ld de, $FC19
- loc_FE1D:
- ld a, $FF
- ld bc, $03E8
- loc_FE22:
- inc a
- or a
- sbc hl, bc
- jr nc, loc_FE22
- add hl, bc
- add a, a
- add a, a
- add a, a
- ld (de), a
- ld c, l
- ld b, h
- add hl, hl
- add hl, hl
- add hl, bc
- add hl, hl
- dec de
- ld a, e
- cp $15
- jr nz, loc_FE1D
- ret
- sub_FE3A:
- xor a
- ld (byte_FC1A), a
- ld ix, $FC21
- ld de, $11
- xor a
- scf
- call sub_FC8A
- jr nc, loc_FE66
- call sub_FE0F
- ld a, 1
- ld (byte_FC1A), a
- ld ix, (word_FC2E)
- ld de, (word_FC2C)
- ld a, $FF
- scf
- call sub_FC8A
- jr nc, loc_FE66
- ei
- ret
- loc_FE66:
- jp TAPE_ERROR
- loc_FE69:
- exx
- push hl
- exx
- call sub_FE3A
- exx
- pop hl
- exx
- ret
- savebin "loader_compiled.bin", start_loader, $-start_loader
Advertisement
Add Comment
Please, Sign In to add comment