mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-29 08:55:10 +00:00
hgr: static
This commit is contained in:
parent
1e7a64719d
commit
66982968c1
@ -7,7 +7,8 @@ EMPTY_DISK = ../../../empty_disk
|
|||||||
|
|
||||||
all: wires.dsk
|
all: wires.dsk
|
||||||
|
|
||||||
wires.dsk: HELLO WIRES WIRES_BOT CYCLE STAGGERED BLUEORANGE BLUEORANGEZ
|
wires.dsk: HELLO WIRES WIRES_BOT CYCLE STAGGERED BLUEORANGE BLUEORANGEZ \
|
||||||
|
STATIC STATIC_COLUMN
|
||||||
cp $(EMPTY_DISK)/empty.dsk wires.dsk
|
cp $(EMPTY_DISK)/empty.dsk wires.dsk
|
||||||
$(DOS33) -y wires.dsk SAVE A HELLO
|
$(DOS33) -y wires.dsk SAVE A HELLO
|
||||||
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 WIRES
|
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 WIRES
|
||||||
@ -16,6 +17,8 @@ wires.dsk: HELLO WIRES WIRES_BOT CYCLE STAGGERED BLUEORANGE BLUEORANGEZ
|
|||||||
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 STAGGERED
|
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 STAGGERED
|
||||||
$(DOS33) -y wires.dsk BSAVE -a 0x0373 BLUEORANGE
|
$(DOS33) -y wires.dsk BSAVE -a 0x0373 BLUEORANGE
|
||||||
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 BLUEORANGEZ
|
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 BLUEORANGEZ
|
||||||
|
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 STATIC
|
||||||
|
$(DOS33) -y wires.dsk BSAVE -a 0x0C00 STATIC_COLUMN
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
@ -47,6 +50,22 @@ STAGGERED: staggered.o
|
|||||||
staggered.o: staggered.s
|
staggered.o: staggered.s
|
||||||
ca65 -o staggered.o staggered.s -l staggered.lst
|
ca65 -o staggered.o staggered.s -l staggered.lst
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
STATIC: static.o
|
||||||
|
ld65 -o STATIC static.o -C $(LINKER_SCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
static.o: static.s
|
||||||
|
ca65 -o static.o static.s -l static.lst
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
STATIC_COLUMN: static_column.o
|
||||||
|
ld65 -o STATIC_COLUMN static_column.o -C $(LINKER_SCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
static_column.o: static_column.s
|
||||||
|
ca65 -o static_column.o static_column.s -l static_column.lst
|
||||||
|
|
||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
@ -73,4 +92,4 @@ BLUEORANGEZ: blueorange.o
|
|||||||
######
|
######
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ *.o *.lst WIRES CYCLE
|
rm -f *~ *.o *.lst WIRES CYCLE STAGGERED STATIC STATIC_COLUMN
|
||||||
|
61
graphics/hgr/wires/static.s
Normal file
61
graphics/hgr/wires/static.s
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
; shimmery blue pattern
|
||||||
|
|
||||||
|
INDEXL = $F6
|
||||||
|
INDEXH = $F7
|
||||||
|
|
||||||
|
HGR2 = $F3D8 ; set hires page2 and clear $4000-$5fff
|
||||||
|
WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us
|
||||||
|
|
||||||
|
|
||||||
|
even_lookup=$f000
|
||||||
|
odd_lookup=$f100
|
||||||
|
|
||||||
|
|
||||||
|
staggered:
|
||||||
|
jsr HGR2 ; after, A=0, Y=0
|
||||||
|
|
||||||
|
tax ; init X to 0
|
||||||
|
stx INDEXL ; set INDEXL to 0
|
||||||
|
|
||||||
|
; pulse loop horizontal
|
||||||
|
outer_loop:
|
||||||
|
lda #$40 ; reset INDEXH to begin page2
|
||||||
|
sta INDEXH
|
||||||
|
|
||||||
|
inner_loop:
|
||||||
|
lda even_lookup,X ; get even color
|
||||||
|
sta (INDEXL),Y ; store it to memory
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda odd_lookup,X ; get odd color
|
||||||
|
sta (INDEXL),Y ; store it to memory
|
||||||
|
iny
|
||||||
|
|
||||||
|
bne inner_loop ; repeat for 256
|
||||||
|
|
||||||
|
inc INDEXH ; point to next page
|
||||||
|
|
||||||
|
inx ; point to next lookup
|
||||||
|
|
||||||
|
; txa ; wrap to 0..7
|
||||||
|
; and #$7
|
||||||
|
; tax
|
||||||
|
|
||||||
|
lda #$60 ; see if done
|
||||||
|
cmp INDEXH
|
||||||
|
bne inner_loop
|
||||||
|
|
||||||
|
; lda #100 ; A is $60 here
|
||||||
|
jsr WAIT ; pause a bit
|
||||||
|
|
||||||
|
; A is 0 here
|
||||||
|
|
||||||
|
inx ; offset next FRAME
|
||||||
|
|
||||||
|
jmp outer_loop
|
||||||
|
|
||||||
|
|
||||||
|
;even_lookup:
|
||||||
|
;.byte $D7,$DD,$F5,$D5, $D5,$D5,$D5,$D5
|
||||||
|
;odd_lookup:
|
||||||
|
;.byte $AA,$AA,$AA,$AB, $AB,$AE,$BA,$EA
|
61
graphics/hgr/wires/static_column.s
Normal file
61
graphics/hgr/wires/static_column.s
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
; shimmery blue pattern
|
||||||
|
|
||||||
|
INDEXL = $F6
|
||||||
|
INDEXH = $F7
|
||||||
|
|
||||||
|
HGR2 = $F3D8 ; set hires page2 and clear $4000-$5fff
|
||||||
|
WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us
|
||||||
|
|
||||||
|
|
||||||
|
even_lookup=$f000
|
||||||
|
odd_lookup=$f100
|
||||||
|
|
||||||
|
|
||||||
|
staggered:
|
||||||
|
jsr HGR2 ; after, A=0, Y=0
|
||||||
|
|
||||||
|
tax ; init X to 0
|
||||||
|
stx INDEXL ; set INDEXL to 0
|
||||||
|
|
||||||
|
; pulse loop horizontal
|
||||||
|
outer_loop:
|
||||||
|
lda #$40 ; reset INDEXH to begin page2
|
||||||
|
sta INDEXH
|
||||||
|
|
||||||
|
inner_loop:
|
||||||
|
lda even_lookup,X ; get even color
|
||||||
|
sta (INDEXL),Y ; store it to memory
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda odd_lookup,X ; get odd color
|
||||||
|
sta (INDEXL),Y ; store it to memory
|
||||||
|
iny
|
||||||
|
|
||||||
|
bne inner_loop ; repeat for 256
|
||||||
|
|
||||||
|
inc INDEXH ; point to next page
|
||||||
|
|
||||||
|
inx ; point to next lookup
|
||||||
|
|
||||||
|
txa ; wrap to 0..7
|
||||||
|
and #$7
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda #$60 ; see if done
|
||||||
|
cmp INDEXH
|
||||||
|
bne inner_loop
|
||||||
|
|
||||||
|
; lda #100 ; A is $60 here
|
||||||
|
jsr WAIT ; pause a bit
|
||||||
|
|
||||||
|
; A is 0 here
|
||||||
|
|
||||||
|
inx ; offset next FRAME
|
||||||
|
|
||||||
|
jmp outer_loop
|
||||||
|
|
||||||
|
|
||||||
|
;even_lookup:
|
||||||
|
;.byte $D7,$DD,$F5,$D5, $D5,$D5,$D5,$D5
|
||||||
|
;odd_lookup:
|
||||||
|
;.byte $AA,$AA,$AA,$AB, $AB,$AE,$BA,$EA
|
Loading…
Reference in New Issue
Block a user