diff --git a/graphics/gr/Makefile b/graphics/gr/Makefile new file mode 100644 index 00000000..2f49708c --- /dev/null +++ b/graphics/gr/Makefile @@ -0,0 +1,23 @@ +include ../../Makefile.inc + +DOS33 = ../../utils/dos33fs-utils/dos33 +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft + +all: gr.dsk + +gr.dsk: SNOW + cp empty.dsk gr.dsk + $(DOS33) -y gr.dsk BSAVE -a 0x0300 SNOW + +### + +SNOW: snow.o + ld65 -o SNOW snow.o -C ../../linker_scripts/apple2_300.inc + +snow.o: snow.s + ca65 -o snow.o snow.s -l snow.lst + +### + +clean: + rm -f *~ *.o *.lst SNOW diff --git a/graphics/gr/empty.dsk b/graphics/gr/empty.dsk new file mode 100644 index 00000000..b34eb519 Binary files /dev/null and b/graphics/gr/empty.dsk differ diff --git a/graphics/gr/gr.dsk b/graphics/gr/gr.dsk new file mode 100644 index 00000000..b9656354 Binary files /dev/null and b/graphics/gr/gr.dsk differ diff --git a/graphics/gr/snow.s b/graphics/gr/snow.s new file mode 100644 index 00000000..54fe49ef --- /dev/null +++ b/graphics/gr/snow.s @@ -0,0 +1,120 @@ +GBASL = $26 +GBASH = $27 +HGRPAGE = $E6 + +PAGE0 = $C054 +PAGE1 = $C055 + +HGR = $F3E2 +HGR2 = $F3D8 +HCLR = $F3F2 +HPOSN = $F411 +WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us + +snow: + jsr HGR + jsr HGR2 + lda #0 + sta ybase + lda #$20 + sta HGRPAGE + +move_snow: + lda HGRPAGE + cmp #$20 + beq show_page1 +show_page2: + bit PAGE1 + lsr HGRPAGE + bne doit + +show_page1: + bit PAGE0 + asl HGRPAGE + +doit: + jsr HCLR + + lda # HELLO + $(TOKENIZER) < hello.bas > HELLO ### LOADER: loader.o - ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1000.inc + ld65 -o LOADER loader.o -C ../../linker_scripts/apple2_1000.inc loader.o: loader.s ca65 -o loader.o loader.s -l loader.lst