mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-07 16:25:16 +00:00
tiny_wip: more experiments
This commit is contained in:
@@ -7,12 +7,17 @@ LINKER_SCRIPTS = ../../linker_scripts/
|
|||||||
|
|
||||||
all: tiny_demos.dsk
|
all: tiny_demos.dsk
|
||||||
|
|
||||||
tiny_demos.dsk: HELLO CHEVRON_17 CIRCUIT_17 TIGER_22
|
tiny_demos.dsk: HELLO CHEVRON_17 CIRCUIT_17 TIGER_22 \
|
||||||
|
NOISY_TIGER_35 ANGLE_SONG_30 \
|
||||||
|
TEST
|
||||||
cp $(EMPTYDISK) tiny_demos.dsk
|
cp $(EMPTYDISK) tiny_demos.dsk
|
||||||
$(DOS33) -y tiny_demos.dsk SAVE A HELLO
|
$(DOS33) -y tiny_demos.dsk SAVE A HELLO
|
||||||
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 CHEVRON_17
|
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 CHEVRON_17
|
||||||
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 CIRCUIT_17
|
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 CIRCUIT_17
|
||||||
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 TIGER_22
|
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 TIGER_22
|
||||||
|
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 NOISY_TIGER_35
|
||||||
|
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 ANGLE_SONG_30
|
||||||
|
$(DOS33) -y tiny_demos.dsk BSAVE -a 0xE7 TEST
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
@@ -43,9 +48,36 @@ TIGER_22: tiger_22.o
|
|||||||
tiger_22.o: tiger_22.s
|
tiger_22.o: tiger_22.s
|
||||||
ca65 -o tiger_22.o tiger_22.s -l tiger_22.lst
|
ca65 -o tiger_22.o tiger_22.s -l tiger_22.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
NOISY_TIGER_35: noisy_tiger_35.o
|
||||||
|
ld65 -o NOISY_TIGER_35 noisy_tiger_35.o -C $(LINKER_SCRIPTS)/apple2_e7_zp.inc
|
||||||
|
|
||||||
|
noisy_tiger_35.o: noisy_tiger_35.s
|
||||||
|
ca65 -o noisy_tiger_35.o noisy_tiger_35.s -l noisy_tiger_35.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
ANGLE_SONG_30: angle_song_30.o
|
||||||
|
ld65 -o ANGLE_SONG_30 angle_song_30.o -C $(LINKER_SCRIPTS)/apple2_e7_zp.inc
|
||||||
|
|
||||||
|
angle_song_30.o: angle_song_30.s
|
||||||
|
ca65 -o angle_song_30.o angle_song_30.s -l angle_song_30.lst
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
TEST: test.o
|
||||||
|
ld65 -o TEST test.o -C $(LINKER_SCRIPTS)/apple2_e7_zp.inc
|
||||||
|
|
||||||
|
test.o: test.s
|
||||||
|
ca65 -o test.o test.s -l test.lst
|
||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ *.o *.lst HELLO \
|
rm -f *~ *.o *.lst HELLO \
|
||||||
CHEVRON_17 CIRCUIT_17 TIGER_22 *.zip
|
CHEVRON_17 CIRCUIT_17 TIGER_22 \
|
||||||
|
NOISY_TIGER_35 ANGLE_SONG_30 \
|
||||||
|
TEST *.zip
|
||||||
|
|
||||||
|
129
demos/tiny_wip/angle_song_30.s
Normal file
129
demos/tiny_wip/angle_song_30.s
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
; 17B interesting XDRAW pattern
|
||||||
|
|
||||||
|
; This one looks vaguely like a chevron shape
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver / dSr
|
||||||
|
|
||||||
|
; 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
|
||||||
|
|
||||||
|
chevron17:
|
||||||
|
|
||||||
|
; 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 ??
|
||||||
|
|
||||||
|
|
||||||
|
; aa = (orange)tiger stripes
|
||||||
|
; 55 = purple
|
||||||
|
; 2a = green
|
||||||
|
; lda #$2a
|
||||||
|
; jsr $F3F4
|
||||||
|
|
||||||
|
tiny_loop:
|
||||||
|
|
||||||
|
; e2/e3
|
||||||
|
; 0.. 63?
|
||||||
|
; 0 = maze
|
||||||
|
; 1 = scaly
|
||||||
|
; 2 = ??
|
||||||
|
; 3 = tower plates
|
||||||
|
; 4 = bubbles
|
||||||
|
; 5 = strings
|
||||||
|
; 6 = circuit board *
|
||||||
|
; 7 = noodles
|
||||||
|
; 8 = pickup sticks
|
||||||
|
; 9 = meh
|
||||||
|
; 10 = interesting
|
||||||
|
; 11 = meh
|
||||||
|
; 12 = static
|
||||||
|
; 13 = weave
|
||||||
|
; 14 = core
|
||||||
|
; 15 = masts *
|
||||||
|
; 16 = maze again
|
||||||
|
; 17 = spots *
|
||||||
|
; 18 = bamboo *
|
||||||
|
; 19 = mesh
|
||||||
|
; 20 = coils
|
||||||
|
; 21 = sunspots
|
||||||
|
; 22 = gridy
|
||||||
|
; 23 = dominos
|
||||||
|
; 24 = chevron **
|
||||||
|
; 25 = borg
|
||||||
|
; 26 = grid
|
||||||
|
; 27 = plants
|
||||||
|
; 28 = spaces
|
||||||
|
; 29 = ridges
|
||||||
|
; 30 = net
|
||||||
|
; 31 = odd
|
||||||
|
; 32 = maze again
|
||||||
|
|
||||||
|
; e2/e5
|
||||||
|
; e3 looks best?
|
||||||
|
; a0 interesting, green train
|
||||||
|
|
||||||
|
; inc rot_smc+1 ; broken glass
|
||||||
|
|
||||||
|
; bit $C030
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; try flipping X/Y
|
||||||
|
|
||||||
|
; ldx $26
|
||||||
|
ldx $D4
|
||||||
|
outer_delay:
|
||||||
|
bit $C030
|
||||||
|
ldy $27
|
||||||
|
|
||||||
|
inner_delay:
|
||||||
|
dey
|
||||||
|
bne inner_delay
|
||||||
|
|
||||||
|
dex
|
||||||
|
bne outer_delay
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
rot_smc:
|
||||||
|
lda #$D8 ; $18, $58, $98, $D8
|
||||||
|
|
||||||
|
; ROT=$D8
|
||||||
|
|
||||||
|
ldy #$E2 ;
|
||||||
|
ldx #$E3 ; Y=$E2
|
||||||
|
; 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
|
||||||
|
|
122
demos/tiny_wip/noisy_tiger_35.s
Normal file
122
demos/tiny_wip/noisy_tiger_35.s
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
; 22B interesting XDRAW pattern
|
||||||
|
|
||||||
|
; This one looks vaguely like a tiger tail
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver / dSr
|
||||||
|
|
||||||
|
; 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
|
||||||
|
WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us
|
||||||
|
|
||||||
|
tiger17:
|
||||||
|
|
||||||
|
; 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 ??
|
||||||
|
|
||||||
|
|
||||||
|
; aa = (orange)tiger stripes
|
||||||
|
; 55 = purple
|
||||||
|
; 2a = green
|
||||||
|
|
||||||
|
lda #$aa
|
||||||
|
jsr $F3F4
|
||||||
|
|
||||||
|
tiny_loop:
|
||||||
|
|
||||||
|
; e2/e3
|
||||||
|
; 0.. 63?
|
||||||
|
; 0 = maze
|
||||||
|
; 1 = scaly
|
||||||
|
; 2 = ??
|
||||||
|
; 3 = tower plates
|
||||||
|
; 4 = bubbles
|
||||||
|
; 5 = strings
|
||||||
|
; 6 = circuit board *
|
||||||
|
; 7 = noodles
|
||||||
|
; 8 = pickup sticks
|
||||||
|
; 9 = meh
|
||||||
|
; 10 = interesting
|
||||||
|
; 11 = meh
|
||||||
|
; 12 = static
|
||||||
|
; 13 = weave
|
||||||
|
; 14 = core
|
||||||
|
; 15 = masts *
|
||||||
|
; 16 = maze again
|
||||||
|
; 17 = spots *
|
||||||
|
; 18 = bamboo *
|
||||||
|
; 19 = mesh
|
||||||
|
; 20 = coils
|
||||||
|
; 21 = sunspots
|
||||||
|
; 22 = gridy
|
||||||
|
; 23 = dominos
|
||||||
|
; 24 = chevron **
|
||||||
|
; 25 = borg
|
||||||
|
; 26 = grid
|
||||||
|
; 27 = plants
|
||||||
|
; 28 = spaces
|
||||||
|
; 29 = ridges
|
||||||
|
; 30 = net
|
||||||
|
; 31 = odd
|
||||||
|
; 32 = maze again
|
||||||
|
|
||||||
|
; e2/e5
|
||||||
|
; e3 looks best?
|
||||||
|
; a0 interesting, green train
|
||||||
|
|
||||||
|
; try flipping X/Y
|
||||||
|
|
||||||
|
ldx $26
|
||||||
|
gorp2:
|
||||||
|
bit $C030
|
||||||
|
ldy $27
|
||||||
|
gorp:
|
||||||
|
dey
|
||||||
|
bne gorp
|
||||||
|
|
||||||
|
dex
|
||||||
|
bne gorp2
|
||||||
|
|
||||||
|
; do tiger pattern
|
||||||
|
|
||||||
|
lda #$6 ; $6
|
||||||
|
|
||||||
|
; ROT=$C6
|
||||||
|
|
||||||
|
ldy #$E2 ;
|
||||||
|
ldx #$E3 ; Y=$E2
|
||||||
|
; 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
|
||||||
|
|
129
demos/tiny_wip/test.s
Normal file
129
demos/tiny_wip/test.s
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
; 17B interesting XDRAW pattern
|
||||||
|
|
||||||
|
; This one looks vaguely like a chevron shape
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver / dSr
|
||||||
|
|
||||||
|
; 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
|
||||||
|
|
||||||
|
chevron17:
|
||||||
|
|
||||||
|
; 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 ??
|
||||||
|
|
||||||
|
|
||||||
|
; aa = (orange)tiger stripes
|
||||||
|
; 55 = purple
|
||||||
|
; 2a = green
|
||||||
|
; lda #$2a
|
||||||
|
; jsr $F3F4
|
||||||
|
|
||||||
|
tiny_loop:
|
||||||
|
|
||||||
|
; e2/e3
|
||||||
|
; 0.. 63?
|
||||||
|
; 0 = maze
|
||||||
|
; 1 = scaly
|
||||||
|
; 2 = ??
|
||||||
|
; 3 = tower plates
|
||||||
|
; 4 = bubbles
|
||||||
|
; 5 = strings
|
||||||
|
; 6 = circuit board *
|
||||||
|
; 7 = noodles
|
||||||
|
; 8 = pickup sticks
|
||||||
|
; 9 = meh
|
||||||
|
; 10 = interesting
|
||||||
|
; 11 = meh
|
||||||
|
; 12 = static
|
||||||
|
; 13 = weave
|
||||||
|
; 14 = core
|
||||||
|
; 15 = masts *
|
||||||
|
; 16 = maze again
|
||||||
|
; 17 = spots *
|
||||||
|
; 18 = bamboo *
|
||||||
|
; 19 = mesh
|
||||||
|
; 20 = coils
|
||||||
|
; 21 = sunspots
|
||||||
|
; 22 = gridy
|
||||||
|
; 23 = dominos
|
||||||
|
; 24 = chevron **
|
||||||
|
; 25 = borg
|
||||||
|
; 26 = grid
|
||||||
|
; 27 = plants
|
||||||
|
; 28 = spaces
|
||||||
|
; 29 = ridges
|
||||||
|
; 30 = net
|
||||||
|
; 31 = odd
|
||||||
|
; 32 = maze again
|
||||||
|
|
||||||
|
; e2/e5
|
||||||
|
; e3 looks best?
|
||||||
|
; a0 interesting, green train
|
||||||
|
|
||||||
|
; inc rot_smc+1 ; broken glass
|
||||||
|
|
||||||
|
; bit $C030
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; try flipping X/Y
|
||||||
|
|
||||||
|
; ldx $26
|
||||||
|
ldx $D4
|
||||||
|
outer_delay:
|
||||||
|
bit $C030
|
||||||
|
ldy $27
|
||||||
|
|
||||||
|
inner_delay:
|
||||||
|
dey
|
||||||
|
bne inner_delay
|
||||||
|
|
||||||
|
dex
|
||||||
|
bne outer_delay
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
rot_smc:
|
||||||
|
lda #$D8 ; $18, $58, $98, $D8
|
||||||
|
|
||||||
|
; ROT=$D8
|
||||||
|
|
||||||
|
ldy #$E2 ;
|
||||||
|
ldx #$E3 ; Y=$E2
|
||||||
|
; 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
|
||||||
|
|
110
demos/tiny_wip/tiger_22.s
Normal file
110
demos/tiny_wip/tiger_22.s
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
; 22B interesting XDRAW pattern
|
||||||
|
|
||||||
|
; This one looks vaguely like a tiger tail
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver / dSr
|
||||||
|
|
||||||
|
; 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
|
||||||
|
|
||||||
|
tiger22:
|
||||||
|
|
||||||
|
; 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 ??
|
||||||
|
|
||||||
|
|
||||||
|
; aa = (orange)tiger stripes
|
||||||
|
; 55 = purple
|
||||||
|
; 2a = green
|
||||||
|
lda #$aa
|
||||||
|
jsr $F3F4
|
||||||
|
|
||||||
|
tiny_loop:
|
||||||
|
|
||||||
|
; e2/e3
|
||||||
|
; 0.. 63?
|
||||||
|
; 0 = maze
|
||||||
|
; 1 = scaly
|
||||||
|
; 2 = ??
|
||||||
|
; 3 = tower plates
|
||||||
|
; 4 = bubbles
|
||||||
|
; 5 = strings
|
||||||
|
; 6 = circuit board *
|
||||||
|
; 7 = noodles
|
||||||
|
; 8 = pickup sticks
|
||||||
|
; 9 = meh
|
||||||
|
; 10 = interesting
|
||||||
|
; 11 = meh
|
||||||
|
; 12 = static
|
||||||
|
; 13 = weave
|
||||||
|
; 14 = core
|
||||||
|
; 15 = masts *
|
||||||
|
; 16 = maze again
|
||||||
|
; 17 = spots *
|
||||||
|
; 18 = bamboo *
|
||||||
|
; 19 = mesh
|
||||||
|
; 20 = coils
|
||||||
|
; 21 = sunspots
|
||||||
|
; 22 = gridy
|
||||||
|
; 23 = dominos
|
||||||
|
; 24 = chevron **
|
||||||
|
; 25 = borg
|
||||||
|
; 26 = grid
|
||||||
|
; 27 = plants
|
||||||
|
; 28 = spaces
|
||||||
|
; 29 = ridges
|
||||||
|
; 30 = net
|
||||||
|
; 31 = odd
|
||||||
|
; 32 = maze again
|
||||||
|
|
||||||
|
; e2/e5
|
||||||
|
; e3 looks best?
|
||||||
|
; a0 interesting, green train
|
||||||
|
|
||||||
|
; inc rot_smc+1 ; broken glass
|
||||||
|
|
||||||
|
; bit $C030
|
||||||
|
|
||||||
|
rot_smc:
|
||||||
|
lda #$6 ; $6
|
||||||
|
|
||||||
|
; ROT=$C6
|
||||||
|
|
||||||
|
ldy #$E2 ;
|
||||||
|
ldx #$E3 ; Y=$E2
|
||||||
|
; 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
|
||||||
|
|
Reference in New Issue
Block a user