lovebyte: spiral

This commit is contained in:
Vince Weaver 2024-02-05 01:11:39 -05:00
parent a22f083521
commit f99289e5da
6 changed files with 36 additions and 31 deletions

View File

@ -10,7 +10,7 @@ all: spiral_32.dsk
spiral_32.dsk: HELLO SPIRAL_32
cp $(EMPTYDISK) spiral_32.dsk
$(DOS33) -y spiral_32.dsk SAVE A HELLO
$(DOS33) -y spiral_32.dsk BSAVE -a 0xc00 SPIRAL_32
$(DOS33) -y spiral_32.dsk BSAVE -a 0xe9 SPIRAL_32
###
@ -38,7 +38,7 @@ HELLO: hello.bas
###
SPIRAL_32: spiral_32.o
ld65 -o SPIRAL_32 spiral_32.o -C $(LINKERSCRIPTS)/apple2_c00.inc
ld65 -o SPIRAL_32 spiral_32.o -C $(LINKERSCRIPTS)/apple2_e7_zp.inc
spiral_32.o: spiral_32.s
ca65 -o spiral_32.o spiral_32.s -l spiral_32.lst

View File

@ -1,13 +0,0 @@
This is yet another tiny Apple II hires/shapetable intro.
It loads at $E7 (HGR_SCALE) so that we set that value
for free from the first instruction (in this case JSR so $20).
I thought this looked like woven cloth at times, hence the name.
I found this one while searching for pleasant looking patterns
in the ROM to display that were easy to load. Specifically patterns
that have a 0 value after one or two bytes, as those are smaller shapes.
In this case this is rotation value $E2 at address $E2E2 which is
easy to load.

View File

@ -1,9 +1,10 @@
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-
Weave15
Spiraling Shape
--------------------------------------
Hi-res Xdraw Pattern
with Sound!
by Deater / dSr
15-byte Intro for Apple II
Lovebyte 2023
31-byte Intro for Apple II
Lovebyte 2024
--------------------------------------

View File

@ -0,0 +1,4 @@
CALL -151
E8: 20 D8 F3 2C 30 C0 A8 A2 8C A9 60 20 11 F4 A2 DF
F8: A0 E2 E6 FE A9 01 29 7F 85 E7 20 5D F6 F0 E4
E8G

View File

@ -1,14 +1,18 @@
; Xdraw test
; Spiraling Shape
; use to prototype small xdraw effects
; o/~ Down, Down, Down You Go o/~
; by Vince `deater` Weaver / DsR
; Lovebyte 2024
; zero page locations
GBASL = $26
GBASH = $27
HGR_SCALE = $E7
HGR_ROTATION = $F9
HGR_COLLISION = $EA
HGR_ROTATION = $FE ; IMPORTANT! set this right!
; ROM locations
HGR2 = $F3D8
@ -17,19 +21,15 @@ XDRAW0 = $F65D
XDRAW1 = $F661
HPLOT0 = $F457
xdraw_test:
spiraling_shape:
jsr HGR2 ; Hi-res, full screen ; 3
; Y=0, A=0 after this call
iny
; sty HGR_SCALE
sty HGR_ROTATION
; A and Y are 0 here.
; X is left behind by the boot process?
tiny_loop:
bit $C030
tay ; ldy #0 ; A always 0 here
ldx #140
lda #96
@ -41,8 +41,10 @@ tiny_loop:
ldx #<our_shape ; load $E2DF
ldy #>our_shape ;
inc HGR_ROTATION
lda HGR_ROTATION
and #$7f
lda #1 ; HGR_ROTATION is HERE ($FE)
and #$7f ; cut off before it gets too awful
sta HGR_SCALE
jsr XDRAW0 ; XDRAW 1 AT X,Y
@ -55,5 +57,4 @@ tiny_loop:
our_shape = $E2DF
;our_shape:
;.byte $1a,$2d,$00

View File

@ -0,0 +1,12 @@
MEMORY {
ZP: start = $E6, size = $90, type = rw;
RAM: start = $E6, 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;
}