mirror of
https://github.com/mi57730/a2d.git
synced 2025-02-27 14:29:55 +00:00
Date: Identify save to file logic
This commit is contained in:
parent
ebd24191d8
commit
cc82e3a1f0
@ -20,7 +20,7 @@ JUMP_TABLE_12 := $4012 ; ???
|
|||||||
JUMP_TABLE_15 := $4015 ; ???
|
JUMP_TABLE_15 := $4015 ; ???
|
||||||
JUMP_TABLE_18 := $4018 ; ???
|
JUMP_TABLE_18 := $4018 ; ???
|
||||||
JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection
|
JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection
|
||||||
JUMP_TABLE_21 := $4021 ; ???
|
JUMP_TABLE_MLI := $4021 ; ProDOS MLI call (Y=call, X,A=params addr)
|
||||||
JUMP_TABLE_24 := $4024 ; ???
|
JUMP_TABLE_24 := $4024 ; ???
|
||||||
JUMP_TABLE_27 := $4027 ; ???
|
JUMP_TABLE_27 := $4027 ; ???
|
||||||
JUMP_TABLE_2A := $402A ; ???
|
JUMP_TABLE_2A := $402A ; ???
|
||||||
|
112
desk.acc/date.s
112
desk.acc/date.s
@ -20,16 +20,44 @@ KEY_RIGHT := $15
|
|||||||
|
|
||||||
jmp copy2aux
|
jmp copy2aux
|
||||||
|
|
||||||
|
|
||||||
stash_stack: .byte $00
|
stash_stack: .byte $00
|
||||||
|
|
||||||
PASCAL_STRING "MD.SYSTEM" ; ??
|
;;; ==================================================
|
||||||
.byte $03,$04,$08,$00,$09
|
;;; MLI Call Param Blocks
|
||||||
L0813: .byte $00,$02
|
|
||||||
L0815: .byte $00,$03,$00,$00,$04
|
filename:
|
||||||
L081A: .byte $00,$23,$08,$02,$00,$00,$00,$01
|
PASCAL_STRING "MD.SYSTEM"
|
||||||
L0822: .byte $00
|
|
||||||
L0823: .byte $00
|
.proc open_params
|
||||||
L0824: .byte $00
|
params: .byte 3
|
||||||
|
name: .addr filename
|
||||||
|
buffer: .addr $0900
|
||||||
|
ref_num:.byte 0
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc set_mark_params
|
||||||
|
params: .byte 2
|
||||||
|
ref_num:.byte 0
|
||||||
|
pos: .byte $03,$00,$00
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc write_params
|
||||||
|
params: .byte 4
|
||||||
|
ref_num:.byte 0
|
||||||
|
buffer: .addr write_buffer
|
||||||
|
request:.word sizeof_write_buffer
|
||||||
|
trans: .word 0
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
.proc close_params
|
||||||
|
params: .byte 1
|
||||||
|
ref_num:.byte 0
|
||||||
|
.endproc
|
||||||
|
|
||||||
|
write_buffer:
|
||||||
|
.byte 0,0
|
||||||
|
sizeof_write_buffer := * - write_buffer
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
@ -75,40 +103,48 @@ L0824: .byte $00
|
|||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
;;; Write date into MD.SYSTEM file and exit the DA
|
||||||
|
|
||||||
;; ???
|
.proc save_date_and_exit
|
||||||
L086B: sta ALTZPON
|
sta ALTZPON
|
||||||
sta L0823
|
sta write_buffer
|
||||||
stx L0824
|
stx write_buffer+1
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
lda LCBANK1
|
lda LCBANK1
|
||||||
lda L0823
|
lda write_buffer ; Dialog committed?
|
||||||
beq L08B3
|
beq skip
|
||||||
ldy #$C8
|
|
||||||
lda #$0E
|
ldy #OPEN ; open the file
|
||||||
ldx #$08
|
lda #<open_params
|
||||||
jsr JUMP_TABLE_21
|
ldx #>open_params
|
||||||
bne L08B3
|
jsr JUMP_TABLE_MLI
|
||||||
lda L0813
|
bne skip
|
||||||
sta L0815
|
|
||||||
sta L081A
|
lda open_params::ref_num
|
||||||
sta L0822
|
sta set_mark_params::ref_num
|
||||||
ldy #$CE
|
sta write_params::ref_num
|
||||||
lda #$14
|
sta close_params::ref_num
|
||||||
ldx #$08
|
|
||||||
jsr JUMP_TABLE_21
|
ldy #SET_MARK ; seek
|
||||||
bne L08AA
|
lda #<set_mark_params
|
||||||
ldy #$CB
|
ldx #>set_mark_params
|
||||||
lda #$19
|
jsr JUMP_TABLE_MLI
|
||||||
ldx #$08
|
bne close
|
||||||
jsr JUMP_TABLE_21
|
|
||||||
L08AA: ldy #$CC
|
ldy #WRITE ; write the date
|
||||||
lda #$21
|
lda #<write_params
|
||||||
ldx #$08
|
ldx #>write_params
|
||||||
jsr JUMP_TABLE_21
|
jsr JUMP_TABLE_MLI
|
||||||
L08B3: ldx stash_stack
|
|
||||||
|
close: ldy #CLOSE ; close the file
|
||||||
|
lda #<close_params
|
||||||
|
ldx #>close_params
|
||||||
|
jsr JUMP_TABLE_MLI
|
||||||
|
|
||||||
|
skip: ldx stash_stack ; exit the DA
|
||||||
txs
|
txs
|
||||||
rts
|
rts
|
||||||
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
@ -661,7 +697,7 @@ skip: jmp dest
|
|||||||
.proc routine
|
.proc routine
|
||||||
sta RAMRDOFF
|
sta RAMRDOFF
|
||||||
sta RAMWRTOFF
|
sta RAMWRTOFF
|
||||||
jmp L086B
|
jmp save_date_and_exit
|
||||||
.endproc
|
.endproc
|
||||||
sizeof_routine := * - routine
|
sizeof_routine := * - routine
|
||||||
.endproc
|
.endproc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user