hgr: another short graphics demo

This commit is contained in:
Vince Weaver 2022-06-10 23:28:02 -04:00
parent cbdb595f63
commit 94bc946a4c
5 changed files with 184 additions and 4 deletions

View File

@ -22,7 +22,8 @@ appleiibot.dsk: E2.BAS FLAME.BAS FLAME2.BAS HELLO \
OVAL.BAS OVAL_HGR.BAS MOVING.BAS THICK_SINE.BAS TURKEY.BAS \
FLAME_HGR.BAS RECT.BAS SNOWY.BAS EDGAR.BAS OOPS4.BAS OOPS3.BAS \
HORROR.BAS DIAMOND.BAS LEMM.BAS OOPS.BAS SPLIT.BAS PARTICLE.BAS \
PARTICLE_HGR.BAS DIAMOND_SCROLL.BAS RANDOM_SCROLL.BAS STAR_BOUNCE.BAS
PARTICLE_HGR.BAS DIAMOND_SCROLL.BAS RANDOM_SCROLL.BAS STAR_BOUNCE.BAS\
OOZE.BAS
# cp $(EMPTY_DISK)/empty.dsk appleiibot.dsk
cp empty.dsk appleiibot.dsk
$(DOS33) -y appleiibot.dsk BSAVE -a 0x0300 LOAD
@ -122,6 +123,7 @@ appleiibot.dsk: E2.BAS FLAME.BAS FLAME2.BAS HELLO \
$(DOS33) -y appleiibot.dsk SAVE A DIAMOND_SCROLL.BAS
$(DOS33) -y appleiibot.dsk SAVE A RANDOM_SCROLL.BAS
$(DOS33) -y appleiibot.dsk SAVE A STAR_BOUNCE.BAS
$(DOS33) -y appleiibot.dsk SAVE A OOZE.BAS
####
@ -688,6 +690,12 @@ RANDOM_SCROLL.BAS: random_scroll.bas
STAR_BOUNCE.BAS: star_bounce.bas
$(TOKENIZE) < star_bounce.bas > STAR_BOUNCE.BAS
####
OOZE.BAS: ooze.bas
$(TOKENIZE) < ooze.bas > OOZE.BAS
####

View File

@ -0,0 +1,2 @@
1FORI=0TO30:POKE1013+I,4*PEEK(2125+I)-204+(PEEK(2156+I/3)-35)/4^(I-INT(I/3)*3):NEXT
2&"-hoOqTq]gNq\n:7p[3ZqW<Ugciren7l[8*<6#8%\+#

View File

@ -7,11 +7,13 @@ EMPTYDISK = ../../../empty_disk/empty.dsk
all: transition.dsk
transition.dsk: HELLO RECTANGLE BARS
transition.dsk: HELLO RECTANGLE BARS FOLD OOZE32
cp $(EMPTYDISK) transition.dsk
$(DOS33) -y transition.dsk SAVE A HELLO
$(DOS33) -y transition.dsk BSAVE -a 0x3f5 RECTANGLE
$(DOS33) -y transition.dsk BSAVE -a 0xc00 BARS
$(DOS33) -y transition.dsk BSAVE -a 0xc00 FOLD
$(DOS33) -y transition.dsk BSAVE -a 0xef5 OOZE32
###
@ -36,6 +38,23 @@ bars.o: bars.s
###
clean:
rm -f *~ *.o *.lst HELLO RECTANGLE BARS
FOLD: fold.o
ld65 -o FOLD fold.o -C $(LINKERSCRIPTS)/apple2_c00.inc
fold.o: fold.s
ca65 -o fold.o fold.s -l fold.lst
###
OOZE32: ooze32.o
ld65 -o OOZE32 ooze32.o -C $(LINKERSCRIPTS)/apple2_3f5.inc
ooze32.o: ooze32.s
ca65 -o ooze32.o ooze32.s -l ooze32.lst
###
clean:
rm -f *~ *.o *.lst HELLO RECTANGLE BARS FOLD OOZE32

View File

@ -0,0 +1,85 @@
; When to fold them
; zero page
GBASL = $26
GBASH = $27
YY = $69
ROW_SUM = $70
HGR_X = $E0
HGR_XH = $E1
HGR_Y = $E2
HGR_COLOR = $E4
HGR_PAGE = $E6
OUTL = $FD
OUTH = $FE
LINE = $FF
; soft-switches
FULLGR = $C052
PAGE1 = $C054
; ROM routines
HGR2 = $F3D8
HGR = $F3E2
HPOSN = $F411 ; (Y,X),(A) (values stores in HGRX,XH,Y)
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
;================================
; Clear screen and setup graphics
;================================
bars:
jsr HGR ; set hi-res 140x192, page2, fullscreen
; A and Y both 0 at end
; copy in some nonsense
; ldy #0
;loop:
;src_smc:
; lda $d000,Y
;dst_smc:
; sta $4000,Y
; dey
; bne loop
; inc src_smc+2
; inc dst_smc+2
; lda dst_smc+2
; cmp #$60
; bne loop
lda #$d0
sta OUTH
lda #$00
sta OUTL
ldy #0
sty LINE
line_loop:
lda LINE
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
; first top right
ldy #39
out_loop:
lda (OUTL),Y
sta (GBASL),Y
dey
bpl out_loop
inc LINE
lda LINE
cmp #192
bne line_loop
end:
jmp end

View File

@ -0,0 +1,66 @@
; Ooze32
; zero page
GBASL = $26
GBASH = $27
YY = $69
ROW_SUM = $70
HGR_X = $E0
HGR_XH = $E1
HGR_Y = $E2
HGR_COLOR = $E4
HGR_PAGE = $E6
OUTL = $FD
OUTH = $FE
LINE = $FF
; soft-switches
FULLGR = $C052
PAGE1 = $C054
; ROM routines
HGR2 = $F3D8
HGR = $F3E2
HPOSN = $F411 ; (Y,X),(A) (values stores in HGRX,XH,Y)
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
;================================
; Clear screen and setup graphics
;================================
bars:
jsr HGR ; set hi-res 140x192, page2, fullscreen
; A and Y both 0 at end
forever:
sta OUTL
sta LINE
lda #$d0
sta OUTH
line_loop:
lda LINE
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
; first top right
ldy #0
out_loop:
lda (OUTL),Y
sta (GBASL),Y
dey
bne out_loop
inc LINE
; lda LINE
; cmp #192
bne line_loop
end:
bpl forever