mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-15 08:27:41 +00:00
fire: shave off a byte thanks to qkumba
This commit is contained in:
@@ -34,7 +34,8 @@
|
|||||||
; 106 bytes -- assume bit 8 is as random as bit 0
|
; 106 bytes -- assume bit 8 is as random as bit 0
|
||||||
; 82 bytes -- use VTAB in firmware to setup addresses
|
; 82 bytes -- use VTAB in firmware to setup addresses
|
||||||
; (Antoine Vignau on comp.sys.apple2 reminded me of this)
|
; (Antoine Vignau on comp.sys.apple2 reminded me of this)
|
||||||
|
; 81 bytes -- qkumba points out that GR leaves BASL:BASH pointing at line 23
|
||||||
|
; so we can use Y-indirect of BASL to draw the bottom white line
|
||||||
|
|
||||||
; Zero Page
|
; Zero Page
|
||||||
SEEDL = $4E
|
SEEDL = $4E
|
||||||
@@ -82,16 +83,19 @@ fire_demo:
|
|||||||
; Setup white line on bottom
|
; Setup white line on bottom
|
||||||
|
|
||||||
; note: calling HLINE in firmware would take at least 13 bytes
|
; note: calling HLINE in firmware would take at least 13 bytes
|
||||||
; open coded is 10
|
|
||||||
|
; below code is 9
|
||||||
|
; we depend on the call to MON_SETGR leaving BASL:BASH set for line 39
|
||||||
|
; (thanks to qkumba)
|
||||||
|
|
||||||
lda #$ff ; 2
|
lda #$ff ; 2
|
||||||
ldy #39 ; 2
|
ldy #39 ; 2
|
||||||
white_loop:
|
white_loop:
|
||||||
sta $7d0,Y ; hline 24 (46+47) ; 3
|
sta (BASL),Y ; hline 23 (46+47) ; 2
|
||||||
dey ; 1
|
dey ; 1
|
||||||
bpl white_loop ; 2
|
bpl white_loop ; 2
|
||||||
;============
|
;============
|
||||||
; 10
|
; 9
|
||||||
|
|
||||||
fire_loop:
|
fire_loop:
|
||||||
|
|
||||||
|
@@ -32,6 +32,9 @@
|
|||||||
; 109 bytes -- replace BIT/OR in low calc with an ADC
|
; 109 bytes -- replace BIT/OR in low calc with an ADC
|
||||||
; 107 bytes -- replace self-modifying load/store absolute with Y-indirect
|
; 107 bytes -- replace self-modifying load/store absolute with Y-indirect
|
||||||
; 106 bytes -- assume bit 8 is as random as bit 0
|
; 106 bytes -- assume bit 8 is as random as bit 0
|
||||||
|
; 105 bytes -- qkumba points out that GR leaves BASL:BASH pointing at line 23
|
||||||
|
; so we can use Y-indirect of BASL to draw the bottom white line
|
||||||
|
|
||||||
|
|
||||||
; Zero Page
|
; Zero Page
|
||||||
SEEDL = $4E
|
SEEDL = $4E
|
||||||
@@ -41,6 +44,7 @@ OUTL = $02
|
|||||||
OUTH = $03
|
OUTH = $03
|
||||||
INL = $04
|
INL = $04
|
||||||
INH = $05
|
INH = $05
|
||||||
|
BASL = $28
|
||||||
|
|
||||||
; 100 = $64
|
; 100 = $64
|
||||||
|
|
||||||
@@ -64,10 +68,12 @@ fire_demo:
|
|||||||
|
|
||||||
; Setup white line on bottom
|
; Setup white line on bottom
|
||||||
|
|
||||||
|
; GR leaves BASL pointing at hline 23
|
||||||
|
|
||||||
lda #$ff ; 2
|
lda #$ff ; 2
|
||||||
ldy #39 ; 2
|
ldy #39 ; 2
|
||||||
white_loop:
|
white_loop:
|
||||||
sta $7d0,Y ; hline 24 (46+47) ; 3
|
sta (BASL),Y ; hline 23 (46+47) ; 3
|
||||||
dey ; 1
|
dey ; 1
|
||||||
bpl white_loop ; 2
|
bpl white_loop ; 2
|
||||||
;============
|
;============
|
||||||
|
Reference in New Issue
Block a user