Merge pull request #4 from peterferrie/master

reduce zpage usage
This commit is contained in:
4am 2016-10-28 21:53:00 -04:00 committed by GitHub
commit a723be9b52

View File

@ -38,20 +38,15 @@
!addr COUT = $FDED !addr COUT = $FDED
;private arbitrary addresses ;private arbitrary addresses
!addr MANPARML = $40 !addr LINE = $40
!addr MANPARMH = $41 !addr ZMANPARML = $40
!addr ZMANPARMH = $41
!addr DOSBUFL = $42 !addr DOSBUFL = $42
!addr DOSBUFH = $43 !addr DOSBUFH = $43
!addr ADDRESSL = $44 !addr OPSRCL = $44
!addr ADDRESSH = $45 !addr OPSRCH = $45
!addr FILESIZEL = $46 !addr OPDSTL = $46
!addr FILESIZEH = $47 !addr OPDSTH = $47
!addr OPSRCL = $48
!addr OPSRCH = $49
!addr OPDSTL = $4a
!addr OPDSTH = $4b
!addr LINE = $4c
!addr ANIMATE = $4d
HOTKEY = $80 ; CTRL-@ HOTKEY = $80 ; CTRL-@
IMPORTKEY = $89 ; CTRL-I IMPORTKEY = $89 ; CTRL-I
@ -125,8 +120,10 @@ Install
;get file manager parameter list ;get file manager parameter list
jsr GETPARM jsr GETPARM
sty MANPARML sty ZMANPARML
sta MANPARMH sta ZMANPARMH
sty MANPARM + 1
sta MANPARM + 2
;copy DOS buffer pointers to file manager parameter list ;copy DOS buffer pointers to file manager parameter list
@ -138,7 +135,7 @@ Install
- ldy OPDSTL - ldy OPDSTL
lda (DOSBUFL), y lda (DOSBUFL), y
ldy OPDSTH ldy OPDSTH
sta (MANPARML), y sta (ZMANPARML), y
inc OPDSTL inc OPDSTL
inc OPDSTH inc OPDSTH
dex dex
@ -154,7 +151,7 @@ Install
+ sta (DOSBUFL), y + sta (DOSBUFL), y
dey dey
bpl - bpl -
sty ANIMATE ;enable visible screen-swapping via #$FF sty ANIMATE + 1 ;enable visible screen-swapping via #$FF
;open source file and read it if available ;open source file and read it if available
@ -236,7 +233,8 @@ SwitchScreens
jsr VirtScroll jsr VirtScroll
lda ANIMATE ANIMATE
lda "Q" ;self-modified
beq + beq +
;animate it just for fun ;animate it just for fun
@ -308,11 +306,11 @@ SaveFile
sta SaveCH sta SaveCH
lda CV lda CV
sta SaveCV sta SaveCV
inc ANIMATE ;disable animation (was #$FF from above) inc ANIMATE + 1 ;disable animation (was #$FF from above)
jsr SwitchScreens jsr SwitchScreens
jsr CreateWriteFile jsr CreateWriteFile
jsr SwitchScreens jsr SwitchScreens
dec ANIMATE ;re-enable animation dec ANIMATE + 1 ;re-enable animation
;print anything that isn't a special key ;print anything that isn't a special key
;wrap around screen position when we hit edges ;wrap around screen position when we hit edges
@ -440,7 +438,6 @@ CloseMLI_b
!byte CMDCLOSE !byte CMDCLOSE
CloseMLI_e CloseMLI_e
OpenRet OpenRet
lda ROMIN
rts rts
OpenCommon OpenCommon
@ -489,7 +486,8 @@ DOSMLI
tay tay
- lda (OPSRCL), y - lda (OPSRCL), y
dey dey
sta (MANPARML), y MANPARM
sta $34f3, y ;self-modified
bne - bne -
lda (OPSRCL), y lda (OPSRCL), y
clc clc