mirror of
https://github.com/mi57730/a2d.git
synced 2025-04-22 05:39:17 +00:00
Initial disassembly snapshot for Date and Puzzle
This commit is contained in:
parent
7807f9d17e
commit
275255db02
@ -4,7 +4,7 @@ CAFLAGS = --target apple2enh --list-bytes 0
|
||||
CCFLAGS = --config apple2-asm.cfg
|
||||
|
||||
# ProDOS file type is $F1 ($ is pesky)
|
||||
TARGETS = calculator.F1 show_text_file.F1 show_image_file.F1
|
||||
TARGETS = calculator.F1 show_text_file.F1 date.F1 puzzle.F1 show_image_file.F1
|
||||
|
||||
.PHONY: clean all
|
||||
all: $(TARGETS)
|
||||
|
@ -1,9 +1,9 @@
|
||||
Disassembly of the desk accessories:
|
||||
|
||||
* [Calculator](calculator.s) - in progress!
|
||||
* Date - _not started_
|
||||
* Puzzle - _not started_
|
||||
* [Show Text File](show_text_file.s) - in progress!
|
||||
* [Show Text File](show_text_file.s) - in progress! 90% complete
|
||||
* [Calculator](calculator.s) - in progress! 90% complete
|
||||
* [Date](date.s) - in progress! 0% complete
|
||||
* [Puzzle](puzzle.s) - in progress! 0% complete
|
||||
* Sort Directory - _not started_
|
||||
|
||||
New desk accessories:
|
||||
@ -20,17 +20,17 @@ New desk accessories:
|
||||
* `Makefile` - cleans/builds targets
|
||||
* `go.sh` - bash script to build, verify, and copy files
|
||||
|
||||
* `*.bin` - original binary (type $F1, start $800)
|
||||
* `*.info` - da65 "info" file - used to inform disassembly
|
||||
* `orig/*.bin` - original binary (type $F1, start $800)
|
||||
* `infos/*.info` - da65 "info" file - used to inform disassembly
|
||||
* `*.s` - source (originally generated using da65, now modified)
|
||||
|
||||
## Build Instructions
|
||||
|
||||
On Unix-like systems (including Mac OS X) `make all` should build
|
||||
build the desk accessory files (original and new) and output
|
||||
files with a `.f1` suffix, representing the $F1 file type required.
|
||||
files with a `.F1` suffix, representing the $F1 file type required.
|
||||
|
||||
For the original DAs, the `.f1` and `.bin` files can be compared
|
||||
For the original DAs, the `.F1` and `.bin` files can be compared
|
||||
using `diff` to ensure that no changes have been introduced by the
|
||||
disassembly process.
|
||||
|
||||
@ -45,7 +45,7 @@ Tips:
|
||||
|
||||
## Install Instructions
|
||||
|
||||
Transfer the `.f1` files to your Apple (real or virtual) ensuring you:
|
||||
Transfer the `.F1` files to your Apple (real or virtual) ensuring you:
|
||||
|
||||
* Drop the suffix
|
||||
* Replace `.` in the name with spaces
|
||||
|
781
desk.acc/date.s
Normal file
781
desk.acc/date.s
Normal file
@ -0,0 +1,781 @@
|
||||
.org $800
|
||||
; da65 V2.16 - Git f5e9b401
|
||||
; Created: 2017-09-10 20:12:54
|
||||
; Input file: date.bin
|
||||
; Page: 1
|
||||
|
||||
|
||||
.setcpu "65C02"
|
||||
|
||||
L0000 := $0000
|
||||
L0020 := $0020
|
||||
L1000 := $1000
|
||||
A2D := $4000
|
||||
L4021 := $4021
|
||||
UNKNOWN_CALL := $8E00
|
||||
MLI := $BF00
|
||||
RAMRDOFF := $C002
|
||||
RAMRDON := $C003
|
||||
RAMWRTOFF := $C004
|
||||
RAMWRTON := $C005
|
||||
ALTZPOFF := $C008
|
||||
ALTZPON := $C009
|
||||
LCBANK1 := $C08B
|
||||
AUXMOVE := $C311
|
||||
XFER := $C314
|
||||
FSUB := $E7A7
|
||||
FADD := $E7BE
|
||||
FMULT := $E97F
|
||||
FDIV := $EA66
|
||||
ROUND := $EB2B
|
||||
FLOAT := $EB93
|
||||
FIN := $EC4A
|
||||
FOUT := $ED34
|
||||
jmp L0825
|
||||
|
||||
L0803: .byte $00,$09,$4D,$44,$2E,$53,$59,$53
|
||||
.byte $54,$45,$4D,$03,$04,$08,$00,$09
|
||||
L0813: .byte $00,$02
|
||||
L0815: .byte $00,$03,$00,$00,$04
|
||||
L081A: .byte $00,$23,$08,$02,$00,$00,$00,$01
|
||||
L0822: .byte $00
|
||||
L0823: .byte $00
|
||||
L0824: .byte $00
|
||||
L0825: tsx
|
||||
stx L0803
|
||||
sta ALTZPOFF
|
||||
lda $C082
|
||||
lda $BF90
|
||||
sta L090F
|
||||
lda $BF91
|
||||
sta L0910
|
||||
lda #$B8
|
||||
sta $3C
|
||||
lda #$08
|
||||
sta $3D
|
||||
lda #$2D
|
||||
sta $3E
|
||||
lda #$0F
|
||||
sta $3F
|
||||
lda #$B8
|
||||
sta $42
|
||||
lda #$08
|
||||
sta $43
|
||||
sec
|
||||
jsr AUXMOVE
|
||||
lda #$B8
|
||||
sta $03ED
|
||||
lda #$08
|
||||
sta $03EE
|
||||
php
|
||||
pla
|
||||
ora #$40
|
||||
pha
|
||||
plp
|
||||
sec
|
||||
jmp XFER
|
||||
|
||||
L086B: sta ALTZPON
|
||||
sta L0823
|
||||
stx L0824
|
||||
lda LCBANK1
|
||||
lda LCBANK1
|
||||
lda L0823
|
||||
beq L08B3
|
||||
ldy #$C8
|
||||
lda #$0E
|
||||
ldx #$08
|
||||
jsr L4021
|
||||
bne L08B3
|
||||
lda L0813
|
||||
sta L0815
|
||||
sta L081A
|
||||
sta L0822
|
||||
ldy #$CE
|
||||
lda #$14
|
||||
ldx #$08
|
||||
jsr L4021
|
||||
bne L08AA
|
||||
ldy #$CB
|
||||
lda #$19
|
||||
ldx #$08
|
||||
jsr L4021
|
||||
L08AA: ldy #$CC
|
||||
lda #$21
|
||||
ldx #$08
|
||||
jsr L4021
|
||||
L08B3: ldx L0803
|
||||
txs
|
||||
rts
|
||||
|
||||
sta ALTZPON
|
||||
lda LCBANK1
|
||||
lda LCBANK1
|
||||
jmp L0986
|
||||
|
||||
L08C4: .byte $6A,$00,$2E,$00,$B5,$00,$39,$00
|
||||
L08CC: .byte $10,$00,$2E,$00,$5A,$00,$39,$00
|
||||
L08D4: .byte $AA,$00,$0A,$00,$B4,$00,$14,$00
|
||||
L08DC: .byte $AA,$00,$1E,$00,$B4,$00,$28,$00
|
||||
L08E4: .byte $25,$00,$14,$00,$3B,$00,$1E,$00
|
||||
L08EC: .byte $51,$00,$14,$00,$6F,$00,$1E,$00
|
||||
L08F4: .byte $7F,$00,$14,$00,$95,$00,$1E,$00
|
||||
L08FC: .byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $FF
|
||||
L0905: .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||
.byte $FF
|
||||
L090E: .byte $00
|
||||
L090F: .byte $00
|
||||
L0910: .byte $00
|
||||
L0911: .byte $1A
|
||||
L0912: .byte $02
|
||||
L0913: .byte $55
|
||||
L0914: .byte $17,$09,$04,$20,$20,$20,$20
|
||||
L091B: .byte $2B,$00,$1E,$00
|
||||
L091F: .byte $22,$09,$02
|
||||
L0922: .byte $20
|
||||
L0923: .byte $20
|
||||
L0924: .byte $57,$00,$1E,$00
|
||||
L0928: .byte $2B,$09,$03,$20,$20,$20
|
||||
L092E: .byte $85,$00,$1E,$00
|
||||
L0932: .byte $35,$09,$02
|
||||
L0935: .byte $20
|
||||
L0936: .byte $20
|
||||
L0937: .byte $00
|
||||
L0938: .byte $00
|
||||
L0939: .byte $00
|
||||
L093A: .byte $00
|
||||
L093B: .byte $00
|
||||
L093C: .byte $00
|
||||
L093D: .byte $00
|
||||
L093E: .byte $64
|
||||
L093F: .byte $00
|
||||
L0940: .byte $00
|
||||
L0941: .byte $00
|
||||
L0942: .byte $00
|
||||
L0943: .byte $00,$00,$00,$00
|
||||
L0947: .byte $64,$00,$01
|
||||
L094A: .byte $02,$06
|
||||
L094C: .byte $64,$01,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$64,$00,$64,$00
|
||||
.byte $F4,$01,$F4,$01
|
||||
L0960: .byte $B4,$00,$32,$00,$00,$20,$80,$00
|
||||
.byte $00,$00,$00,$00,$C7,$00,$40,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $FF,$00,$00,$00,$00,$00,$04,$02
|
||||
.byte $00,$7F,$00,$88,$00,$00
|
||||
L0986: jsr L0E00
|
||||
lda L0910
|
||||
lsr a
|
||||
sta L0913
|
||||
lda L090F
|
||||
and #$1F
|
||||
sta L0911
|
||||
lda L0910
|
||||
ror a
|
||||
lda L090F
|
||||
ror a
|
||||
lsr a
|
||||
lsr a
|
||||
lsr a
|
||||
lsr a
|
||||
sta L0912
|
||||
jsr A2D
|
||||
.byte $38
|
||||
.addr L094C
|
||||
lda #$00
|
||||
sta L090E
|
||||
jsr L0CF0
|
||||
jsr A2D
|
||||
.byte $2B
|
||||
.addr L0000
|
||||
L09BB: jsr A2D
|
||||
.byte $2A
|
||||
.addr L0937
|
||||
lda L0937
|
||||
cmp #$01
|
||||
bne L09CE
|
||||
jsr L0A45
|
||||
jmp L09BB
|
||||
|
||||
L09CE: cmp #$03
|
||||
bne L09BB
|
||||
lda L0939
|
||||
bne L09BB
|
||||
lda L0938
|
||||
cmp #$0D
|
||||
bne L09E1
|
||||
jmp L0A92
|
||||
|
||||
L09E1: cmp #$1B
|
||||
bne L09E8
|
||||
jmp L0ABB
|
||||
|
||||
L09E8: cmp #$08
|
||||
beq L0A26
|
||||
cmp #$15
|
||||
beq L0A33
|
||||
cmp #$0A
|
||||
beq L0A0F
|
||||
cmp #$0B
|
||||
bne L09BB
|
||||
jsr A2D
|
||||
.byte $11
|
||||
.addr L08D4
|
||||
lda #$03
|
||||
sta L0B50
|
||||
jsr L0B17
|
||||
jsr A2D
|
||||
.byte $11
|
||||
.addr L08D4
|
||||
jmp L09BB
|
||||
|
||||
L0A0F: jsr A2D
|
||||
.byte $11
|
||||
.addr L08DC
|
||||
lda #$04
|
||||
sta L0B50
|
||||
jsr L0B17
|
||||
jsr A2D
|
||||
.byte $11
|
||||
.addr L08DC
|
||||
jmp L09BB
|
||||
|
||||
L0A26: sec
|
||||
lda L090E
|
||||
sbc #$01
|
||||
bne L0A3F
|
||||
lda #$03
|
||||
jmp L0A3F
|
||||
|
||||
L0A33: clc
|
||||
lda L090E
|
||||
adc #$01
|
||||
cmp #$04
|
||||
bne L0A3F
|
||||
lda #$01
|
||||
L0A3F: jsr L0DB4
|
||||
jmp L09BB
|
||||
|
||||
L0A45: jsr A2D
|
||||
.byte $40
|
||||
.addr L0938
|
||||
jsr A2D
|
||||
.byte $07
|
||||
.addr L094A
|
||||
jsr A2D
|
||||
.byte $08
|
||||
.addr L0905
|
||||
lda L093D
|
||||
cmp #$64
|
||||
bne L0A63
|
||||
lda L093C
|
||||
bne L0A64
|
||||
L0A63: rts
|
||||
|
||||
L0A64: cmp #$02
|
||||
bne L0A63
|
||||
jsr L0C54
|
||||
cpx #$00
|
||||
beq L0A63
|
||||
txa
|
||||
sec
|
||||
sbc #$01
|
||||
asl a
|
||||
tay
|
||||
lda L0A84,y
|
||||
sta L0A82
|
||||
lda L0A85,y
|
||||
sta L0A83
|
||||
L0A82 := * + 1
|
||||
L0A83 := * + 2
|
||||
jmp L1000
|
||||
|
||||
L0A84: .byte $92
|
||||
L0A85: .byte $0A,$BB,$0A,$C9,$0A,$D7,$0A,$E5
|
||||
.byte $0A,$E5,$0A,$E5,$0A
|
||||
L0A92: jsr A2D
|
||||
.byte $11
|
||||
.addr L08C4
|
||||
sta RAMWRTOFF
|
||||
lda L0912
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
ora L0911
|
||||
sta $BF90
|
||||
lda L0913
|
||||
rol a
|
||||
sta $BF91
|
||||
sta RAMWRTON
|
||||
lda #$01
|
||||
sta L0C1A
|
||||
jmp L0C1B
|
||||
|
||||
L0ABB: jsr A2D
|
||||
.byte $11
|
||||
.addr L08CC
|
||||
lda #$00
|
||||
sta L0C1A
|
||||
jmp L0C1B
|
||||
|
||||
txa
|
||||
pha
|
||||
jsr A2D
|
||||
.byte $11
|
||||
.addr L08D4
|
||||
pla
|
||||
tax
|
||||
jsr L0AEC
|
||||
rts
|
||||
|
||||
txa
|
||||
pha
|
||||
jsr A2D
|
||||
.byte $11
|
||||
.addr L08DC
|
||||
pla
|
||||
tax
|
||||
jsr L0AEC
|
||||
rts
|
||||
|
||||
txa
|
||||
sec
|
||||
sbc #$04
|
||||
jmp L0DB4
|
||||
|
||||
L0AEC: stx L0B50
|
||||
L0AEF: jsr A2D
|
||||
.byte $2A
|
||||
.addr L0937
|
||||
lda L0937
|
||||
cmp #$02
|
||||
beq L0B02
|
||||
jsr L0B17
|
||||
jmp L0AEF
|
||||
|
||||
L0B02: lda L0B50
|
||||
cmp #$03
|
||||
beq L0B10
|
||||
jsr A2D
|
||||
.byte $11
|
||||
.addr L08DC
|
||||
rts
|
||||
|
||||
L0B10: jsr A2D
|
||||
.byte $11
|
||||
.addr L08D4
|
||||
rts
|
||||
|
||||
L0B17: jsr L0DF2
|
||||
lda L0B50
|
||||
cmp #$03
|
||||
beq L0B2C
|
||||
lda #$59
|
||||
sta $07
|
||||
lda #$0B
|
||||
sta $08
|
||||
jmp L0B34
|
||||
|
||||
L0B2C: lda #$51
|
||||
sta $07
|
||||
lda #$0B
|
||||
sta $08
|
||||
L0B34: lda L090E
|
||||
asl a
|
||||
tay
|
||||
lda ($07),y
|
||||
sta L0B45
|
||||
iny
|
||||
lda ($07),y
|
||||
sta L0B46
|
||||
L0B45 := * + 1
|
||||
L0B46 := * + 2
|
||||
jsr L1000
|
||||
jsr A2D
|
||||
.byte $0C
|
||||
.addr L08FC
|
||||
jmp L0D73
|
||||
|
||||
L0B50: .byte $00,$00,$00,$61,$0B,$73,$0B,$85
|
||||
.byte $0B,$00,$00,$97,$0B,$A4,$0B,$B1
|
||||
.byte $0B
|
||||
clc
|
||||
lda L0911
|
||||
adc #$01
|
||||
cmp #$20
|
||||
bne L0B6D
|
||||
lda #$01
|
||||
L0B6D: sta L0911
|
||||
jmp L0BBE
|
||||
|
||||
clc
|
||||
lda L0912
|
||||
adc #$01
|
||||
cmp #$0D
|
||||
bne L0B7F
|
||||
lda #$01
|
||||
L0B7F: sta L0912
|
||||
jmp L0BCB
|
||||
|
||||
clc
|
||||
lda L0913
|
||||
adc #$01
|
||||
cmp #$64
|
||||
bne L0B91
|
||||
lda #$00
|
||||
L0B91: sta L0913
|
||||
jmp L0C0D
|
||||
|
||||
dec L0911
|
||||
bne L0BA1
|
||||
lda #$1F
|
||||
sta L0911
|
||||
L0BA1: jmp L0BBE
|
||||
|
||||
dec L0912
|
||||
bne L0BAE
|
||||
lda #$0C
|
||||
sta L0912
|
||||
L0BAE: jmp L0BCB
|
||||
|
||||
dec L0913
|
||||
bpl L0BBB
|
||||
lda #$63
|
||||
sta L0913
|
||||
L0BBB: jmp L0C0D
|
||||
|
||||
L0BBE: lda L0911
|
||||
jsr L0F16
|
||||
sta L0922
|
||||
stx L0923
|
||||
rts
|
||||
|
||||
L0BCB: lda L0912
|
||||
asl a
|
||||
clc
|
||||
adc L0912
|
||||
tax
|
||||
dex
|
||||
lda #$2B
|
||||
sta $07
|
||||
lda #$09
|
||||
sta $08
|
||||
ldy #$02
|
||||
L0BDF: lda L0BE9,x
|
||||
sta ($07),y
|
||||
dex
|
||||
dey
|
||||
bpl L0BDF
|
||||
rts
|
||||
|
||||
L0BE9: .byte $4A,$61,$6E,$46,$65,$62,$4D,$61
|
||||
.byte $72,$41,$70,$72,$4D,$61,$79,$4A
|
||||
.byte $75,$6E,$4A,$75,$6C,$41,$75,$67
|
||||
.byte $53,$65,$70,$4F,$63,$74,$4E,$6F
|
||||
.byte $76,$44,$65,$63
|
||||
L0C0D: lda L0913
|
||||
jsr L0F16
|
||||
sta L0935
|
||||
stx L0936
|
||||
rts
|
||||
|
||||
L0C1A: brk
|
||||
L0C1B: jsr A2D
|
||||
.byte $39
|
||||
.addr L0947
|
||||
jsr UNKNOWN_CALL
|
||||
.byte $0C
|
||||
.addr L0000
|
||||
ldx #$09
|
||||
L0C29: lda L0C4B,x
|
||||
sta L0020,x
|
||||
dex
|
||||
bpl L0C29
|
||||
lda L0C1A
|
||||
beq L0C48
|
||||
lda L0912
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
asl a
|
||||
ora L0911
|
||||
tay
|
||||
lda L0913
|
||||
rol a
|
||||
tax
|
||||
tya
|
||||
L0C48: jmp L0020
|
||||
|
||||
L0C4B: sta RAMRDOFF
|
||||
sta RAMWRTOFF
|
||||
jmp L086B
|
||||
|
||||
L0C54: lda L0938
|
||||
sta L093F
|
||||
lda L0939
|
||||
sta L0940
|
||||
lda L093A
|
||||
sta L0941
|
||||
lda L093B
|
||||
sta L0942
|
||||
jsr A2D
|
||||
.byte $46
|
||||
.addr L093E
|
||||
jsr A2D
|
||||
.byte $0E
|
||||
.addr L0943
|
||||
ldx #$01
|
||||
lda #$C4
|
||||
sta L0C8A
|
||||
lda #$08
|
||||
sta L0C8A+1
|
||||
L0C84: txa
|
||||
pha
|
||||
jsr A2D
|
||||
.byte $13
|
||||
L0C8A: .addr L1000
|
||||
bne L0CA6
|
||||
clc
|
||||
lda L0C8A
|
||||
adc #$08
|
||||
sta L0C8A
|
||||
bcc L0C9C
|
||||
inc L0C8A+1
|
||||
L0C9C: pla
|
||||
tax
|
||||
inx
|
||||
cpx #$08
|
||||
bne L0C84
|
||||
ldx #$00
|
||||
rts
|
||||
|
||||
L0CA6: pla
|
||||
tax
|
||||
rts
|
||||
|
||||
L0CA9: .byte $04,$00,$02,$00,$C0,$00,$3D,$00
|
||||
L0CB1: .byte $20,$00,$0F,$00,$9A,$00,$23,$00
|
||||
L0CB9: .byte $BC,$0C,$0C,$4F,$4B,$20,$20,$20
|
||||
.byte $20,$20,$20,$20,$20,$20,$0D
|
||||
L0CC8: .byte $CB,$0C,$0B,$43,$61,$6E,$63,$65
|
||||
.byte $6C,$20,$20,$45,$53,$43
|
||||
L0CD6: .byte $D9,$0C,$01,$0B
|
||||
L0CDA: .byte $DD,$0C,$01,$0A
|
||||
L0CDE: .byte $15,$00,$38,$00
|
||||
L0CE2: .byte $6E,$00,$38,$00
|
||||
L0CE6: .byte $AC,$00,$13,$00
|
||||
L0CEA: .byte $AC,$00,$27,$00
|
||||
L0CEE: .byte $01,$01
|
||||
L0CF0: jsr A2D
|
||||
.byte $04
|
||||
.addr L0960
|
||||
jsr A2D
|
||||
.byte $12
|
||||
.addr L0CA9
|
||||
jsr A2D
|
||||
.byte $0A
|
||||
.addr L0CEE
|
||||
jsr A2D
|
||||
.byte $12
|
||||
.addr L0CB1
|
||||
jsr A2D
|
||||
.byte $12
|
||||
.addr L08C4
|
||||
jsr A2D
|
||||
.byte $12
|
||||
.addr L08CC
|
||||
jsr A2D
|
||||
.byte $0E
|
||||
.addr L0CE2
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L0CB9
|
||||
jsr A2D
|
||||
.byte $0E
|
||||
.addr L0CDE
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L0CC8
|
||||
jsr A2D
|
||||
.byte $0E
|
||||
.addr L0CE6
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L0CD6
|
||||
jsr A2D
|
||||
.byte $12
|
||||
.addr L08D4
|
||||
jsr A2D
|
||||
.byte $0E
|
||||
.addr L0CEA
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L0CDA
|
||||
jsr A2D
|
||||
.byte $12
|
||||
.addr L08DC
|
||||
jsr L0BBE
|
||||
jsr L0BCB
|
||||
jsr L0C0D
|
||||
jsr L0D81
|
||||
jsr L0D8E
|
||||
jsr L0DA7
|
||||
jsr A2D
|
||||
.byte $07
|
||||
.addr L094A
|
||||
jsr A2D
|
||||
.byte $08
|
||||
.addr L0905
|
||||
lda #$01
|
||||
jmp L0DB4
|
||||
|
||||
L0D73: lda L090E
|
||||
cmp #$01
|
||||
beq L0D81
|
||||
cmp #$02
|
||||
beq L0D8E
|
||||
jmp L0DA7
|
||||
|
||||
L0D81: jsr A2D
|
||||
.byte $0E
|
||||
.addr L091B
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L091F
|
||||
rts
|
||||
|
||||
L0D8E: jsr A2D
|
||||
.byte $0E
|
||||
.addr L0924
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L0914
|
||||
jsr A2D
|
||||
.byte $0E
|
||||
.addr L0924
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L0928
|
||||
rts
|
||||
|
||||
L0DA7: jsr A2D
|
||||
.byte $0E
|
||||
.addr L092E
|
||||
jsr A2D
|
||||
.byte $19
|
||||
.addr L0932
|
||||
rts
|
||||
|
||||
L0DB4: pha
|
||||
lda L090E
|
||||
beq L0DD1
|
||||
cmp #$01
|
||||
bne L0DC4
|
||||
jsr L0DE4
|
||||
jmp L0DD1
|
||||
|
||||
L0DC4: cmp #$02
|
||||
bne L0DCE
|
||||
jsr L0DEB
|
||||
jmp L0DD1
|
||||
|
||||
L0DCE: jsr L0DDD
|
||||
L0DD1: pla
|
||||
sta L090E
|
||||
cmp #$01
|
||||
beq L0DE4
|
||||
cmp #$02
|
||||
beq L0DEB
|
||||
L0DDD: jsr A2D
|
||||
.byte $11
|
||||
.addr L08F4
|
||||
rts
|
||||
|
||||
L0DE4: jsr A2D
|
||||
.byte $11
|
||||
.addr L08E4
|
||||
rts
|
||||
|
||||
L0DEB: jsr A2D
|
||||
.byte $11
|
||||
.addr L08EC
|
||||
rts
|
||||
|
||||
L0DF2: lda #$FF
|
||||
sec
|
||||
L0DF5: pha
|
||||
L0DF6: sbc #$01
|
||||
bne L0DF6
|
||||
pla
|
||||
sbc #$01
|
||||
bne L0DF5
|
||||
rts
|
||||
|
||||
L0E00: ldx #$00
|
||||
L0E02: lda L0000,x
|
||||
sta L0E16,x
|
||||
dex
|
||||
bne L0E02
|
||||
rts
|
||||
|
||||
ldx #$00
|
||||
L0E0D: lda L0E16,x
|
||||
sta L0000,x
|
||||
dex
|
||||
bne L0E0D
|
||||
rts
|
||||
|
||||
L0E16: .byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
L0F16: ldy #$00
|
||||
L0F18: cmp #$0A
|
||||
bcc L0F23
|
||||
sec
|
||||
sbc #$0A
|
||||
iny
|
||||
jmp L0F18
|
||||
|
||||
L0F23: clc
|
||||
adc #$30
|
||||
tax
|
||||
tya
|
||||
clc
|
||||
adc #$30
|
||||
rts
|
||||
|
||||
rts
|
||||
|
@ -9,7 +9,7 @@ function do_make {
|
||||
}
|
||||
|
||||
function verify {
|
||||
diff "$1.bin" "$1.F1" \
|
||||
diff "orig/$1.bin" "$1.F1" \
|
||||
&& (tput setaf 2 ; echo "diff $1 good" ; tput sgr0 ) \
|
||||
|| (tput setaf 1 ; tput blink ; echo -e "DIFF $1 BAD" ; tput sgr0 ; return 1)
|
||||
}
|
||||
@ -20,6 +20,8 @@ do_make all
|
||||
# Verify original and output match
|
||||
verify "calculator"
|
||||
verify "show_text_file"
|
||||
verify "date"
|
||||
verify "puzzle"
|
||||
|
||||
cat show_image_file.F1 > mount/SHOW.IMAGE.FILE.\$F1 \
|
||||
&& echo "Updated mounted file"
|
||||
|
144
desk.acc/infos/date.info
Normal file
144
desk.acc/infos/date.info
Normal file
@ -0,0 +1,144 @@
|
||||
GLOBAL {
|
||||
STARTADDR $0800;
|
||||
PAGELENGTH 0; # No paging
|
||||
CPU "65C02";
|
||||
};
|
||||
|
||||
LABEL { NAME "RAMRDOFF"; ADDR $C002; };
|
||||
LABEL { NAME "RAMRDON"; ADDR $C003; };
|
||||
LABEL { NAME "RAMWRTOFF"; ADDR $C004; };
|
||||
LABEL { NAME "RAMWRTON"; ADDR $C005; };
|
||||
LABEL { NAME "ALTZPOFF"; ADDR $C008; };
|
||||
LABEL { NAME "ALTZPON"; ADDR $C009; };
|
||||
LABEL { NAME "LCBANK1"; ADDR $C08B; };
|
||||
LABEL { NAME "AUXMOVE"; ADDR $C311; };
|
||||
LABEL { NAME "XFER"; ADDR $C314; };
|
||||
|
||||
LABEL { NAME "A2D"; ADDR $4000; };
|
||||
LABEL { NAME "UNKNOWN_CALL"; ADDR $8E00; };
|
||||
LABEL { NAME "MLI"; ADDR $BF00; };
|
||||
|
||||
LABEL { NAME "FSUB"; ADDR $E7A7; };
|
||||
LABEL { NAME "FADD"; ADDR $E7BE; };
|
||||
LABEL { NAME "FMULT"; ADDR $E97F; };
|
||||
LABEL { NAME "FDIV"; ADDR $EA66; };
|
||||
LABEL { NAME "ROUND"; ADDR $EB2B; };
|
||||
LABEL { NAME "FLOAT"; ADDR $EB93; };
|
||||
LABEL { NAME "FIN"; ADDR $EC4A; };
|
||||
LABEL { NAME "FOUT"; ADDR $ED34; };
|
||||
|
||||
RANGE { START $0803; END $0824; TYPE ByteTable; };
|
||||
RANGE { START $08A5; END $08B3; TYPE Code; };
|
||||
RANGE { START $08C4; END $0985; TYPE ByteTable; };
|
||||
RANGE { START $0A7E; END $0A83; TYPE Code; };
|
||||
RANGE { START $0A84; END $0A91; TYPE ByteTable; };
|
||||
RANGE { START $0B38; END $0B49; TYPE Code; };
|
||||
RANGE { START $0B50; END $0B60; TYPE ByteTable; };
|
||||
RANGE { START $0BE9; END $0C0C; TYPE ByteTable; };
|
||||
RANGE { START $0CA9; END $0CEF; TYPE ByteTable; };
|
||||
RANGE { START $0E16; END $0F15; TYPE ByteTable; };
|
||||
|
||||
RANGE { START $09aa; END $09aa; TYPE ByteTable; };
|
||||
RANGE { START $09ab; END $09ac; TYPE AddrTable; };
|
||||
RANGE { START $09b8; END $09b8; TYPE ByteTable; };
|
||||
RANGE { START $09b9; END $09ba; TYPE AddrTable; };
|
||||
RANGE { START $09be; END $09be; TYPE ByteTable; };
|
||||
RANGE { START $09bf; END $09c0; TYPE AddrTable; };
|
||||
RANGE { START $09fb; END $09fb; TYPE ByteTable; };
|
||||
RANGE { START $09fc; END $09fd; TYPE AddrTable; };
|
||||
RANGE { START $0a09; END $0a09; TYPE ByteTable; };
|
||||
RANGE { START $0a0a; END $0a0b; TYPE AddrTable; };
|
||||
RANGE { START $0a12; END $0a12; TYPE ByteTable; };
|
||||
RANGE { START $0a13; END $0a14; TYPE AddrTable; };
|
||||
RANGE { START $0a20; END $0a20; TYPE ByteTable; };
|
||||
RANGE { START $0a21; END $0a22; TYPE AddrTable; };
|
||||
RANGE { START $0a48; END $0a48; TYPE ByteTable; };
|
||||
RANGE { START $0a49; END $0a4a; TYPE AddrTable; };
|
||||
RANGE { START $0a4e; END $0a4e; TYPE ByteTable; };
|
||||
RANGE { START $0a4f; END $0a50; TYPE AddrTable; };
|
||||
RANGE { START $0a54; END $0a54; TYPE ByteTable; };
|
||||
RANGE { START $0a55; END $0a56; TYPE AddrTable; };
|
||||
RANGE { START $0a95; END $0a95; TYPE ByteTable; };
|
||||
RANGE { START $0a96; END $0a97; TYPE AddrTable; };
|
||||
RANGE { START $0abe; END $0abe; TYPE ByteTable; };
|
||||
RANGE { START $0abf; END $0ac0; TYPE AddrTable; };
|
||||
RANGE { START $0ace; END $0ace; TYPE ByteTable; };
|
||||
RANGE { START $0acf; END $0ad0; TYPE AddrTable; };
|
||||
RANGE { START $0adc; END $0adc; TYPE ByteTable; };
|
||||
RANGE { START $0add; END $0ade; TYPE AddrTable; };
|
||||
RANGE { START $0af2; END $0af2; TYPE ByteTable; };
|
||||
RANGE { START $0af3; END $0af4; TYPE AddrTable; };
|
||||
RANGE { START $0b0c; END $0b0c; TYPE ByteTable; };
|
||||
RANGE { START $0b0d; END $0b0e; TYPE AddrTable; };
|
||||
RANGE { START $0b13; END $0b13; TYPE ByteTable; };
|
||||
RANGE { START $0b14; END $0b15; TYPE AddrTable; };
|
||||
RANGE { START $0b4a; END $0b4a; TYPE ByteTable; };
|
||||
RANGE { START $0b4b; END $0b4c; TYPE AddrTable; };
|
||||
RANGE { START $0c1e; END $0c1e; TYPE ByteTable; };
|
||||
RANGE { START $0c1f; END $0c20; TYPE AddrTable; };
|
||||
RANGE { START $0c24; END $0c24; TYPE ByteTable; };
|
||||
RANGE { START $0c25; END $0c26; TYPE AddrTable; };
|
||||
RANGE { START $0c6f; END $0c6f; TYPE ByteTable; };
|
||||
RANGE { START $0c70; END $0c71; TYPE AddrTable; };
|
||||
RANGE { START $0c75; END $0c75; TYPE ByteTable; };
|
||||
RANGE { START $0c76; END $0c77; TYPE AddrTable; };
|
||||
RANGE { START $0c89; END $0c89; TYPE ByteTable; };
|
||||
RANGE { START $0c8a; END $0c8b; TYPE AddrTable; };
|
||||
RANGE { START $0cf3; END $0cf3; TYPE ByteTable; };
|
||||
RANGE { START $0cf4; END $0cf5; TYPE AddrTable; };
|
||||
RANGE { START $0cf9; END $0cf9; TYPE ByteTable; };
|
||||
RANGE { START $0cfa; END $0cfb; TYPE AddrTable; };
|
||||
RANGE { START $0cff; END $0cff; TYPE ByteTable; };
|
||||
RANGE { START $0d00; END $0d01; TYPE AddrTable; };
|
||||
RANGE { START $0d05; END $0d05; TYPE ByteTable; };
|
||||
RANGE { START $0d06; END $0d07; TYPE AddrTable; };
|
||||
RANGE { START $0d0b; END $0d0b; TYPE ByteTable; };
|
||||
RANGE { START $0d0c; END $0d0d; TYPE AddrTable; };
|
||||
RANGE { START $0d11; END $0d11; TYPE ByteTable; };
|
||||
RANGE { START $0d12; END $0d13; TYPE AddrTable; };
|
||||
RANGE { START $0d17; END $0d17; TYPE ByteTable; };
|
||||
RANGE { START $0d18; END $0d19; TYPE AddrTable; };
|
||||
RANGE { START $0d1d; END $0d1d; TYPE ByteTable; };
|
||||
RANGE { START $0d1e; END $0d1f; TYPE AddrTable; };
|
||||
RANGE { START $0d23; END $0d23; TYPE ByteTable; };
|
||||
RANGE { START $0d24; END $0d25; TYPE AddrTable; };
|
||||
RANGE { START $0d29; END $0d29; TYPE ByteTable; };
|
||||
RANGE { START $0d2a; END $0d2b; TYPE AddrTable; };
|
||||
RANGE { START $0d2f; END $0d2f; TYPE ByteTable; };
|
||||
RANGE { START $0d30; END $0d31; TYPE AddrTable; };
|
||||
RANGE { START $0d35; END $0d35; TYPE ByteTable; };
|
||||
RANGE { START $0d36; END $0d37; TYPE AddrTable; };
|
||||
RANGE { START $0d3b; END $0d3b; TYPE ByteTable; };
|
||||
RANGE { START $0d3c; END $0d3d; TYPE AddrTable; };
|
||||
RANGE { START $0d41; END $0d41; TYPE ByteTable; };
|
||||
RANGE { START $0d42; END $0d43; TYPE AddrTable; };
|
||||
RANGE { START $0d47; END $0d47; TYPE ByteTable; };
|
||||
RANGE { START $0d48; END $0d49; TYPE AddrTable; };
|
||||
RANGE { START $0d4d; END $0d4d; TYPE ByteTable; };
|
||||
RANGE { START $0d4e; END $0d4f; TYPE AddrTable; };
|
||||
RANGE { START $0d65; END $0d65; TYPE ByteTable; };
|
||||
RANGE { START $0d66; END $0d67; TYPE AddrTable; };
|
||||
RANGE { START $0d6b; END $0d6b; TYPE ByteTable; };
|
||||
RANGE { START $0d6c; END $0d6d; TYPE AddrTable; };
|
||||
RANGE { START $0d84; END $0d84; TYPE ByteTable; };
|
||||
RANGE { START $0d85; END $0d86; TYPE AddrTable; };
|
||||
RANGE { START $0d8a; END $0d8a; TYPE ByteTable; };
|
||||
RANGE { START $0d8b; END $0d8c; TYPE AddrTable; };
|
||||
RANGE { START $0d91; END $0d91; TYPE ByteTable; };
|
||||
RANGE { START $0d92; END $0d93; TYPE AddrTable; };
|
||||
RANGE { START $0d97; END $0d97; TYPE ByteTable; };
|
||||
RANGE { START $0d98; END $0d99; TYPE AddrTable; };
|
||||
RANGE { START $0d9d; END $0d9d; TYPE ByteTable; };
|
||||
RANGE { START $0d9e; END $0d9f; TYPE AddrTable; };
|
||||
RANGE { START $0da3; END $0da3; TYPE ByteTable; };
|
||||
RANGE { START $0da4; END $0da5; TYPE AddrTable; };
|
||||
RANGE { START $0daa; END $0daa; TYPE ByteTable; };
|
||||
RANGE { START $0dab; END $0dac; TYPE AddrTable; };
|
||||
RANGE { START $0db0; END $0db0; TYPE ByteTable; };
|
||||
RANGE { START $0db1; END $0db2; TYPE AddrTable; };
|
||||
RANGE { START $0de0; END $0de0; TYPE ByteTable; };
|
||||
RANGE { START $0de1; END $0de2; TYPE AddrTable; };
|
||||
RANGE { START $0de7; END $0de7; TYPE ByteTable; };
|
||||
RANGE { START $0de8; END $0de9; TYPE AddrTable; };
|
||||
RANGE { START $0dee; END $0dee; TYPE ByteTable; };
|
||||
RANGE { START $0def; END $0df0; TYPE AddrTable; };
|
83
desk.acc/infos/puzzle.info
Normal file
83
desk.acc/infos/puzzle.info
Normal file
@ -0,0 +1,83 @@
|
||||
GLOBAL {
|
||||
STARTADDR $0800;
|
||||
PAGELENGTH 0; # No paging
|
||||
CPU "65C02";
|
||||
};
|
||||
|
||||
LABEL { NAME "RAMRDOFF"; ADDR $C002; };
|
||||
LABEL { NAME "RAMRDON"; ADDR $C003; };
|
||||
LABEL { NAME "RAMWRTOFF"; ADDR $C004; };
|
||||
LABEL { NAME "RAMWRTON"; ADDR $C005; };
|
||||
LABEL { NAME "ALTZPOFF"; ADDR $C008; };
|
||||
LABEL { NAME "ALTZPON"; ADDR $C009; };
|
||||
LABEL { NAME "LCBANK1"; ADDR $C08B; };
|
||||
LABEL { NAME "AUXMOVE"; ADDR $C311; };
|
||||
LABEL { NAME "XFER"; ADDR $C314; };
|
||||
|
||||
LABEL { NAME "A2D"; ADDR $4000; };
|
||||
LABEL { NAME "UNKNOWN_CALL"; ADDR $8E00; };
|
||||
LABEL { NAME "MLI"; ADDR $BF00; };
|
||||
|
||||
LABEL { NAME "FSUB"; ADDR $E7A7; };
|
||||
LABEL { NAME "FADD"; ADDR $E7BE; };
|
||||
LABEL { NAME "FMULT"; ADDR $E97F; };
|
||||
LABEL { NAME "FDIV"; ADDR $EA66; };
|
||||
LABEL { NAME "ROUND"; ADDR $EB2B; };
|
||||
LABEL { NAME "FLOAT"; ADDR $EB93; };
|
||||
LABEL { NAME "FIN"; ADDR $EC4A; };
|
||||
LABEL { NAME "FOUT"; ADDR $ED34; };
|
||||
|
||||
RANGE { START $0803; END $0827; TYPE ByteTable; };
|
||||
RANGE { START $08DB; END $0E52; TYPE ByteTable; };
|
||||
RANGE { START $10BB; END $11BA; TYPE ByteTable; };
|
||||
|
||||
RANGE { START $089a; END $089a; TYPE ByteTable; };
|
||||
RANGE { START $089b; END $089c; TYPE AddrTable; };
|
||||
RANGE { START $08c7; END $08c7; TYPE ByteTable; };
|
||||
RANGE { START $08c8; END $08c9; TYPE AddrTable; };
|
||||
RANGE { START $08cd; END $08cd; TYPE ByteTable; };
|
||||
RANGE { START $08ce; END $08cf; TYPE AddrTable; };
|
||||
RANGE { START $0e59; END $0e59; TYPE ByteTable; };
|
||||
RANGE { START $0e5a; END $0e5b; TYPE AddrTable; };
|
||||
RANGE { START $0e6d; END $0e6d; TYPE ByteTable; };
|
||||
RANGE { START $0e6e; END $0e6f; TYPE AddrTable; };
|
||||
RANGE { START $0e9b; END $0e9b; TYPE ByteTable; };
|
||||
RANGE { START $0e9c; END $0e9d; TYPE AddrTable; };
|
||||
RANGE { START $0eb1; END $0eb1; TYPE ByteTable; };
|
||||
RANGE { START $0eb2; END $0eb3; TYPE AddrTable; };
|
||||
RANGE { START $0ece; END $0ece; TYPE ByteTable; };
|
||||
RANGE { START $0ecf; END $0ed0; TYPE AddrTable; };
|
||||
RANGE { START $0ef1; END $0ef1; TYPE ByteTable; };
|
||||
RANGE { START $0ef2; END $0ef3; TYPE AddrTable; };
|
||||
RANGE { START $0efc; END $0efc; TYPE ByteTable; };
|
||||
RANGE { START $0efd; END $0efe; TYPE AddrTable; };
|
||||
RANGE { START $0f02; END $0f02; TYPE ByteTable; };
|
||||
RANGE { START $0f03; END $0f04; TYPE AddrTable; };
|
||||
RANGE { START $0f27; END $0f27; TYPE ByteTable; };
|
||||
RANGE { START $0f28; END $0f29; TYPE AddrTable; };
|
||||
RANGE { START $0f45; END $0f45; TYPE ByteTable; };
|
||||
RANGE { START $0f46; END $0f47; TYPE AddrTable; };
|
||||
RANGE { START $1075; END $1075; TYPE ByteTable; };
|
||||
RANGE { START $1076; END $1077; TYPE AddrTable; };
|
||||
RANGE { START $107b; END $107b; TYPE ByteTable; };
|
||||
RANGE { START $107c; END $107d; TYPE AddrTable; };
|
||||
RANGE { START $1081; END $1081; TYPE ByteTable; };
|
||||
RANGE { START $1082; END $1083; TYPE AddrTable; };
|
||||
RANGE { START $1087; END $1087; TYPE ByteTable; };
|
||||
RANGE { START $1088; END $1089; TYPE AddrTable; };
|
||||
RANGE { START $108d; END $108d; TYPE ByteTable; };
|
||||
RANGE { START $108e; END $108f; TYPE AddrTable; };
|
||||
RANGE { START $109b; END $109b; TYPE ByteTable; };
|
||||
RANGE { START $109c; END $109d; TYPE AddrTable; };
|
||||
RANGE { START $10a1; END $10a1; TYPE ByteTable; };
|
||||
RANGE { START $10a2; END $10a3; TYPE AddrTable; };
|
||||
RANGE { START $11eb; END $11eb; TYPE ByteTable; };
|
||||
RANGE { START $11ec; END $11ed; TYPE AddrTable; };
|
||||
RANGE { START $11f6; END $11f6; TYPE ByteTable; };
|
||||
RANGE { START $11f7; END $11f8; TYPE AddrTable; };
|
||||
RANGE { START $11fc; END $11fc; TYPE ByteTable; };
|
||||
RANGE { START $11fd; END $11fe; TYPE AddrTable; };
|
||||
RANGE { START $1232; END $1232; TYPE ByteTable; };
|
||||
RANGE { START $1233; END $1234; TYPE AddrTable; };
|
||||
RANGE { START $1243; END $1243; TYPE ByteTable; };
|
||||
RANGE { START $1244; END $1245; TYPE AddrTable; };
|
BIN
desk.acc/orig/date.bin
Normal file
BIN
desk.acc/orig/date.bin
Normal file
Binary file not shown.
BIN
desk.acc/orig/puzzle.bin
Normal file
BIN
desk.acc/orig/puzzle.bin
Normal file
Binary file not shown.
848
desk.acc/puzzle.s
Normal file
848
desk.acc/puzzle.s
Normal file
@ -0,0 +1,848 @@
|
||||
.org $800
|
||||
; da65 V2.16 - Git f5e9b401
|
||||
; Created: 2017-09-10 19:55:15
|
||||
; Input file: puzzle.bin
|
||||
; Page: 1
|
||||
|
||||
|
||||
.setcpu "65C02"
|
||||
|
||||
L0000 := $0000
|
||||
L0020 := $0020
|
||||
A2D := $4000
|
||||
L4015 := $4015
|
||||
UNKNOWN_CALL := $8E00
|
||||
MLI := $BF00
|
||||
RAMRDOFF := $C002
|
||||
RAMRDON := $C003
|
||||
RAMWRTOFF := $C004
|
||||
RAMWRTON := $C005
|
||||
ALTZPOFF := $C008
|
||||
ALTZPON := $C009
|
||||
LCBANK1 := $C08B
|
||||
AUXMOVE := $C311
|
||||
XFER := $C314
|
||||
FSUB := $E7A7
|
||||
FADD := $E7BE
|
||||
FMULT := $E97F
|
||||
FDIV := $EA66
|
||||
ROUND := $EB2B
|
||||
FLOAT := $EB93
|
||||
FIN := $EC4A
|
||||
FOUT := $ED34
|
||||
jmp L0828
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00
|
||||
L0827: .byte $00
|
||||
L0828: tsx
|
||||
stx L0827
|
||||
sta ALTZPOFF
|
||||
lda $C082
|
||||
lda #$70
|
||||
sta $3C
|
||||
lda #$08
|
||||
sta $3D
|
||||
lda #$F6
|
||||
sta $3E
|
||||
lda #$12
|
||||
sta $3F
|
||||
lda #$70
|
||||
sta $42
|
||||
lda #$08
|
||||
sta $43
|
||||
sec
|
||||
jsr AUXMOVE
|
||||
lda #$70
|
||||
sta $03ED
|
||||
lda #$08
|
||||
sta $03EE
|
||||
php
|
||||
pla
|
||||
ora #$40
|
||||
pha
|
||||
plp
|
||||
sec
|
||||
jmp XFER
|
||||
|
||||
L0862: sta ALTZPON
|
||||
lda LCBANK1
|
||||
lda LCBANK1
|
||||
ldx L0827
|
||||
txs
|
||||
rts
|
||||
|
||||
sta ALTZPON
|
||||
lda LCBANK1
|
||||
lda LCBANK1
|
||||
lda #$00
|
||||
sta $08
|
||||
jmp L0E53
|
||||
|
||||
L0880: ldx #$10
|
||||
L0882: lda L08A3,x
|
||||
sta L0020,x
|
||||
dex
|
||||
bpl L0882
|
||||
jsr L0020
|
||||
lda #$33
|
||||
jsr L08B4
|
||||
bit L08B3
|
||||
bmi L089D
|
||||
jsr UNKNOWN_CALL
|
||||
.byte $0C
|
||||
.addr L0000
|
||||
L089D: lda #$00
|
||||
sta L08B3
|
||||
rts
|
||||
|
||||
L08A3: sta RAMRDOFF
|
||||
sta RAMWRTOFF
|
||||
jsr L4015
|
||||
sta RAMRDON
|
||||
sta RAMWRTON
|
||||
rts
|
||||
|
||||
L08B3: brk
|
||||
L08B4: sta L08E7
|
||||
lda L0E02
|
||||
cmp #$BF
|
||||
bcc L08C4
|
||||
lda #$80
|
||||
sta L08B3
|
||||
rts
|
||||
|
||||
L08C4: jsr A2D
|
||||
.byte $3C
|
||||
.addr L08E7
|
||||
jsr A2D
|
||||
.byte $04
|
||||
.addr L0DB3
|
||||
lda L08E7
|
||||
cmp #$33
|
||||
bne L08DA
|
||||
jmp L1072
|
||||
|
||||
L08DA: rts
|
||||
|
||||
L08DB: .byte $00
|
||||
L08DC: .byte $00
|
||||
L08DD: .byte $00,$00,$00
|
||||
L08E0: .byte $00
|
||||
L08E1: .byte $00
|
||||
L08E2: .byte $00
|
||||
L08E3: .byte $00,$00,$00
|
||||
L08E6: .byte $00
|
||||
L08E7: .byte $00,$B3,$0D
|
||||
L08EA: .byte $05
|
||||
L08EB: .byte $00
|
||||
L08EC: .byte $03
|
||||
L08ED: .byte $00,$21,$00,$03,$00,$3D,$00,$03
|
||||
.byte $00,$59,$00,$03,$00,$05,$00,$13
|
||||
.byte $00,$21,$00,$13,$00,$3D,$00,$13
|
||||
.byte $00,$59,$00,$13,$00,$05,$00,$23
|
||||
.byte $00,$21,$00,$23,$00,$3D,$00,$23
|
||||
.byte $00,$59,$00,$23,$00,$05,$00,$33
|
||||
.byte $00,$21,$00,$33,$00,$3D,$00,$33
|
||||
.byte $00,$59,$00,$33,$00
|
||||
L092A: .byte $6A
|
||||
L092B: .byte $09,$AA,$09,$EA,$09,$2A,$0A,$6A
|
||||
.byte $0A,$AA,$0A,$EA,$0A,$2A,$0B,$6A
|
||||
.byte $0B,$AA,$0B,$EA,$0B,$2A,$0C,$6A
|
||||
.byte $0C,$AA,$0C
|
||||
L0946: .byte $EA,$0C,$2A
|
||||
L0949: .byte $0D
|
||||
L094A: .byte $00
|
||||
L094B: .byte $00,$00,$00
|
||||
L094E: .byte $00
|
||||
L094F: .byte $00
|
||||
L0950: .byte $00
|
||||
L0951: .byte $00
|
||||
L0952: .byte $00
|
||||
L0953: .byte $00
|
||||
L0954: .byte $00
|
||||
L0955: .byte $00
|
||||
L0956: .byte $00,$00,$00
|
||||
L0959: .byte $00
|
||||
L095A: .byte $00
|
||||
L095B: .byte $00
|
||||
L095C: .byte $00
|
||||
L095D: .byte $00
|
||||
L095E: .byte $00
|
||||
L095F: .byte $00,$04,$00,$00,$00,$00,$00,$1B
|
||||
.byte $00,$0F,$00,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$00
|
||||
.byte $00,$00,$00,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $00,$7C,$3F,$0E,$55,$42,$3F,$00
|
||||
.byte $00,$00,$00,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$47,$3F,$7E
|
||||
.byte $7F,$54,$3E,$7E,$5F,$2A,$3D,$7E
|
||||
.byte $27,$55,$3E,$7E,$53,$2A,$3E,$7E
|
||||
.byte $28,$15,$3F,$3E,$55,$4A,$3F,$5E
|
||||
.byte $2A,$71,$3F,$2E,$55,$7C,$3F,$56
|
||||
.byte $0A,$7E,$3F,$26,$65,$7F,$3F,$56
|
||||
.byte $78,$1F,$00,$06,$7F,$21,$15,$00
|
||||
.byte $00,$00,$00,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$70
|
||||
.byte $7F,$7F,$3F,$0A,$7E,$7F,$3F,$00
|
||||
.byte $00,$00,$00,$7E,$7F,$7F,$1F,$7E
|
||||
.byte $7F,$7F,$1F,$7E,$7F,$7F,$17,$7E
|
||||
.byte $7F,$7F,$2B,$7E,$7F,$7F,$3D,$7E
|
||||
.byte $7F,$7F,$3E,$7E,$7F,$3F,$3F,$7E
|
||||
.byte $7F,$5F,$3F,$7E,$7F,$5F,$3F,$7E
|
||||
.byte $7F,$6F,$3F,$7E,$7F,$77,$3F,$7E
|
||||
.byte $7F,$77,$3F,$7E,$7F,$37,$1B,$7E
|
||||
.byte $7F,$5B,$2D,$7E,$7F,$6B,$36,$00
|
||||
.byte $00,$00,$00,$2A,$55,$2A,$15,$54
|
||||
.byte $2A,$55,$2A,$2A,$55,$2A,$15,$54
|
||||
.byte $2A,$55,$2A,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$6C,$36,$5B,$2D,$36
|
||||
.byte $5B,$6D,$36,$5A,$6D,$36,$1B,$00
|
||||
.byte $00,$00,$00,$2A,$55,$2A,$15,$54
|
||||
.byte $2A,$55,$2A,$2A,$55,$2A,$15,$54
|
||||
.byte $2A,$55,$2A,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$36,$5B,$6D,$36,$5A
|
||||
.byte $6D,$36,$1B,$6C,$36,$5B,$2D,$00
|
||||
.byte $00,$00,$00,$2A,$45,$7F,$3F,$54
|
||||
.byte $2A,$7E,$3F,$2A,$55,$78,$3F,$54
|
||||
.byte $2A,$71,$3F,$7E,$7F,$7C,$3F,$7E
|
||||
.byte $3F,$7F,$3F,$7E,$5F,$7F,$3F,$7E
|
||||
.byte $6F,$7F,$3F,$7E,$77,$7F,$3F,$7E
|
||||
.byte $77,$7F,$3F,$7E,$7B,$7F,$3F,$7E
|
||||
.byte $7B,$7F,$3F,$5A,$79,$7F,$3F,$6C
|
||||
.byte $7C,$7F,$3F,$36,$7D,$7F,$3F,$00
|
||||
.byte $00,$00,$00,$7E,$7F,$67,$36,$7E
|
||||
.byte $7F,$37,$1B,$7E,$7F,$57,$2D,$7E
|
||||
.byte $7F,$67,$36,$7E,$7F,$2F,$15,$7E
|
||||
.byte $7F,$2F,$15,$7E,$7F,$1F,$15,$7E
|
||||
.byte $7F,$3F,$15,$7E,$7F,$3F,$15,$7E
|
||||
.byte $7F,$3F,$15,$7E,$7F,$7F,$14,$7E
|
||||
.byte $7F,$7F,$19,$7E,$7F,$7F,$33,$7E
|
||||
.byte $7F,$7F,$17,$7E,$7F,$7F,$2F,$00
|
||||
.byte $00,$00,$00,$5A,$6D,$36,$1B,$6C
|
||||
.byte $36,$5B,$2D,$36,$5B,$6D,$36,$5A
|
||||
.byte $6D,$36,$1B,$2A,$55,$2A,$15,$2A
|
||||
.byte $55,$2A,$15,$2A,$55,$2A,$15,$2A
|
||||
.byte $55,$2A,$15,$2A,$55,$2A,$15,$2A
|
||||
.byte $55,$2A,$15,$2A,$55,$2A,$15,$32
|
||||
.byte $66,$4C,$19,$66,$4C,$19,$33,$32
|
||||
.byte $66,$4C,$19,$66,$4C,$19,$33,$00
|
||||
.byte $00,$00,$00,$6C,$36,$5B,$2D,$36
|
||||
.byte $5B,$6D,$36,$5A,$6D,$36,$1B,$6C
|
||||
.byte $36,$5B,$2D,$2A,$55,$2A,$15,$2A
|
||||
.byte $55,$2A,$15,$2A,$55,$2A,$15,$2A
|
||||
.byte $55,$2A,$15,$2A,$55,$2A,$15,$2A
|
||||
.byte $55,$2A,$15,$2A,$55,$2A,$15,$32
|
||||
.byte $66,$4C,$19,$66,$4C,$19,$33,$32
|
||||
.byte $66,$4C,$19,$66,$4C,$19,$33,$00
|
||||
.byte $00,$00,$00,$36,$7D,$7F,$3F,$5A
|
||||
.byte $7D,$7F,$3F,$6C,$7A,$7F,$3F,$36
|
||||
.byte $7B,$7F,$3F,$2A,$75,$7F,$3F,$2A
|
||||
.byte $65,$7F,$3F,$2A,$65,$7F,$3F,$2A
|
||||
.byte $55,$7F,$3F,$2A,$15,$7F,$3F,$2A
|
||||
.byte $55,$7C,$3F,$2A,$55,$72,$3F,$32
|
||||
.byte $66,$74,$3F,$66,$4C,$79,$3F,$32
|
||||
.byte $66,$78,$3F,$66,$4C,$7D,$3F,$00
|
||||
.byte $00,$00,$00,$7E,$7F,$7F,$3F,$6E
|
||||
.byte $5D,$3B,$37,$7E,$7F,$7F,$3F,$3A
|
||||
.byte $77,$6E,$1D,$7E,$7F,$7F,$3F,$6E
|
||||
.byte $5D,$3B,$37,$7E,$7F,$7F,$3F,$3A
|
||||
.byte $77,$6E,$1D,$7E,$7F,$7F,$3F,$6E
|
||||
.byte $5D,$3B,$37,$7E,$7F,$7F,$3F,$3A
|
||||
.byte $77,$6E,$1D,$7E,$7F,$7F,$3F,$6E
|
||||
.byte $5D,$3B,$37,$7E,$7F,$7F,$3F,$00
|
||||
.byte $00,$00,$00,$18,$33,$66,$0C,$32
|
||||
.byte $66,$4C,$19,$66,$4C,$19,$33,$6C
|
||||
.byte $36,$5B,$2D,$52,$6D,$36,$1B,$26
|
||||
.byte $5B,$6D,$36,$4E,$36,$5B,$2D,$3E
|
||||
.byte $6E,$36,$1B,$7E,$51,$0D,$00,$7E
|
||||
.byte $0F,$40,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$00
|
||||
.byte $00,$00,$00,$18,$33,$66,$0C,$32
|
||||
.byte $66,$4C,$19,$66,$4C,$19,$33,$36
|
||||
.byte $5B,$6D,$36,$6C,$36,$5B,$2D,$5A
|
||||
.byte $6D,$36,$1B,$36,$5B,$6D,$36,$6C
|
||||
.byte $36,$5B,$2D,$00,$00,$30,$1B,$7E
|
||||
.byte $7F,$03,$20,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$00
|
||||
.byte $00,$00,$00,$18,$33,$7C,$3F,$32
|
||||
.byte $66,$7E,$3F,$66,$0C,$7F,$3F,$5A
|
||||
.byte $4D,$7F,$3F,$36,$73,$7F,$3F,$6C
|
||||
.byte $7C,$7F,$3F,$3A,$7E,$7F,$3F,$72
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$7E
|
||||
.byte $7F,$7F,$3F,$7E,$7F,$7F,$3F,$00
|
||||
.byte $00,$00,$00
|
||||
L0D6A: .byte $01,$00,$00,$00,$79,$00,$44,$00
|
||||
L0D72: .byte $77,$DD,$77,$DD,$77,$DD,$77,$DD
|
||||
.byte $00
|
||||
L0D7B: .byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
||||
.byte $FF,$00
|
||||
L0D8D: .byte $05,$00,$02,$00
|
||||
L0D91: .byte $70,$00,$00,$00
|
||||
L0D95: .byte $00
|
||||
L0D96: .byte $00
|
||||
L0D97: .byte $00
|
||||
L0D98: .byte $00
|
||||
L0D99: .byte $00
|
||||
L0D9A: .byte $00
|
||||
L0D9B: .byte $00
|
||||
L0D9C: .byte $33,$73,$00,$F7,$FF,$AD,$0D,$01
|
||||
.byte $00,$00,$00,$00,$00,$06,$00,$05
|
||||
.byte $00,$41,$35,$47,$37,$36,$49
|
||||
L0DB3: .byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$0D
|
||||
.byte $00,$00,$20,$80,$00,$00,$00,$00
|
||||
.byte $00,$2F,$02,$B1,$00,$00,$01,$02
|
||||
.byte $06
|
||||
L0DEC: .byte $33,$02,$4C,$0E,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$79,$00,$44,$00
|
||||
.byte $79,$00,$44,$00,$DC,$00
|
||||
L0E02: .byte $50,$00,$00,$20,$80,$00,$00,$00
|
||||
.byte $00,$00,$79,$00,$44,$00,$FF,$FF
|
||||
.byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$00
|
||||
.byte $00,$00,$00,$00,$01,$01,$00,$7F
|
||||
.byte $00,$88,$00,$00,$DC,$00,$50,$00
|
||||
.byte $00,$20,$80,$00,$00,$00,$00,$00
|
||||
.byte $79,$00,$44,$00,$FF,$FF,$FF,$FF
|
||||
.byte $FF,$FF,$FF,$FF,$FF,$00,$00,$00
|
||||
.byte $00,$00,$01,$01,$00,$7F,$00,$88
|
||||
.byte $00,$00,$06,$50,$75,$7A,$7A,$6C
|
||||
.byte $65
|
||||
L0E53: jsr L10A5
|
||||
jsr A2D
|
||||
.byte $38
|
||||
.addr L0DEC
|
||||
ldy #$0F
|
||||
L0E5E: tya
|
||||
sta L094A,y
|
||||
dey
|
||||
bpl L0E5E
|
||||
lda #$33
|
||||
jsr L08B4
|
||||
jsr A2D
|
||||
.byte $2B
|
||||
.addr L0000
|
||||
L0E70: ldy #$03
|
||||
L0E72: tya
|
||||
pha
|
||||
ldx L094A
|
||||
ldy #$00
|
||||
L0E79: lda L094B,y
|
||||
sta L094A,y
|
||||
iny
|
||||
cpy #$0F
|
||||
bcc L0E79
|
||||
stx L0959
|
||||
pla
|
||||
tay
|
||||
dey
|
||||
bne L0E72
|
||||
ldx L094A
|
||||
lda L094B
|
||||
sta L094A
|
||||
stx L094B
|
||||
jsr A2D
|
||||
.byte $2A
|
||||
.addr L08DB
|
||||
lda L08DB
|
||||
beq L0E70
|
||||
jsr L1262
|
||||
bcs L0E70
|
||||
jsr L11BB
|
||||
jsr L12D2
|
||||
L0EAE: jsr A2D
|
||||
.byte $2A
|
||||
.addr L08DB
|
||||
lda L08DB
|
||||
cmp #$01
|
||||
bne L0EC1
|
||||
jsr L0ECB
|
||||
jmp L0EAE
|
||||
|
||||
L0EC1: cmp #$03
|
||||
bne L0EAE
|
||||
jsr L0F30
|
||||
jmp L0EAE
|
||||
|
||||
L0ECB: jsr A2D
|
||||
.byte $40
|
||||
.addr L08DC
|
||||
lda L08E1
|
||||
cmp #$33
|
||||
bne L0EDD
|
||||
lda L08E0
|
||||
bne L0EDE
|
||||
L0EDD: rts
|
||||
|
||||
L0EDE: cmp #$02
|
||||
bne L0EEA
|
||||
jsr L0F3D
|
||||
bcc L0EDD
|
||||
jmp L0FBC
|
||||
|
||||
L0EEA: cmp #$05
|
||||
bne L0F1B
|
||||
jsr A2D
|
||||
.byte $43
|
||||
.addr L08E6
|
||||
lda L08E6
|
||||
beq L0EDD
|
||||
L0EF9: jsr A2D
|
||||
.byte $39
|
||||
.addr L0D9C
|
||||
jsr UNKNOWN_CALL
|
||||
.byte $0C
|
||||
.addr L0000
|
||||
ldx #$09
|
||||
L0F07: lda L0F12,x
|
||||
sta L0020,x
|
||||
dex
|
||||
bpl L0F07
|
||||
jmp L0020
|
||||
|
||||
L0F12: sta RAMRDOFF
|
||||
sta RAMWRTOFF
|
||||
jmp L0862
|
||||
|
||||
L0F1B: cmp #$03
|
||||
bne L0EDD
|
||||
lda #$33
|
||||
sta L08DB
|
||||
jsr A2D
|
||||
.byte $44
|
||||
.addr L08DB
|
||||
ldx #$23
|
||||
jsr L0880
|
||||
rts
|
||||
|
||||
L0F30: lda L08DD
|
||||
bne L0F3C
|
||||
lda L08DC
|
||||
cmp #$1B
|
||||
beq L0EF9
|
||||
L0F3C: rts
|
||||
|
||||
L0F3D: lda #$33
|
||||
sta L08DB
|
||||
jsr A2D
|
||||
.byte $46
|
||||
.addr L08DB
|
||||
lda L08E1
|
||||
ora L08E3
|
||||
bne L0F91
|
||||
lda L08E2
|
||||
ldx L08E0
|
||||
cmp #$03
|
||||
bcc L0F91
|
||||
cmp #$14
|
||||
bcs L0F67
|
||||
jsr L0F93
|
||||
bcc L0F91
|
||||
lda #$00
|
||||
beq L0F8C
|
||||
L0F67: cmp #$24
|
||||
bcs L0F74
|
||||
jsr L0F93
|
||||
bcc L0F91
|
||||
lda #$01
|
||||
bne L0F8C
|
||||
L0F74: cmp #$34
|
||||
bcs L0F81
|
||||
jsr L0F93
|
||||
bcc L0F91
|
||||
lda #$02
|
||||
bne L0F8C
|
||||
L0F81: cmp #$44
|
||||
bcs L0F91
|
||||
jsr L0F93
|
||||
bcc L0F91
|
||||
lda #$03
|
||||
L0F8C: sta L0D98
|
||||
sec
|
||||
rts
|
||||
|
||||
L0F91: clc
|
||||
rts
|
||||
|
||||
L0F93: cpx #$05
|
||||
bcc L0FBA
|
||||
cpx #$21
|
||||
bcs L0F9F
|
||||
lda #$00
|
||||
beq L0FB5
|
||||
L0F9F: cpx #$3E
|
||||
bcs L0FA7
|
||||
lda #$01
|
||||
bne L0FB5
|
||||
L0FA7: cpx #$5A
|
||||
bcs L0FAF
|
||||
lda #$02
|
||||
bne L0FB5
|
||||
L0FAF: cpx #$75
|
||||
bcs L0FBA
|
||||
lda #$03
|
||||
L0FB5: sta L0D97
|
||||
sec
|
||||
rts
|
||||
|
||||
L0FBA: clc
|
||||
rts
|
||||
|
||||
L0FBC: lda #$00
|
||||
ldy L0D96
|
||||
beq L0FC9
|
||||
L0FC3: clc
|
||||
adc #$04
|
||||
dey
|
||||
bne L0FC3
|
||||
L0FC9: sta L0D99
|
||||
clc
|
||||
adc L0D95
|
||||
tay
|
||||
lda L0D97
|
||||
cmp L0D95
|
||||
beq L1014
|
||||
lda L0D98
|
||||
cmp L0D96
|
||||
beq L0FE2
|
||||
L0FE1: rts
|
||||
|
||||
L0FE2: lda L0D97
|
||||
cmp L0D95
|
||||
beq L0FE1
|
||||
bcs L1000
|
||||
lda L0D95
|
||||
sec
|
||||
sbc L0D97
|
||||
tax
|
||||
L0FF4: lda L0949,y
|
||||
sta L094A,y
|
||||
dey
|
||||
dex
|
||||
bne L0FF4
|
||||
beq L1055
|
||||
L1000: lda L0D97
|
||||
sec
|
||||
sbc L0D95
|
||||
tax
|
||||
L1008: lda L094B,y
|
||||
sta L094A,y
|
||||
iny
|
||||
dex
|
||||
bne L1008
|
||||
beq L1055
|
||||
L1014: lda L0D98
|
||||
cmp L0D96
|
||||
beq L0FE1
|
||||
bcs L1035
|
||||
lda L0D96
|
||||
sec
|
||||
sbc L0D98
|
||||
tax
|
||||
L1026: lda L0946,y
|
||||
sta L094A,y
|
||||
dey
|
||||
dey
|
||||
dey
|
||||
dey
|
||||
dex
|
||||
bne L1026
|
||||
beq L104A
|
||||
L1035: lda L0D98
|
||||
sec
|
||||
sbc L0D96
|
||||
tax
|
||||
L103D: lda L094E,y
|
||||
sta L094A,y
|
||||
iny
|
||||
iny
|
||||
iny
|
||||
iny
|
||||
dex
|
||||
bne L103D
|
||||
L104A: lda #$0C
|
||||
sta L094A,y
|
||||
jsr L11D9
|
||||
jmp L105D
|
||||
|
||||
L1055: lda #$0C
|
||||
sta L094A,y
|
||||
jsr L11C8
|
||||
L105D: jsr L1262
|
||||
bcc L106E
|
||||
ldx #$04
|
||||
L1064: txa
|
||||
pha
|
||||
jsr L1247
|
||||
pla
|
||||
tax
|
||||
dex
|
||||
bne L1064
|
||||
L106E: jmp L12D2
|
||||
|
||||
rts
|
||||
|
||||
L1072: jsr A2D
|
||||
.byte $08
|
||||
.addr L0D72
|
||||
jsr A2D
|
||||
.byte $11
|
||||
.addr L0D6A
|
||||
jsr A2D
|
||||
.byte $08
|
||||
.addr L0D7B
|
||||
jsr A2D
|
||||
.byte $0E
|
||||
.addr L0D8D
|
||||
jsr A2D
|
||||
.byte $0F
|
||||
.addr L0D91
|
||||
jsr L11BB
|
||||
lda #$33
|
||||
sta L08E7
|
||||
jsr A2D
|
||||
.byte $3C
|
||||
.addr L08E7
|
||||
jsr A2D
|
||||
.byte $04
|
||||
.addr L0DB3
|
||||
rts
|
||||
|
||||
L10A5: ldx #$00
|
||||
L10A7: lda L0000,x
|
||||
sta L10BB,x
|
||||
dex
|
||||
bne L10A7
|
||||
rts
|
||||
|
||||
ldx #$00
|
||||
L10B2: lda L10BB,x
|
||||
sta L0000,x
|
||||
dex
|
||||
bne L10B2
|
||||
rts
|
||||
|
||||
L10BB: .byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
L11BB: ldy #$01
|
||||
sty L0D9B
|
||||
dey
|
||||
lda #$10
|
||||
sta L0D9A
|
||||
bne L11E6
|
||||
L11C8: lda #$01
|
||||
sta L0D9B
|
||||
lda L0D99
|
||||
tay
|
||||
clc
|
||||
adc #$04
|
||||
sta L0D9A
|
||||
bne L11E6
|
||||
L11D9: lda #$04
|
||||
sta L0D9B
|
||||
ldy L0D95
|
||||
lda #$10
|
||||
sta L0D9A
|
||||
L11E6: tya
|
||||
pha
|
||||
jsr A2D
|
||||
.byte $26
|
||||
.addr L0000
|
||||
lda #$33
|
||||
sta L08E7
|
||||
jsr A2D
|
||||
.byte $3C
|
||||
.addr L08E7
|
||||
jsr A2D
|
||||
.byte $04
|
||||
.addr L0DB3
|
||||
pla
|
||||
tay
|
||||
L1201: tya
|
||||
pha
|
||||
asl a
|
||||
asl a
|
||||
tax
|
||||
lda L08EA,x
|
||||
sta L095A
|
||||
lda L08EB,x
|
||||
sta L095B
|
||||
lda L08EC,x
|
||||
sta L095C
|
||||
lda L08ED,x
|
||||
sta L095D
|
||||
lda L094A,y
|
||||
asl a
|
||||
tax
|
||||
lda L092A,x
|
||||
sta L095E
|
||||
lda L092B,x
|
||||
sta L095F
|
||||
jsr A2D
|
||||
.byte $14
|
||||
.addr L095A
|
||||
pla
|
||||
clc
|
||||
adc L0D9B
|
||||
tay
|
||||
cpy L0D9A
|
||||
bcc L1201
|
||||
jsr A2D
|
||||
.byte $25
|
||||
.addr L0000
|
||||
rts
|
||||
|
||||
L1247: ldx #$80
|
||||
L1249: lda #$58
|
||||
L124B: ldy #$1B
|
||||
L124D: dey
|
||||
bne L124D
|
||||
bit $C030
|
||||
tay
|
||||
L1254: dey
|
||||
bne L1254
|
||||
sbc #$01
|
||||
beq L1249
|
||||
bit $C030
|
||||
dex
|
||||
bne L124B
|
||||
rts
|
||||
|
||||
L1262: lda L094A
|
||||
beq L126B
|
||||
cmp #$0C
|
||||
bne L12D0
|
||||
L126B: ldy #$01
|
||||
L126D: tya
|
||||
cmp L094A,y
|
||||
bne L12D0
|
||||
iny
|
||||
cpy #$05
|
||||
bcc L126D
|
||||
lda L094F
|
||||
cmp #$05
|
||||
beq L1283
|
||||
cmp #$06
|
||||
bne L12D0
|
||||
L1283: lda L0950
|
||||
cmp #$05
|
||||
beq L128E
|
||||
cmp #$06
|
||||
bne L12D0
|
||||
L128E: lda L0951
|
||||
cmp #$07
|
||||
bne L12D0
|
||||
lda L0952
|
||||
cmp #$08
|
||||
bne L12D0
|
||||
lda L0953
|
||||
cmp #$09
|
||||
beq L12A7
|
||||
cmp #$0A
|
||||
bne L12D0
|
||||
L12A7: lda L0954
|
||||
cmp #$09
|
||||
beq L12B2
|
||||
cmp #$0A
|
||||
bne L12D0
|
||||
L12B2: lda L0955
|
||||
cmp #$0B
|
||||
bne L12D0
|
||||
lda L0956
|
||||
beq L12C2
|
||||
cmp #$0C
|
||||
bne L12D0
|
||||
L12C2: ldy #$0D
|
||||
L12C4: tya
|
||||
cmp L094A,y
|
||||
bne L12D0
|
||||
iny
|
||||
cpy #$10
|
||||
bcc L12C4
|
||||
rts
|
||||
|
||||
L12D0: clc
|
||||
rts
|
||||
|
||||
L12D2: ldy #$0F
|
||||
L12D4: lda L094A,y
|
||||
cmp #$0C
|
||||
beq L12DE
|
||||
dey
|
||||
bpl L12D4
|
||||
L12DE: lda #$00
|
||||
sta L0D95
|
||||
sta L0D96
|
||||
tya
|
||||
L12E7: cmp #$04
|
||||
bcc L12F2
|
||||
sbc #$04
|
||||
inc L0D96
|
||||
bne L12E7
|
||||
L12F2: sta L0D95
|
||||
rts
|
||||
|
@ -35,12 +35,6 @@ LABEL { NAME "FOUT"; ADDR $ED34; };
|
||||
|
||||
END_HEADER
|
||||
|
||||
print <<'END_CALC';
|
||||
RANGE { START $08C5; END $0D17; TYPE ByteTable; };
|
||||
RANGE { START $0F24; END $0F37; TYPE ByteTable; };
|
||||
RANGE { START $13C9; END $13CB; TYPE Code; };
|
||||
|
||||
END_CALC
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user