From c8fb446acbe4ea25e8463b48c807a785d049a151 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 4 Jan 2019 11:33:01 -0500 Subject: [PATCH] fire: qkumba knocked a byte off of it (now 63 bytes) --- fire/fe_monitor | 3 +-- fire/fire_extreme.s | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/fire/fe_monitor b/fire/fe_monitor index 991b2999..15328721 100644 --- a/fire/fe_monitor +++ b/fire/fe_monitor @@ -1,3 +1,2 @@ -70: 2C 50 C0 20 70 FC A9 FF 99 CF 07 88 D0 FA A9 16 85 25 20 22 FC A0 27 A5 4E F0 05 0A F0 04 90 02 49 1D 85 4E 30 09 B1 28 29 07 AA B5 A8 91 28 88 10 E5 C6 25 10 DC 30 CB 00 BB 00 AA 00 99 00 DD +70: 2C 50 C0 20 70 FC A9 FF 91 2A 88 10 FB A9 16 85 25 20 22 FC A0 27 A5 4E F0 05 0A F0 04 90 02 49 1D 85 4E 30 09 B1 28 29 07 AA B5 A7 91 28 88 10 E5 C6 25 10 DC 30 CC 00 BB 00 AA 00 99 00 DD 70G - diff --git a/fire/fire_extreme.s b/fire/fire_extreme.s index b1b57761..6e2e9500 100644 --- a/fire/fire_extreme.s +++ b/fire/fire_extreme.s @@ -1,4 +1,4 @@ -; Apple ][ Lo-res fire animation, size-optimized to 64 bytes +; Apple ][ Lo-res fire animation, size-optimized to 63 bytes ; by deater (Vince Weaver) @@ -10,7 +10,7 @@ ; 80 bytes -- the size of tire_tiny.s ; 64 bytes -- use the firmware SCROLL routine to handle the scrolling ; this adds some flicker but saves many bytes - +; 63 bytes -- qkumba noted that SCROLL leaves BAS2L:BAS2H pointing at $7d0 ; Zero Page @@ -19,6 +19,8 @@ WNDBTM = $23 CV = $25 BASL = $28 BASH = $29 +BAS2L = $2A +BAS2H = $2B SEEDL = $4E ; Soft Switches @@ -57,13 +59,17 @@ scroll_loop: ;====================================== ; re-draw bottom line (row 23) as white - lda #$ff ; top/bottom white ; 2 -; ldy #39 ; Y is left at 40 after SCROLL + ; Y is left at 40 after SCROLL + ; also BAS2L:BAS2H is left at $7d0 + ; this code over-writes $7F8 (the MSLOT screen hole value) + ; but this should not matter for this demo + + lda #$ff ; top/bottom white ; 2 w_loop: - sta $7cf,Y ; hline 23 (46+47) ; 2 + sta (BAS2L),Y ; hline 23 (46+47) ; 2 dey ; 1 - bne w_loop ; 2 + bpl w_loop ; 2 ;============ ; 8