mem: mor messing around with demos

This commit is contained in:
Vince Weaver 2020-05-06 00:24:25 -04:00
parent be8525de46
commit 3684150c5d
3 changed files with 107 additions and 3 deletions

View File

@ -8,12 +8,13 @@ B2D = ../bmp2dhr/b2d
all: memories.dsk
memories.dsk: HELLO CIRCLES.BAS CIRCLES CHECKERS
memories.dsk: HELLO CIRCLES.BAS CIRCLES CHECKERS CHECKERS_SMALL
cp empty.dsk memories.dsk
$(DOS33) -y memories.dsk SAVE A HELLO
$(DOS33) -y memories.dsk SAVE A CIRCLES.BAS
$(DOS33) -y memories.dsk BSAVE -a 0x070 CIRCLES
$(DOS33) -y memories.dsk BSAVE -a 0x070 CHECKERS
$(DOS33) -y memories.dsk BSAVE -a 0x070 CHECKERS_SMALL
CIRCLES: circles.o
@ -32,6 +33,14 @@ checkers.o: checkers.s
###
CHECKERS_SMALL: checkers_small.o
ld65 -o CHECKERS_SMALL checkers_small.o -C ../linker_scripts/apple2_70_zp.inc
checkers_small.o: checkers_small.s
ca65 -o checkers_small.o checkers_small.s -l checkers_small.lst
###
HELLO: hello.bas
../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO
@ -43,5 +52,6 @@ CIRCLES.BAS: zooming_circles.bas
clean:
rm -f *~ *.o *.lst HELLO CIRCLES.BAS CIRCLES CHECKERS
rm -f *~ *.o *.lst HELLO CIRCLES.BAS CIRCLES CHECKERS \
CHECKERS_SMALL

View File

@ -0,0 +1,94 @@
; Checkers, based on the code in Hellmood's Memories
; 42 bytes
; could be shorter if you're not picky about colors
; by deater (Vince Weaver) <vince@deater.net>
; Zero Page
BASL = $28
BASH = $29
H2 = $2C
COLOR = $30
X1 = $F0
X2 = $F1
Y1 = $F2
Y2 = $F3
TEMP = $FA
TEMPY = $FB
FRAME = $FC
TEMPX = $FD
; Soft Switches
KEYPRESS= $C000
KEYRESET= $C010
SET_GR = $C050 ; Enable graphics
FULLGR = $C052 ; Full screen, no text
PAGE0 = $C054 ; Page0
PAGE1 = $C055 ; Page1
LORES = $C056 ; Enable LORES graphics
; ROM routines
PLOT = $F800 ; plot, horiz=y, vert=A (A trashed, XY Saved)
SETCOL = $F864
TEXT = $FB36 ;; Set text mode
BASCALC = $FBC1
SETGR = $FB40
HOME = $FC58 ;; Clear the text screen
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
HLINE = $F819
.zeropage
; orig = 42
; make 32x32
checkers:
;===================
; init screen
jsr SETGR ; 3
; bit FULLGR ; 3
;====
; 6
checkers_forever:
inc FRAME ; 2
ldx #39 ; 2
yloop:
ldy #39 ; 2
xloop:
; sec ; 1
tya ; 1
sbc FRAME ; 2
;sta X2 ; 2
sta COLOR ; 2
txa ; 1
sbc #0 ; 2
; eor X2 ; 2
eor COLOR ; 2
; ora #$DC ; 2
; adc #1 ; 2
; sta COLOR
; jsr SETCOL ; 3
txa ; A==Y1 ; 1
jsr PLOT ; (X2,Y1) ; 3
dey ; 1
bpl xloop ; 2
dex ; 1
bpl yloop ; 2
bmi checkers_forever ; 2

View File

@ -1,4 +1,4 @@
5 HOME
100 PRINT "SOME DEMOS BASED ON"
110 PRINT "HELMOOD'S MEMORIES"
110 PRINT "HELLMOOD'S MEMORIES"
120 PRINT CHR$(4);"CATALOG"