mirror of
https://github.com/mi57730/a2d.git
synced 2024-06-25 21:29:30 +00:00
DAs: start disassembly work on Sort Directory
This commit is contained in:
parent
82d664d889
commit
963ead8462
|
@ -7,7 +7,8 @@ OUTDIR = out
|
||||||
|
|
||||||
HEADERS = $(wildcard ../*.inc) $(wildcard ../inc/*.inc) $(wildcard *.inc)
|
HEADERS = $(wildcard ../*.inc) $(wildcard ../inc/*.inc) $(wildcard *.inc)
|
||||||
|
|
||||||
DAS = calculator show.text.file date puzzle show.image.file this.apple eyes
|
DAS = calculator show.text.file date puzzle sort.directory \
|
||||||
|
show.image.file this.apple eyes
|
||||||
|
|
||||||
TARGETS = $(patsubst %,$(OUTDIR)/%.$$F1,$(DAS))
|
TARGETS = $(patsubst %,$(OUTDIR)/%.$$F1,$(DAS))
|
||||||
|
|
||||||
|
|
BIN
desk.acc/orig/sort.directory.bin
Normal file
BIN
desk.acc/orig/sort.directory.bin
Normal file
Binary file not shown.
|
@ -44,6 +44,7 @@ verify "calculator"
|
||||||
verify "show.text.file"
|
verify "show.text.file"
|
||||||
verify "date"
|
verify "date"
|
||||||
verify "puzzle"
|
verify "puzzle"
|
||||||
|
verify "sort.directory"
|
||||||
|
|
||||||
# Compute stats
|
# Compute stats
|
||||||
echo "Stats:"
|
echo "Stats:"
|
||||||
|
@ -51,6 +52,7 @@ stats "calculator.s"
|
||||||
stats "show.text.file.s"
|
stats "show.text.file.s"
|
||||||
stats "date.s"
|
stats "date.s"
|
||||||
stats "puzzle.s"
|
stats "puzzle.s"
|
||||||
|
stats "sort.directory.s"
|
||||||
|
|
||||||
# Mountable directory
|
# Mountable directory
|
||||||
if [ -d mount ]; then
|
if [ -d mount ]; then
|
||||||
|
|
706
desk.acc/sort.directory.s
Normal file
706
desk.acc/sort.directory.s
Normal file
|
@ -0,0 +1,706 @@
|
||||||
|
.setcpu "6502"
|
||||||
|
|
||||||
|
.include "apple2.inc"
|
||||||
|
.include "../inc/apple2.inc"
|
||||||
|
.include "../inc/prodos.inc"
|
||||||
|
|
||||||
|
.include "../mgtk.inc"
|
||||||
|
.include "../desktop.inc"
|
||||||
|
.include "../macros.inc"
|
||||||
|
|
||||||
|
.org $800
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
cli
|
||||||
|
jmp start
|
||||||
|
|
||||||
|
L0804: .byte 0
|
||||||
|
|
||||||
|
save_stack:
|
||||||
|
.byte 0
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
start: tsx
|
||||||
|
stx save_stack
|
||||||
|
jmp L0932
|
||||||
|
|
||||||
|
L080D: ldx save_stack
|
||||||
|
txs
|
||||||
|
lda a:$0A
|
||||||
|
bne L0817
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0817: lda #$40
|
||||||
|
pha
|
||||||
|
lda #$0B
|
||||||
|
pha
|
||||||
|
lda a:$0A
|
||||||
|
rts
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
;;; ProDOS Relays
|
||||||
|
|
||||||
|
.proc open
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL OPEN, open_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc read
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL READ, read_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc write_block
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL WRITE_BLOCK, block_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc read_block
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL READ_BLOCK, block_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc on_line
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL ON_LINE, on_line_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
.byte 0
|
||||||
|
|
||||||
|
;;; unused ???
|
||||||
|
.proc write
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL WRITE, write_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
;;; unused ???
|
||||||
|
.proc set_mark
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL SET_MARK, set_mark_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
;;; unused ???
|
||||||
|
.proc get_file_info
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL GET_FILE_INFO, file_info_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
;;; unused ???
|
||||||
|
.proc set_file_info
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL SET_FILE_INFO, file_info_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc close
|
||||||
|
sta ALTZPOFF
|
||||||
|
MLI_CALL CLOSE, close_params
|
||||||
|
sta ALTZPON
|
||||||
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
DEFINE_ON_LINE_PARAMS on_line_params,, on_line_buffer
|
||||||
|
on_line_buffer:
|
||||||
|
.res 16, 0
|
||||||
|
|
||||||
|
DEFINE_SET_MARK_PARAMS set_mark_params, $2B
|
||||||
|
DEFINE_READ_BLOCK_PARAMS block_params, 0, 0
|
||||||
|
|
||||||
|
.byte 0
|
||||||
|
|
||||||
|
DEFINE_OPEN_PARAMS open_params, path_buf, $1C00
|
||||||
|
DEFINE_READ_PARAMS read_params, $0E00, $0E00
|
||||||
|
DEFINE_WRITE_PARAMS write_params, $0E00, $0E00
|
||||||
|
DEFINE_CLOSE_PARAMS close_params
|
||||||
|
|
||||||
|
DEFINE_GET_FILE_INFO_PARAMS file_info_params, path_buf
|
||||||
|
.res 3 ; for SET_FILE_INFO ???
|
||||||
|
|
||||||
|
path_buf:
|
||||||
|
.res 65, 0
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
L0932: sta ALTZPON
|
||||||
|
lda LCBANK1
|
||||||
|
lda LCBANK1
|
||||||
|
yax_call JUMP_TABLE_MGTK_RELAY, MGTK::FrontWindow, $0A
|
||||||
|
lda $0A
|
||||||
|
beq L094C
|
||||||
|
cmp #$09
|
||||||
|
bcc L094F
|
||||||
|
L094C: jmp L080D
|
||||||
|
|
||||||
|
L094F: asl a
|
||||||
|
tay
|
||||||
|
lda $DFB3,y
|
||||||
|
sta $06
|
||||||
|
lda $DFB4,y
|
||||||
|
sta $07
|
||||||
|
ldy #$00
|
||||||
|
sty $10
|
||||||
|
lda ($06),y
|
||||||
|
sta L0976
|
||||||
|
sta path_buf
|
||||||
|
L0967: iny
|
||||||
|
lda ($06),y
|
||||||
|
and #$7F
|
||||||
|
cmp #$61
|
||||||
|
bcc L0972
|
||||||
|
and #$DF
|
||||||
|
L0972: sta path_buf,y
|
||||||
|
L0976 := *+1
|
||||||
|
cpy #0
|
||||||
|
bne L0967
|
||||||
|
ldy $BF31
|
||||||
|
sty L0A92
|
||||||
|
L097F: ldy L0A92
|
||||||
|
lda $BF32,y
|
||||||
|
and #$F0
|
||||||
|
sta on_line_params::unit_num
|
||||||
|
jsr on_line
|
||||||
|
bne L0994
|
||||||
|
jsr L0AB0
|
||||||
|
beq L099C
|
||||||
|
L0994: dec L0A92
|
||||||
|
bpl L097F
|
||||||
|
L0999: jmp L080D
|
||||||
|
|
||||||
|
L099C: lda on_line_params::unit_num
|
||||||
|
sta L0804
|
||||||
|
jsr open
|
||||||
|
bne L0999
|
||||||
|
lda open_params::ref_num
|
||||||
|
sta read_params::ref_num
|
||||||
|
sta close_params::ref_num
|
||||||
|
jsr read
|
||||||
|
jsr close
|
||||||
|
bne L0999
|
||||||
|
ldx #$02
|
||||||
|
L09BA: .byte $AD
|
||||||
|
.byte $02
|
||||||
|
L09BC: asl $959D
|
||||||
|
asl a
|
||||||
|
.byte $AD
|
||||||
|
.byte $03
|
||||||
|
L09C2: asl $969D
|
||||||
|
asl a
|
||||||
|
ora L0A95,x
|
||||||
|
beq L09DD
|
||||||
|
inc L09BC
|
||||||
|
inc L09BC
|
||||||
|
inc L09C2
|
||||||
|
inc L09C2
|
||||||
|
inx
|
||||||
|
inx
|
||||||
|
cpx #$0E
|
||||||
|
bne L09BA
|
||||||
|
L09DD: txa
|
||||||
|
clc
|
||||||
|
adc #$0E
|
||||||
|
sta L0A93
|
||||||
|
jsr L0B40
|
||||||
|
L09E7: jsr L0B16
|
||||||
|
bcs L0A3B
|
||||||
|
ldy #$00
|
||||||
|
lda ($06),y
|
||||||
|
and #$F0
|
||||||
|
beq L09E7
|
||||||
|
ldy #$25
|
||||||
|
lda ($06),y
|
||||||
|
sta L0A95
|
||||||
|
iny
|
||||||
|
lda ($06),y
|
||||||
|
sta L0A96
|
||||||
|
jsr L0AE8
|
||||||
|
lda L0804
|
||||||
|
sta block_params::unit_num
|
||||||
|
lda #$00
|
||||||
|
sta L0A94
|
||||||
|
L0A0F: lda L0A94
|
||||||
|
asl a
|
||||||
|
tay
|
||||||
|
lda L0A95,y
|
||||||
|
sta block_params::block_num
|
||||||
|
lda L0A96,y
|
||||||
|
sta block_params::block_num+1
|
||||||
|
ora block_params::block_num
|
||||||
|
beq L0A3E
|
||||||
|
tya
|
||||||
|
clc
|
||||||
|
adc #$0E
|
||||||
|
sta block_params::data_buffer+1
|
||||||
|
lda #$00
|
||||||
|
sta block_params::data_buffer
|
||||||
|
jsr write_block
|
||||||
|
bne L0A3B
|
||||||
|
inc L0A94
|
||||||
|
bne L0A0F
|
||||||
|
L0A3B: jmp L080D
|
||||||
|
|
||||||
|
L0A3E: copy16 #$1C00, block_params::data_buffer
|
||||||
|
jsr L0B40
|
||||||
|
L0A4B: jsr L0B16
|
||||||
|
bcs L0A8E
|
||||||
|
ldy #$00
|
||||||
|
lda ($06),y
|
||||||
|
and #$F0
|
||||||
|
beq L0A4B
|
||||||
|
cmp #$D0
|
||||||
|
bne L0A4B
|
||||||
|
ldy #$11
|
||||||
|
lda ($06),y
|
||||||
|
sta block_params::block_num
|
||||||
|
iny
|
||||||
|
lda ($06),y
|
||||||
|
sta block_params::block_num+1
|
||||||
|
jsr read_block
|
||||||
|
bne L0A8F
|
||||||
|
lda $07
|
||||||
|
sec
|
||||||
|
sbc #$0E
|
||||||
|
and #$FE
|
||||||
|
tay
|
||||||
|
lda L0A95,y
|
||||||
|
sta $1C27
|
||||||
|
lda L0A96,y
|
||||||
|
sta $1C28
|
||||||
|
lda L0AAF
|
||||||
|
sta $1C29
|
||||||
|
jsr write_block
|
||||||
|
jmp L0A4B
|
||||||
|
|
||||||
|
L0A8E: pla
|
||||||
|
L0A8F: jmp L080D
|
||||||
|
|
||||||
|
L0A92: .byte 0
|
||||||
|
L0A93: .byte 0
|
||||||
|
L0A94: .byte 0
|
||||||
|
L0A95: .byte 0
|
||||||
|
L0A96: .byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
.byte 0
|
||||||
|
L0AAF: .byte 0
|
||||||
|
|
||||||
|
L0AB0: lda on_line_buffer
|
||||||
|
and #$0F
|
||||||
|
sta on_line_buffer
|
||||||
|
ldy #$00
|
||||||
|
L0ABA: iny
|
||||||
|
lda on_line_buffer,y
|
||||||
|
and #$7F
|
||||||
|
cmp #$61
|
||||||
|
bcc L0AC6
|
||||||
|
and #$DF
|
||||||
|
L0AC6: cmp path_buf+1,y
|
||||||
|
bne L0AE5
|
||||||
|
cpy on_line_buffer
|
||||||
|
bne L0ABA
|
||||||
|
lda on_line_buffer
|
||||||
|
clc
|
||||||
|
adc #$01
|
||||||
|
cmp path_buf
|
||||||
|
beq L0AE2
|
||||||
|
lda path_buf+2,y
|
||||||
|
cmp #$2F
|
||||||
|
bne L0AE5
|
||||||
|
L0AE2: return #$00
|
||||||
|
|
||||||
|
L0AE5: return #$FF
|
||||||
|
|
||||||
|
L0AE8: lda #$00
|
||||||
|
sta L0B15
|
||||||
|
jsr L0B40
|
||||||
|
jsr L0B16
|
||||||
|
L0AF3: copy16 $06, $08
|
||||||
|
jsr L0B16
|
||||||
|
bcs L0B0F
|
||||||
|
jsr L0B5E
|
||||||
|
bcc L0AF3
|
||||||
|
jsr L0B4E
|
||||||
|
lda #$FF
|
||||||
|
sta L0B15
|
||||||
|
bne L0AF3
|
||||||
|
L0B0F: lda L0B15
|
||||||
|
bne L0AE8
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0B15: .byte 0
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
L0B16: inc L0AAF
|
||||||
|
lda $06
|
||||||
|
clc
|
||||||
|
adc #$27
|
||||||
|
sta $06
|
||||||
|
bcc L0B24
|
||||||
|
inc $07
|
||||||
|
L0B24: lda $06
|
||||||
|
cmp #$FF
|
||||||
|
bne L0B3C
|
||||||
|
inc $07
|
||||||
|
lda #$01
|
||||||
|
sta L0AAF
|
||||||
|
lda #$04
|
||||||
|
sta $06
|
||||||
|
lda $07
|
||||||
|
cmp L0A93
|
||||||
|
bcs L0B3E
|
||||||
|
L0B3C: clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0B3E: sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0B40: lda #$01
|
||||||
|
sta L0AAF
|
||||||
|
lda #$04
|
||||||
|
sta $06
|
||||||
|
lda #$0E
|
||||||
|
sta $07
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0B4E: ldy #$26
|
||||||
|
L0B50: lda ($06),y
|
||||||
|
pha
|
||||||
|
lda ($08),y
|
||||||
|
sta ($06),y
|
||||||
|
pla
|
||||||
|
sta ($08),y
|
||||||
|
dey
|
||||||
|
bpl L0B50
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0B5E: ldy #$00
|
||||||
|
lda ($06),y
|
||||||
|
and #$F0
|
||||||
|
bne L0B69
|
||||||
|
jmp L0BF0
|
||||||
|
|
||||||
|
L0B69: lda ($08),y
|
||||||
|
and #$F0
|
||||||
|
bne L0B72
|
||||||
|
jmp L0BEE
|
||||||
|
|
||||||
|
L0B72: lda $DF21
|
||||||
|
beq L0B7F
|
||||||
|
lda $DF20
|
||||||
|
beq L0B7F
|
||||||
|
jmp L0BF5
|
||||||
|
|
||||||
|
L0B7F: lda $08
|
||||||
|
ldx $09
|
||||||
|
jsr L0CFC
|
||||||
|
bcc L0BF0
|
||||||
|
lda $06
|
||||||
|
ldx $07
|
||||||
|
jsr L0CFC
|
||||||
|
bcc L0BEE
|
||||||
|
ldy #$00
|
||||||
|
lda ($08),y
|
||||||
|
and #$F0
|
||||||
|
sta L0BF2
|
||||||
|
ldy #$00
|
||||||
|
lda ($06),y
|
||||||
|
and #$F0
|
||||||
|
sta L0BF3
|
||||||
|
lda L0BF2
|
||||||
|
cmp #$D0
|
||||||
|
beq L0BB3
|
||||||
|
lda L0BF3
|
||||||
|
cmp #$D0
|
||||||
|
beq L0BEE
|
||||||
|
bne L0BC1
|
||||||
|
L0BB3: lda L0BF3
|
||||||
|
cmp #$D0
|
||||||
|
bne L0BF0
|
||||||
|
jsr L0D33
|
||||||
|
bcc L0BF0
|
||||||
|
bcs L0BEE
|
||||||
|
L0BC1: lda #$04
|
||||||
|
jsr L0CBE
|
||||||
|
bne L0BCC
|
||||||
|
bcc L0BF0
|
||||||
|
bcs L0BEE
|
||||||
|
L0BCC: lda #$FF
|
||||||
|
jsr L0CBE
|
||||||
|
bne L0BD7
|
||||||
|
bcc L0BF0
|
||||||
|
bcs L0BEE
|
||||||
|
L0BD7: lda #$FD
|
||||||
|
sta L0BF4
|
||||||
|
L0BDC: dec L0BF4
|
||||||
|
lda L0BF4
|
||||||
|
beq L0BF0
|
||||||
|
jsr L0CBE
|
||||||
|
bne L0BDC
|
||||||
|
bcs L0BEE
|
||||||
|
jmp L0BF0
|
||||||
|
|
||||||
|
L0BEE: sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0BF0: clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0BF2: .byte 0
|
||||||
|
L0BF3: .byte 0
|
||||||
|
L0BF4: .byte 0
|
||||||
|
|
||||||
|
;;; ============================================================
|
||||||
|
|
||||||
|
L0BF5: ldx $DF21
|
||||||
|
L0BF8: dex
|
||||||
|
bmi L0C4A
|
||||||
|
lda $DF22,x
|
||||||
|
asl a
|
||||||
|
tay
|
||||||
|
lda $DD9F,y
|
||||||
|
clc
|
||||||
|
adc #$09
|
||||||
|
sta $10
|
||||||
|
lda $DDA0,y
|
||||||
|
adc #$00
|
||||||
|
sta $11
|
||||||
|
ldy #$00
|
||||||
|
lda ($10),y
|
||||||
|
sec
|
||||||
|
sbc #$02
|
||||||
|
sta L0C24
|
||||||
|
inc16 $10
|
||||||
|
L0C1F: lda ($06),y
|
||||||
|
and #$0F
|
||||||
|
|
||||||
|
L0C24 := *+1
|
||||||
|
cmp #$0
|
||||||
|
|
||||||
|
bne L0BF8
|
||||||
|
sta L0C47
|
||||||
|
L0C2A: iny
|
||||||
|
lda ($10),y
|
||||||
|
and #$7F
|
||||||
|
cmp #$61
|
||||||
|
bcc L0C35
|
||||||
|
and #$DF
|
||||||
|
L0C35: sta L0C43
|
||||||
|
lda ($06),y
|
||||||
|
and #$7F
|
||||||
|
cmp #$61
|
||||||
|
bcc L0C42
|
||||||
|
and #$DF
|
||||||
|
|
||||||
|
L0C43 := *+1
|
||||||
|
L0C42: cmp #0
|
||||||
|
|
||||||
|
bne L0BF8
|
||||||
|
|
||||||
|
L0C47 := *+1
|
||||||
|
cpy #0
|
||||||
|
|
||||||
|
bne L0C2A
|
||||||
|
L0C4A: stx L0CBC
|
||||||
|
ldx $DF21
|
||||||
|
L0C50: dex
|
||||||
|
bmi L0CA2
|
||||||
|
lda $DF22,x
|
||||||
|
asl a
|
||||||
|
tay
|
||||||
|
lda $DD9F,y
|
||||||
|
clc
|
||||||
|
adc #$09
|
||||||
|
sta $10
|
||||||
|
lda $DDA0,y
|
||||||
|
adc #$00
|
||||||
|
sta $11
|
||||||
|
ldy #$00
|
||||||
|
lda ($10),y
|
||||||
|
sec
|
||||||
|
sbc #$02
|
||||||
|
sta L0C7C
|
||||||
|
inc16 $10
|
||||||
|
L0C77: lda ($08),y
|
||||||
|
and #$0F
|
||||||
|
|
||||||
|
L0C7C := *+1
|
||||||
|
cmp #0
|
||||||
|
|
||||||
|
bne L0C50
|
||||||
|
sta L0C9F
|
||||||
|
L0C82: iny
|
||||||
|
lda ($10),y
|
||||||
|
and #$7F
|
||||||
|
cmp #$61
|
||||||
|
bcc L0C8D
|
||||||
|
and #$DF
|
||||||
|
L0C8D: sta L0C9B
|
||||||
|
lda ($08),y
|
||||||
|
and #$7F
|
||||||
|
cmp #$61
|
||||||
|
bcc L0C9A
|
||||||
|
and #$DF
|
||||||
|
L0C9B := *+1
|
||||||
|
L0C9A: cmp #0
|
||||||
|
bne L0C50
|
||||||
|
|
||||||
|
L0C9F := *+1
|
||||||
|
cpy #0
|
||||||
|
|
||||||
|
bne L0C82
|
||||||
|
L0CA2: stx L0CBD
|
||||||
|
lda L0CBC
|
||||||
|
and L0CBD
|
||||||
|
cmp #$FF
|
||||||
|
beq L0CBA
|
||||||
|
lda L0CBD
|
||||||
|
cmp L0CBC
|
||||||
|
beq L0CBA
|
||||||
|
rts
|
||||||
|
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0CBA: clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0CBC: .byte 0
|
||||||
|
L0CBD: .byte 0
|
||||||
|
L0CBE: sta L0CFB
|
||||||
|
ldy #$10
|
||||||
|
lda ($08),y
|
||||||
|
sta L0CF1
|
||||||
|
lda ($06),y
|
||||||
|
sta L0CF2
|
||||||
|
lda L0CF1
|
||||||
|
cmp L0CFB
|
||||||
|
beq L0CDF
|
||||||
|
lda L0CF2
|
||||||
|
cmp L0CFB
|
||||||
|
beq L0CF7
|
||||||
|
bne L0CEE
|
||||||
|
L0CDF: lda L0CF2
|
||||||
|
cmp L0CFB
|
||||||
|
bne L0CF3
|
||||||
|
jsr L0D33
|
||||||
|
bcc L0CF3
|
||||||
|
bcs L0CF7
|
||||||
|
L0CEE: return #$FF
|
||||||
|
|
||||||
|
L0CF1: .byte 0
|
||||||
|
L0CF2: .byte 0
|
||||||
|
L0CF3: lda #$00
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0CF7: lda #$00
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0CFB: .byte 0
|
||||||
|
L0CFC: stax $00
|
||||||
|
ldy #$10
|
||||||
|
lda ($00),y
|
||||||
|
cmp #$FF
|
||||||
|
bne L0D29
|
||||||
|
ldy #$00
|
||||||
|
lda ($00),y
|
||||||
|
and #$0F
|
||||||
|
sec
|
||||||
|
sbc #$06
|
||||||
|
bcc L0D29
|
||||||
|
tay
|
||||||
|
ldx #$00
|
||||||
|
dey
|
||||||
|
L0D17: iny
|
||||||
|
inx
|
||||||
|
lda ($00),y
|
||||||
|
and #$7F
|
||||||
|
cmp L0D2B,x
|
||||||
|
bne L0D29
|
||||||
|
cpx L0D2B
|
||||||
|
bne L0D17
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0D29: sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0D2B: .byte $07
|
||||||
|
rol $5953
|
||||||
|
.byte $53
|
||||||
|
.byte $54
|
||||||
|
eor $4D
|
||||||
|
L0D33: ldy #$00
|
||||||
|
lda ($08),y
|
||||||
|
and #$0F
|
||||||
|
sta L0D6B
|
||||||
|
sta L0D5C
|
||||||
|
lda ($06),y
|
||||||
|
and #$0F
|
||||||
|
sta L0D6C
|
||||||
|
cmp L0D5C
|
||||||
|
bcs L0D4E
|
||||||
|
sta L0D5C
|
||||||
|
L0D4E: ldy #$00
|
||||||
|
L0D50: iny
|
||||||
|
lda ($08),y
|
||||||
|
cmp ($06),y
|
||||||
|
beq L0D5B
|
||||||
|
bcc L0D69
|
||||||
|
L0D59: sec
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0D5C := *+1
|
||||||
|
L0D5B: cpy #0
|
||||||
|
bne L0D50
|
||||||
|
lda L0D6B
|
||||||
|
cmp L0D6C
|
||||||
|
beq L0D69
|
||||||
|
bcs L0D59
|
||||||
|
L0D69: clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
L0D6B: .byte 0
|
||||||
|
L0D6C: .byte 0
|
|
@ -9,7 +9,7 @@ print <<"END_HEADER";
|
||||||
GLOBAL {
|
GLOBAL {
|
||||||
STARTADDR \$$org;
|
STARTADDR \$$org;
|
||||||
PAGELENGTH 0; # No paging
|
PAGELENGTH 0; # No paging
|
||||||
CPU "65C02";
|
CPU "6502";
|
||||||
};
|
};
|
||||||
END_HEADER
|
END_HEADER
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user