This commit is contained in:
Joshua Bell 2018-03-04 14:01:19 -08:00
parent e309083f2d
commit be33bb8a84

View File

@ -295,11 +295,11 @@ L262A: iny
cpx L25F2 cpx L25F2
bne L262A bne L262A
sty path_buf0 sty path_buf0
ldx #$07 ldx #7
L263C: lda L25FB,x L263C: lda L25FB,x
sta get_file_info_params,x sta get_file_info_params,x
dex dex
cpx #$03 cpx #3
bne L263C bne L263C
jsr L2A95 jsr L2A95
lda path_buf0 lda path_buf0
@ -331,7 +331,7 @@ L2681: lda L2378
beq L268F beq L268F
sta path_buf0 sta path_buf0
MLI_CALL SET_PREFIX, set_prefix_params MLI_CALL SET_PREFIX, set_prefix_params
L268F: jsr L2B37 L268F: jsr write_desktop1
jsr L2B57 jsr L2B57
lda #$00 lda #$00
sta $C071 ; ??? sta $C071 ; ???
@ -548,7 +548,7 @@ L2974: rts
lda #$2B lda #$2B
sta $06 sta $06
lda #$A4 lda #$A4
sta $07 sta $06+1
L2997: lda $A425 L2997: lda $A425
cmp L2A10 cmp L2A10
bne L29B1 bne L29B1
@ -589,14 +589,8 @@ L29BD: lda ($06),y
L29ED: jsr L2876 L29ED: jsr L2876
jsr L28B4 jsr L28B4
inc L2A10 inc L2A10
L29F6: lda $06 L29F6: add16_8 $06, $A423, $06
clc lda $06+1
adc $A423
sta $06
lda $07
adc #$00
sta $07
lda $07
cmp #$A6 cmp #$A6
bcs L2A0D bcs L2A0D
jmp L2997 jmp L2997
@ -665,25 +659,25 @@ L2AB2: lda L24AC
bne L2ABC bne L2ABC
jmp L2AE6 jmp L2AE6
L2ABC: and #$70 L2ABC: and #$70 ; Compute $Cn00
lsr a lsr a
lsr a lsr a
lsr a lsr a
lsr a lsr a
ora #$C0 ora #$C0
sta $09 sta $08+1
lda #$00 lda #0
sta $08 sta $08
ldx #$00 ldx #0 ; Compare signature bytes
L2ACC: lda sig_offsets,x L2ACC: lda sig_offsets,x
tay tay
lda ($08),y lda ($08),y
cmp sig_bytes,x cmp sig_bytes,x
bne L2AE4 bne L2AE4
inx inx
cpx #$04 cpx #4 ; Number of signature bytes
bcc L2ACC bcc L2ACC
ldy #$FB ldy #$FB ; Also check $CnFB
lda ($08),y lda ($08),y
and #$01 and #$01
bne L2AE6 bne L2AE6
@ -706,24 +700,30 @@ L2AF3: inx
clc clc
rts rts
L2B0D: PASCAL_STRING "DeskTop2" L2B0D: PASCAL_STRING "DeskTop2"
DEFINE_OPEN_PARAMS open_params5, str_desktop1_path, $1000
;;; ============================================================
.proc write_desktop1_impl
DEFINE_OPEN_PARAMS open_params, str_desktop1_path, $1000
str_desktop1_path: str_desktop1_path:
PASCAL_STRING "DeskTop/DESKTOP1" PASCAL_STRING "DeskTop/DESKTOP1"
DEFINE_WRITE_PARAMS write_params2, $2000, $45 DEFINE_WRITE_PARAMS write_params, $2000, $45
DEFINE_CLOSE_PARAMS close_params
DEFINE_CLOSE_PARAMS close_params4 start: MLI_CALL OPEN, open_params
bne :+
lda open_params::ref_num
sta write_params::ref_num
sta close_params::ref_num
MLI_CALL WRITE, write_params
bne :+
MLI_CALL CLOSE, close_params
: rts
.endproc
write_desktop1 := write_desktop1_impl::start
L2B37: MLI_CALL OPEN, open_params5 ;;; ============================================================
bne L2B56
lda open_params5::ref_num
sta write_params2::ref_num
sta close_params4::ref_num
MLI_CALL WRITE, write_params2
bne L2B56
MLI_CALL CLOSE, close_params4
L2B56: rts
L2B57: addr_call L26CD, L2005 L2B57: addr_call L26CD, L2005
rts rts
@ -818,7 +818,7 @@ L3023: sta $D395,x
dex dex
bpl L3023 bpl L3023
lda ROMIN2 lda ROMIN2
jsr L37FF jsr read_selector_list
beq L3034 beq L3034
jmp L30B8 jmp L30B8
@ -889,7 +889,8 @@ L30E0: .byte $00,$00,$00,$00,$00,$00
.byte $00,$00,$00 .byte $00,$00,$00
DEFINE_CLOSE_PARAMS close_params7 DEFINE_CLOSE_PARAMS close_params7
DEFINE_CLOSE_PARAMS close_params6 DEFINE_CLOSE_PARAMS close_params6
.byte $01,$C9,$31 .byte $01
.addr path_buf2
DEFINE_OPEN_PARAMS open_params7, path_buf2, $0D00 DEFINE_OPEN_PARAMS open_params7, path_buf2, $0D00
DEFINE_OPEN_PARAMS open_params8, path_buf1, $1C00 DEFINE_OPEN_PARAMS open_params8, path_buf1, $1C00
DEFINE_READ_PARAMS read_params7, $1100, $0B00 DEFINE_READ_PARAMS read_params7, $1100, $0B00
@ -1481,20 +1482,27 @@ L37D2: jsr L3836
.byte $00,$00 .byte $00,$00
DEFINE_OPEN_PARAMS open_params9, str_selector_list, $4000 ;;; ============================================================
.proc read_selector_list_impl
DEFINE_OPEN_PARAMS open_params, str_selector_list, $4000
str_selector_list: str_selector_list:
PASCAL_STRING "Selector.List" PASCAL_STRING "Selector.List"
DEFINE_READ_PARAMS read_params8, $4400, $0800 DEFINE_READ_PARAMS read_params, $4400, $0800
DEFINE_CLOSE_PARAMS close_params8 DEFINE_CLOSE_PARAMS close_params
L37FF: MLI_CALL OPEN, open_params9 start: MLI_CALL OPEN, open_params
bne L381B bne :+
lda open_params9::ref_num lda open_params::ref_num
sta read_params8::ref_num sta read_params::ref_num
MLI_CALL READ, read_params8 MLI_CALL READ, read_params
MLI_CALL CLOSE, close_params8 MLI_CALL CLOSE, close_params
lda #$00 lda #0
L381B: rts : rts
.endproc
read_selector_list := read_selector_list_impl::start
;;; ============================================================
L381C: ldx #$00 L381C: ldx #$00
stx L3835 stx L3835