From 804fb29846eeab1bf20ebc8e09e24aa8cfc268de Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 8 Feb 2024 18:44:33 -0500 Subject: [PATCH] lovebyte: extended deadline? --- demos/lovebyte2024/hhhh_16/apple2_e7_zp.inc | 12 +++++ demos/lovebyte2024/hhhh_16/file_id.diz | 9 ++++ demos/lovebyte2024/hhhh_16/hhhh_16.s | 56 +++++++++++++++++++++ demos/lovebyte2024/hhhh_16/monitor.txt | 3 ++ 4 files changed, 80 insertions(+) create mode 100644 demos/lovebyte2024/hhhh_16/apple2_e7_zp.inc create mode 100644 demos/lovebyte2024/hhhh_16/file_id.diz create mode 100644 demos/lovebyte2024/hhhh_16/hhhh_16.s create mode 100644 demos/lovebyte2024/hhhh_16/monitor.txt diff --git a/demos/lovebyte2024/hhhh_16/apple2_e7_zp.inc b/demos/lovebyte2024/hhhh_16/apple2_e7_zp.inc new file mode 100644 index 00000000..a670f054 --- /dev/null +++ b/demos/lovebyte2024/hhhh_16/apple2_e7_zp.inc @@ -0,0 +1,12 @@ +MEMORY { + ZP: start = $E7, size = $90, type = rw; + RAM: start = $E7, size = $8E00, file = %O; +} + +SEGMENTS { +CODE: load = RAM, type = ro; +#RODATA: load = RAM, type = ro; +#DATA: load = RAM, type = rw; +#BSS: load = RAM, type = bss, define = yes; +ZEROPAGE: load = ZP, type = ro; +} diff --git a/demos/lovebyte2024/hhhh_16/file_id.diz b/demos/lovebyte2024/hhhh_16/file_id.diz new file mode 100644 index 00000000..c9e6013b --- /dev/null +++ b/demos/lovebyte2024/hhhh_16/file_id.diz @@ -0,0 +1,9 @@ +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==- +hhhh_16 +-------------------------------------- +Hi-res Xdraw Pattern +by Deater / dSr + +16-byte Intro for Apple II +Lovebyte 2024 +-------------------------------------- diff --git a/demos/lovebyte2024/hhhh_16/hhhh_16.s b/demos/lovebyte2024/hhhh_16/hhhh_16.s new file mode 100644 index 00000000..9f4e40eb --- /dev/null +++ b/demos/lovebyte2024/hhhh_16/hhhh_16.s @@ -0,0 +1,56 @@ +; 16B interesting XDRAW pattern + +; it starts out sorta looking like hhhh? Or is it just me? + +; by Vince `deater` Weaver / dSr + +; for Lovebyte 2024 + +; zero page locations +GBASL = $26 +GBASH = $27 +HGR_SCALE = $E7 +HGR_COLLISIONS = $EA + +; ROM locations +HGR2 = $F3D8 +HPOSN = $F411 +XDRAW0 = $F65D +XDRAW1 = $F661 +HPLOT0 = $F457 + +field15: + + ; we load at zero page $E7 which is HGR_SCALE + ; this means the scale is $20 (JSR) + + ; $20 $D8 $F3 + + jsr HGR2 ; Hi-res, full screen ; 3 + ; Y=0, A=0 after this call + + ; A and Y are 0 here. + ; X is left behind by the boot process? + + ; set GBASL/GBASH + ; we really have to call this, otherwise it won't run + ; on some real hardware depending on setup of zero page at boot + + jsr HPLOT0 ; set screen position to X= (y,x) Y=(a) + ; saves X,Y,A to zero page + ; after Y= orig X/7 + ; A and X are ?? +tiny_loop: + + lda #$E3 ; ROT=$E3 + tay ; + dey ; Y=$E2 + tax ; X=$E3 + + jsr XDRAW0 ; XDRAW, A =ROTATE, X/Y = point to shape + ; Both A and X are 0 at exit + ; Z flag set on exit + ; Y varies + + beq tiny_loop ; bra + diff --git a/demos/lovebyte2024/hhhh_16/monitor.txt b/demos/lovebyte2024/hhhh_16/monitor.txt new file mode 100644 index 00000000..42ded61a --- /dev/null +++ b/demos/lovebyte2024/hhhh_16/monitor.txt @@ -0,0 +1,3 @@ +CALL -151 +E7: 20 D8 F3 20 57 F4 A9 E3 A8 88 AA 20 5D F6 F0 F6 +E7G