mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-05-31 21:41:32 +00:00
lovebyte: sawblade
This commit is contained in:
parent
668bfcca8b
commit
a22f083521
49
demos/lovebyte2024/sawblade_32/Makefile
Normal file
49
demos/lovebyte2024/sawblade_32/Makefile
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
include ../../../Makefile.inc
|
||||||
|
|
||||||
|
DOS33 = ../../../utils/dos33fs-utils/dos33
|
||||||
|
TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft
|
||||||
|
EMPTYDISK = ../../../empty_disk/empty.dsk
|
||||||
|
LINKERSCRIPTS = ../../../linker_scripts/
|
||||||
|
|
||||||
|
all: sawblade.dsk
|
||||||
|
|
||||||
|
sawblade.dsk: HELLO SAWBLADE
|
||||||
|
cp $(EMPTYDISK) sawblade.dsk
|
||||||
|
$(DOS33) -y sawblade.dsk SAVE A HELLO
|
||||||
|
$(DOS33) -y sawblade.dsk BSAVE -a 0xe6 SAWBLADE
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
submit: sawblade.zip
|
||||||
|
|
||||||
|
sawblade.zip: SAWBLADE sawblade.s file_id.diz sawblade.dsk
|
||||||
|
mkdir -p lovebyte2024_sawblade
|
||||||
|
cp SAWBLADE ./lovebyte2024_sawblade
|
||||||
|
cp sawblade.s ./lovebyte2024_sawblade
|
||||||
|
cp file_id.diz ./lovebyte2024_sawblade
|
||||||
|
cp sawblade.dsk ./lovebyte2024_sawblade
|
||||||
|
cp monitor.txt ./lovebyte2024_sawblade
|
||||||
|
cp sawblade_screen.png ./lovebyte2024_sawblade
|
||||||
|
cp sawblade_720p.mp4 ./lovebyte2024_sawblade
|
||||||
|
zip -r sawblade.zip lovebyte2024_sawblade
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
HELLO: hello.bas
|
||||||
|
$(TOKENIZE) < hello.bas > HELLO
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
SAWBLADE: sawblade.o
|
||||||
|
ld65 -o SAWBLADE sawblade.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
sawblade.o: sawblade.s
|
||||||
|
ca65 -o sawblade.o sawblade.s -l sawblade.lst
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ *.o *.lst HELLO SAWBLADE *.zip
|
9
demos/lovebyte2024/sawblade_32/file_id.diz
Normal file
9
demos/lovebyte2024/sawblade_32/file_id.diz
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-
|
||||||
|
Sawblade 32
|
||||||
|
--------------------------------------
|
||||||
|
Hi-res Xdraw Sawblade Pattern
|
||||||
|
by Deater / dSr
|
||||||
|
|
||||||
|
32-byte Intro for Apple II
|
||||||
|
Lovebyte 2024
|
||||||
|
--------------------------------------
|
10
demos/lovebyte2024/sawblade_32/hello.bas
Normal file
10
demos/lovebyte2024/sawblade_32/hello.bas
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
5 HOME
|
||||||
|
10 PRINT " -= SAWBLADE -- 32 BYTES =-"
|
||||||
|
12 PRINT " ----------------------
|
||||||
|
15 PRINT " LOVEBYTE 2024"
|
||||||
|
17 PRINT " BY: DEATER / DSR"
|
||||||
|
20 PRINT CHR$(4)"CATALOG"
|
||||||
|
25 PRINT:PRINT "PRESS ANY KEY TO 'BRUN SAWBLADE'"
|
||||||
|
30 GET A$
|
||||||
|
35 PRINT
|
||||||
|
40 PRINT CHR$(4)"BRUN SAWBLADE"
|
4
demos/lovebyte2024/sawblade_32/monitor.txt
Normal file
4
demos/lovebyte2024/sawblade_32/monitor.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
CALL -151
|
||||||
|
E6: A0 01 20 D8 F3 A8 A2 8C A9 60 20 11 F4 A2 E0 A0
|
||||||
|
F6: E2 E6 E8 A5 E8 29 3F D0 02 E6 E7 20 5D F6 F0 E5
|
||||||
|
E6G
|
86
demos/lovebyte2024/sawblade_32/sawblade.s
Normal file
86
demos/lovebyte2024/sawblade_32/sawblade.s
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
; Sawblade
|
||||||
|
|
||||||
|
; 32 bytes for Lovebyte2024
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver / DsR
|
||||||
|
|
||||||
|
; zero page locations
|
||||||
|
GBASL = $26
|
||||||
|
GBASH = $27
|
||||||
|
|
||||||
|
HGR_X = $E0
|
||||||
|
HGR_X2 = $E1
|
||||||
|
HGR_Y = $E2
|
||||||
|
HGR_SCALE = $E7
|
||||||
|
HGR_ROTATION = $E8
|
||||||
|
|
||||||
|
; ROM locations
|
||||||
|
HGR2 = $F3D8
|
||||||
|
HPOSN = $F411
|
||||||
|
XDRAW0 = $F65D
|
||||||
|
XDRAW1 = $F661
|
||||||
|
HPLOT0 = $F457
|
||||||
|
|
||||||
|
sawblade:
|
||||||
|
ldy #1 ; this 1 must be at #$E7
|
||||||
|
|
||||||
|
jsr HGR2 ; Hi-res, full screen ; 3
|
||||||
|
; Y=0, A=0 after this call
|
||||||
|
|
||||||
|
; iny ; Y=1
|
||||||
|
; sty HGR_SCALE
|
||||||
|
; sty HGR_ROTATION
|
||||||
|
|
||||||
|
|
||||||
|
; A and Y are 0 here.
|
||||||
|
; X is left behind by the boot process?
|
||||||
|
|
||||||
|
tiny_loop:
|
||||||
|
; A is 0 both paths
|
||||||
|
|
||||||
|
tay ; Y=0
|
||||||
|
ldx #140
|
||||||
|
lda #96
|
||||||
|
jsr HPOSN ; 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 ??
|
||||||
|
|
||||||
|
ldx #<our_shape ; load shape table
|
||||||
|
ldy #>our_shape ;
|
||||||
|
inc HGR_ROTATION
|
||||||
|
lda HGR_ROTATION
|
||||||
|
and #$3f
|
||||||
|
bne skip
|
||||||
|
inc HGR_SCALE
|
||||||
|
|
||||||
|
; rotation in A, $00b..$3F
|
||||||
|
skip:
|
||||||
|
jsr XDRAW0 ; XDRAW 1 AT X,Y
|
||||||
|
; Both A and X are 0 at exit
|
||||||
|
; Z flag set on exit
|
||||||
|
; Y varies
|
||||||
|
|
||||||
|
beq tiny_loop ; bra
|
||||||
|
|
||||||
|
|
||||||
|
our_shape = $E2E0
|
||||||
|
|
||||||
|
; F0 03 20 00
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; 9 bytes + 4 bytes :(
|
||||||
|
; ldx #4
|
||||||
|
;loop:
|
||||||
|
; lda blah,X
|
||||||
|
; sta zp,X
|
||||||
|
; dex
|
||||||
|
; bne loop
|
||||||
|
|
||||||
|
; 9 bytes
|
||||||
|
; iny
|
||||||
|
; sty HGR_SCALE
|
||||||
|
; ldy #0
|
||||||
|
; ldx #140
|
||||||
|
; lda #96
|
Loading…
Reference in New Issue
Block a user