diff --git a/demos/32b/Makefile b/demos/32b/Makefile new file mode 100644 index 00000000..aa08db50 --- /dev/null +++ b/demos/32b/Makefile @@ -0,0 +1,28 @@ +include ../../Makefile.inc + +DOS33 = ../../utils/dos33fs-utils/dos33 +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft + +all: small.dsk + +small.dsk: SMALL HELLO + cp empty.dsk small.dsk + $(DOS33) -y small.dsk SAVE A HELLO + $(DOS33) -y small.dsk BSAVE -a 0x1000 SMALL + +### + +SMALL: small.o + ld65 -o SMALL small.o -C ../../linker_scripts/apple2_1000.inc + +small.o: small.s + ca65 -o small.o small.s -l small.lst + +### + +HELLO: hello.bas + $(TOKENIZE) < hello.bas > HELLO + + +clean: + rm -f *~ *.o SMALL diff --git a/demos/32b/README b/demos/32b/README new file mode 100644 index 00000000..94b56e49 --- /dev/null +++ b/demos/32b/README @@ -0,0 +1,2 @@ +some attempts at really small demos for Apple II + diff --git a/demos/another_myst/Makefile b/demos/another_myst/Makefile index 22cdfa49..f05f1971 100644 --- a/demos/another_myst/Makefile +++ b/demos/another_myst/Makefile @@ -1,9 +1,9 @@ -include ../Makefile.inc - -DOS33 = ../dos33fs-utils/dos33 -PNG2RLE = ../gr-utils/png2rle -PNG2LZ4 = ../gr-utils/png2lz4 +include ../../Makefile.inc +DOS33 = ../../utils/dos33fs-utils/dos33 +PNG2RLE = ../../utils/gr-utils/png2rle +PNG2LZ4 = ../../utils/gr-utils/png2lz4 +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft all: am.dsk @@ -17,7 +17,7 @@ am.dsk: HELLO ANOTHERMIST INTRO TITLE #### INTRO: intro.o - ld65 -o INTRO intro.o -C ../linker_scripts/apple2_1700_9000.inc + ld65 -o INTRO intro.o -C ../../linker_scripts/apple2_1700_9000.inc intro.o: intro.s \ gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s gr_putsprite.s \ @@ -37,7 +37,7 @@ intro_data_01.lz4: intro_data_01 truncate -s-8 intro_data_01.lz4 intro_data_01: intro_data_01.o - ld65 -o intro_data_01 intro_data_01.o -C ../linker_scripts/apple2_9000.inc + ld65 -o intro_data_01 intro_data_01.o -C ../../linker_scripts/apple2_9000.inc intro_data_01.o: intro_data_01.s ca65 -o intro_data_01.o intro_data_01.s -l intro_data_01.lst @@ -48,7 +48,7 @@ intro_data_04.lz4: intro_data_04 truncate -s-8 intro_data_04.lz4 intro_data_04: intro_data_04.o - ld65 -o intro_data_04 intro_data_04.o -C ../linker_scripts/apple2_9000.inc + ld65 -o intro_data_04 intro_data_04.o -C ../../linker_scripts/apple2_9000.inc intro_data_04.o: intro_data_04.s ca65 -o intro_data_04.o intro_data_04.s -l intro_data_04.lst @@ -59,7 +59,7 @@ intro_data_06.lz4: intro_data_06 truncate -s-8 intro_data_06.lz4 intro_data_06: intro_data_06.o - ld65 -o intro_data_06 intro_data_06.o -C ../linker_scripts/apple2_9000.inc + ld65 -o intro_data_06 intro_data_06.o -C ../../linker_scripts/apple2_9000.inc intro_data_06.o: intro_data_06.s ca65 -o intro_data_06.o intro_data_06.s -l intro_data_06.lst @@ -70,7 +70,7 @@ intro_data_08.lz4: intro_data_08 truncate -s-8 intro_data_08.lz4 intro_data_08: intro_data_08.o - ld65 -o intro_data_08 intro_data_08.o -C ../linker_scripts/apple2_9000.inc + ld65 -o intro_data_08 intro_data_08.o -C ../../linker_scripts/apple2_9000.inc intro_data_08.o: intro_data_08.s ca65 -o intro_data_08.o intro_data_08.s -l intro_data_08.lst @@ -81,7 +81,7 @@ intro_data_09.lz4: intro_data_09 truncate -s-8 intro_data_09.lz4 intro_data_09: intro_data_09.o - ld65 -o intro_data_09 intro_data_09.o -C ../linker_scripts/apple2_9000.inc + ld65 -o intro_data_09 intro_data_09.o -C ../../linker_scripts/apple2_9000.inc intro_data_09.o: intro_data_09.s ca65 -o intro_data_09.o intro_data_09.s -l intro_data_09.lst @@ -92,7 +92,7 @@ intro_data_09.o: intro_data_09.s #### LOADER: loader.o - ld65 -o LOADER loader.o -C ../linker_scripts/apple2_1400.inc + ld65 -o LOADER loader.o -C ../../linker_scripts/apple2_1400.inc loader.o: loader.s ca65 -o loader.o loader.s -l loader.lst @@ -100,7 +100,7 @@ loader.o: loader.s #### LOADER2: loader2.o - ld65 -o LOADER2 loader2.o -C ../linker_scripts/apple2_1400.inc + ld65 -o LOADER2 loader2.o -C ../../linker_scripts/apple2_1400.inc loader2.o: loader2.s ca65 -o loader2.o loader2.s -l loader2.lst @@ -108,7 +108,7 @@ loader2.o: loader2.s #### TITLE: title.o - ld65 -o TITLE title.o -C ../linker_scripts/apple2_d00.inc + ld65 -o TITLE title.o -C ../../linker_scripts/apple2_d00.inc title.o: title.s loader.s ca65 -o title.o title.s -l title.lst @@ -119,19 +119,19 @@ title.o: title.s loader.s HELLO: hello.bas - ../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO + $(TOKENIZE) < hello.bas > HELLO #### HELLO2: hello2.bas - ../asoft_basic-utils/tokenize_asoft < hello2.bas > HELLO2 + $(TOKENIZE) < hello2.bas > HELLO2 ##### ANOTHERMIST: anothermist.o - ld65 -o ANOTHERMIST anothermist.o -C ../linker_scripts/apple2_1700.inc + ld65 -o ANOTHERMIST anothermist.o -C ../../linker_scripts/apple2_1700.inc anothermist.o: anothermist.s \ pt3_lib_core.s pt3_lib_init.s pt3_lib_mockingboard_detect.s \ @@ -147,7 +147,7 @@ compress_test.inc: intro_graphics/07_soda/drinking01.png $(PNG2LZ4) asm intro_graphics/07_soda/drinking01.png test_lz4 >> compress_test.inc COMPRESS-TEST: compress_test.o - ld65 -o COMPRESS-TEST compress_test.o -C ../linker_scripts/apple2_2000.inc + ld65 -o COMPRESS-TEST compress_test.o -C ../../linker_scripts/apple2_2000.inc compress_test.o: compress_test.s lz4_decode.s compress_test.inc ca65 -o compress_test.o compress_test.s -l compress_test.lst diff --git a/demos/applebot_demo/Makefile b/demos/applebot_demo/Makefile index 22310f3f..2a76e062 100644 --- a/demos/applebot_demo/Makefile +++ b/demos/applebot_demo/Makefile @@ -1,9 +1,10 @@ -include ../Makefile.inc +include ../../Makefile.inc -DOS33 = ../dos33fs-utils/dos33 -TOKENIZE = ../asoft_basic-utils/tokenize_asoft -PNG2RLE = ../gr-utils/png2rle +DOS33 = ../../utils/dos33fs-utils/dos33 +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft +PNG2RLE = ../../utils/gr-utils/png2rle LZSA = ~/research/lzsa/lzsa/lzsa +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft all: bot_demo.dsk @@ -17,7 +18,7 @@ bot_demo.dsk: HELLO LOADER ### 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 BOTDEMO.LZ4 ca65 -o loader.o loader.s -l loader.lst @@ -30,7 +31,7 @@ BOTDEMO.LZ4: BOTDEMO ### BOTDEMO: botdemo.o - ld65 -o BOTDEMO botdemo.o -C ../linker_scripts/apple2_6000.inc + ld65 -o BOTDEMO botdemo.o -C ../../linker_scripts/apple2_6000.inc botdemo.o: botdemo.s \ zp.inc hardware.inc nozp.inc timeline.inc \ @@ -43,7 +44,7 @@ botdemo.o: botdemo.s \ ### HELLO: hello.bas - ../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO + $(TOKENIZE) < hello.bas > HELLO ### diff --git a/demos/applebot_demo/README b/demos/applebot_demo/README new file mode 100644 index 00000000..31b4a375 --- /dev/null +++ b/demos/applebot_demo/README @@ -0,0 +1,12 @@ +Apple II Twitter bot demo + +Won 1st place retro demo at Demosplash 2020 + +Tricky as it is running small basic programs (that fit in 280 bytes) +while mockingboard music plays in the background, then manages to stop +after time, re-load another basic program, and execute, all from +the interrupt handler + +you'll need a IIe and a Mockingboard for this one as it depends on +the interrupts to work. + diff --git a/demos/fire/Makefile b/demos/fire/Makefile index 8e0ff8fc..169b892f 100644 --- a/demos/fire/Makefile +++ b/demos/fire/Makefile @@ -1,8 +1,8 @@ -include ../Makefile.inc - -DOS33 = ../dos33fs-utils/dos33 -PNG_TO_RLE = ../gr-utils/png2rle +include ../../Makefile.inc +DOS33 = ../../utils/dos33fs-utils/dos33 +PNG_TO_RLE = ../../utils/gr-utils/png2rle +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft all: fire.dsk @@ -19,7 +19,7 @@ fire.dsk: FIRE FIRE_TINY FIRE_FIRMWARE FIRE_EXTREME FIRE_QKUMBA HELLO COOL_EFFEC #### FIRE: fire.o - ld65 -o FIRE fire.o -C ../linker_scripts/apple2_1000.inc + ld65 -o FIRE fire.o -C ../../linker_scripts/apple2_1000.inc fire.o: fire.s gr_fast_clear.s vapor_lock.s \ delay_a.s @@ -28,7 +28,7 @@ fire.o: fire.s gr_fast_clear.s vapor_lock.s \ #### FIRE_TINY: fire_tiny.o - ld65 -o FIRE_TINY fire_tiny.o -C ../linker_scripts/apple2_70.inc + ld65 -o FIRE_TINY fire_tiny.o -C ../../linker_scripts/apple2_70.inc fire_tiny.o: fire_tiny.s ca65 -o fire_tiny.o fire_tiny.s -l fire_tiny.lst @@ -36,7 +36,7 @@ fire_tiny.o: fire_tiny.s #### FIRE_FIRMWARE: fire_firmware.o - ld65 -o FIRE_FIRMWARE fire_firmware.o -C ../linker_scripts/apple2_70.inc + ld65 -o FIRE_FIRMWARE fire_firmware.o -C ../../linker_scripts/apple2_70.inc fire_firmware.o: fire_firmware.s ca65 -o fire_firmware.o fire_firmware.s -l fire_firmware.lst @@ -44,7 +44,7 @@ fire_firmware.o: fire_firmware.s #### FIRE_EXTREME: fire_extreme.o - ld65 -o FIRE_EXTREME fire_extreme.o -C ../linker_scripts/apple2_70.inc + ld65 -o FIRE_EXTREME fire_extreme.o -C ../../linker_scripts/apple2_70.inc fire_extreme.o: fire_extreme.s ca65 -o fire_extreme.o fire_extreme.s -l fire_extreme.lst @@ -52,7 +52,7 @@ fire_extreme.o: fire_extreme.s #### FIRE_HIGH: fire_high.o - ld65 -o FIRE_HIGH fire_high.o -C ../linker_scripts/apple2_c00.inc + ld65 -o FIRE_HIGH fire_high.o -C ../../linker_scripts/apple2_c00.inc fire_high.o: fire_high.s ca65 -o fire_high.o fire_high.s -l fire_high.lst @@ -61,7 +61,7 @@ fire_high.o: fire_high.s #### FIRE_QKUMBA: fire_qkumba.o - ld65 -o FIRE_QKUMBA fire_qkumba.o -C ../linker_scripts/apple2_70.inc + ld65 -o FIRE_QKUMBA fire_qkumba.o -C ../../linker_scripts/apple2_70.inc fire_qkumba.o: fire_qkumba.s ca65 -o fire_qkumba.o fire_qkumba.s -l fire_qkumba.lst @@ -71,7 +71,7 @@ fire_qkumba.o: fire_qkumba.s #### COOL_EFFECT: cool_effect.o - ld65 -o COOL_EFFECT cool_effect.o -C ../linker_scripts/apple2_70.inc + ld65 -o COOL_EFFECT cool_effect.o -C ../../linker_scripts/apple2_70.inc cool_effect.o: cool_effect.s ca65 -o cool_effect.o cool_effect.s -l cool_effect.lst @@ -81,7 +81,7 @@ cool_effect.o: cool_effect.s RASTER: raster.o - ld65 -o RASTER raster.o -C ../linker_scripts/apple2_70.inc + ld65 -o RASTER raster.o -C ../../linker_scripts/apple2_70.inc raster.o: raster.s ca65 -o raster.o raster.s -l raster.lst @@ -89,13 +89,13 @@ raster.o: raster.s #### HELLO: hello.bas - ../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO + $(TOKENIZE) < hello.bas > HELLO ##### clean: - rm -f *~ *.o *.lst FIRE FIRE_TINY FIRE_FIRMWARE COOL_EFFECT HELLO FIRE_EXTREME FIRE_QKUMBA RASTER + rm -f *~ *.o *.lst FIRE FIRE_TINY FIRE_FIRMWARE COOL_EFFECT HELLO FIRE_EXTREME FIRE_QKUMBA RASTER idiot_control diff --git a/demos/fire/README b/demos/fire/README new file mode 100644 index 00000000..b0c74ba8 --- /dev/null +++ b/demos/fire/README @@ -0,0 +1,5 @@ +Small fire effects, this is "doom fire" from psx doom +as popularized by Fabien Sanglard + +64-byte one is quite nice + diff --git a/demos/hellmood_memories/Makefile b/demos/hellmood_memories/Makefile index 279e3e92..3056b8a4 100644 --- a/demos/hellmood_memories/Makefile +++ b/demos/hellmood_memories/Makefile @@ -100,6 +100,6 @@ CIRCLES.BAS: zooming_circles.bas clean: rm -f *~ *.o *.lst HELLO CIRCLES.BAS CIRCLES CHECKERS \ - CHECKERS_SMALL PLANE SIER TUNNEL TNM \ + CIRCLES_NORMAL CHECKERS_SMALL PLANE SIER TUNNEL TNM \ division_table diff --git a/demos/3d/3d.dsk b/graphics/3d/3d.dsk similarity index 100% rename from demos/3d/3d.dsk rename to graphics/3d/3d.dsk diff --git a/demos/3d/Makefile b/graphics/3d/Makefile similarity index 76% rename from demos/3d/Makefile rename to graphics/3d/Makefile index f236175c..b9fcf0db 100644 --- a/demos/3d/Makefile +++ b/graphics/3d/Makefile @@ -1,8 +1,8 @@ -include ../Makefile.inc +include ../../Makefile.inc -DOS33 = ../dos33fs-utils/dos33 -TOKENIZE = ../asoft_basic-utils/tokenize_asoft -PNG2DHGR = ../hgr-utils/png2dhgr +DOS33 = ../../utils/dos33fs-utils/dos33 +TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft +PNG2DHGR = ../../utils/hgr-utils/png2dhgr all: 3d.dsk @@ -31,12 +31,12 @@ CUBE_PINK.BIN: cube_pink_bg.png ### HELLO: hello.bas - ../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO + $(TOKENIZE) < hello.bas > HELLO ### LOAD: load.bas - ../asoft_basic-utils/tokenize_asoft < load.bas > LOAD + $(TOKENIZE) < load.bas > LOAD #### diff --git a/graphics/3d/README b/graphics/3d/README new file mode 100644 index 00000000..79c63689 --- /dev/null +++ b/graphics/3d/README @@ -0,0 +1,5 @@ +attempts at getting anaglyph (3d-glasses) 3d working on Apple II +qkumb a suggested this + +not much luck + diff --git a/demos/3d/cube_black_bg.png b/graphics/3d/cube_black_bg.png similarity index 100% rename from demos/3d/cube_black_bg.png rename to graphics/3d/cube_black_bg.png diff --git a/demos/3d/cube_dhgr_test.png b/graphics/3d/cube_dhgr_test.png similarity index 100% rename from demos/3d/cube_dhgr_test.png rename to graphics/3d/cube_dhgr_test.png diff --git a/demos/3d/cube_pink_bg.png b/graphics/3d/cube_pink_bg.png similarity index 100% rename from demos/3d/cube_pink_bg.png rename to graphics/3d/cube_pink_bg.png diff --git a/demos/3d/cube_white_bg.png b/graphics/3d/cube_white_bg.png similarity index 100% rename from demos/3d/cube_white_bg.png rename to graphics/3d/cube_white_bg.png diff --git a/demos/3d/empty.dsk b/graphics/3d/empty.dsk similarity index 100% rename from demos/3d/empty.dsk rename to graphics/3d/empty.dsk diff --git a/demos/3d/hello.bas b/graphics/3d/hello.bas similarity index 100% rename from demos/3d/hello.bas rename to graphics/3d/hello.bas diff --git a/demos/3d/load.bas b/graphics/3d/load.bas similarity index 100% rename from demos/3d/load.bas rename to graphics/3d/load.bas diff --git a/graphics/Makefile b/graphics/Makefile index 6ef00a9d..ef5614b1 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -1,14 +1,20 @@ all: + cd 3d && make cd dhgr && make cd dhgr_viewer && make + cd dgr && make + cd galaxy && make cd gr && make # cd gr_viewer && make cd hgr && make # cd hgr_viewer && make clean: + cd 3d && make clean cd dhgr && make clean cd dhgr_viewer && make clean + cd dgr && make clean + cd galaxy && make clean cd gr && make clean cd gr_viewer && make clean cd hgr && make clean diff --git a/graphics/README b/graphics/README index d1b33036..2ab938f6 100644 --- a/graphics/README +++ b/graphics/README @@ -1,11 +1,22 @@ Testbeds for various graphics modes ++3d + some attempts at getting anaglyph 3d (3d graphics) working + on Apple II. Didn't work + ++ dgr + code for testing double lores + + dhgr code testing out double-hires + dhgr_viewer a double-hires image viewer ++ galaxy + an implementation of a galaxy algorithm that looked cool + fantastically slow on Apple II + + gr code for testing lores diff --git a/graphics/dgr/Makefile b/graphics/dgr/Makefile new file mode 100644 index 00000000..7b126009 --- /dev/null +++ b/graphics/dgr/Makefile @@ -0,0 +1,7 @@ +all: + cd dlowres_mode7 && make + +clean: + cd dlowres_mode7 && make clean + rm -f *~ + diff --git a/graphics/dgr/README b/graphics/dgr/README new file mode 100644 index 00000000..cf8e4626 --- /dev/null +++ b/graphics/dgr/README @@ -0,0 +1,3 @@ + ++ dlowres_mode7 + the mode7 demo but in double lores diff --git a/demos/dlowres_mode7/Makefile b/graphics/dgr/dlowres_mode7/Makefile similarity index 59% rename from demos/dlowres_mode7/Makefile rename to graphics/dgr/dlowres_mode7/Makefile index 0fc79a64..abe5a22a 100644 --- a/demos/dlowres_mode7/Makefile +++ b/graphics/dgr/dlowres_mode7/Makefile @@ -1,13 +1,14 @@ -include ../Makefile.inc +include ../../../Makefile.inc -DOS33 = ../dos33fs-utils/dos33 -PNG2GR = ../gr-utils/png2gr -PNG2RLE = ../gr-utils/png2rle +DOS33 = ../../../utils/dos33fs-utils/dos33 +PNG2GR = ../../../utils/gr-utils/png2gr +PNG2RLE = ../../../utils/gr-utils/png2rle +TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft all: dlowres_mode7.dsk $(DOS33): - cd ../dos33fs-utils && make + cd ../../../utils/dos33fs-utils && make dlowres_mode7.dsk: $(DOS33) DLOWRES_MODE7 $(DOS33) -y dlowres_mode7.dsk BSAVE -a 0x1000 DLOWRES_MODE7 @@ -23,5 +24,5 @@ dlowres_mode7.o: dlowres_mode7.s \ ca65 -o dlowres_mode7.o dlowres_mode7.s -l dlowres_mode7.lst clean: - rm -f *~ *.o DLOWRES_MODE7 *.lst + rm -f *~ *.o DLOWRES_MODE7 *.lst blah diff --git a/demos/dlowres_mode7/apple2_1000.inc b/graphics/dgr/dlowres_mode7/apple2_1000.inc similarity index 100% rename from demos/dlowres_mode7/apple2_1000.inc rename to graphics/dgr/dlowres_mode7/apple2_1000.inc diff --git a/demos/dlowres_mode7/dlowres_flying.s b/graphics/dgr/dlowres_mode7/dlowres_flying.s similarity index 100% rename from demos/dlowres_mode7/dlowres_flying.s rename to graphics/dgr/dlowres_mode7/dlowres_flying.s diff --git a/demos/dlowres_mode7/dlowres_mode7.dsk b/graphics/dgr/dlowres_mode7/dlowres_mode7.dsk similarity index 100% rename from demos/dlowres_mode7/dlowres_mode7.dsk rename to graphics/dgr/dlowres_mode7/dlowres_mode7.dsk diff --git a/demos/dlowres_mode7/dlowres_mode7.s b/graphics/dgr/dlowres_mode7/dlowres_mode7.s similarity index 100% rename from demos/dlowres_mode7/dlowres_mode7.s rename to graphics/dgr/dlowres_mode7/dlowres_mode7.s diff --git a/demos/dlowres_mode7/dlowres_sprites.inc b/graphics/dgr/dlowres_mode7/dlowres_sprites.inc similarity index 100% rename from demos/dlowres_mode7/dlowres_sprites.inc rename to graphics/dgr/dlowres_mode7/dlowres_sprites.inc diff --git a/demos/dlowres_mode7/dlowres_utils.s b/graphics/dgr/dlowres_mode7/dlowres_utils.s similarity index 100% rename from demos/dlowres_mode7/dlowres_utils.s rename to graphics/dgr/dlowres_mode7/dlowres_utils.s diff --git a/demos/dlowres_mode7/dlowres_zp.inc b/graphics/dgr/dlowres_mode7/dlowres_zp.inc similarity index 100% rename from demos/dlowres_mode7/dlowres_zp.inc rename to graphics/dgr/dlowres_mode7/dlowres_zp.inc diff --git a/demos/dlowres_mode7/fast_multiply.s b/graphics/dgr/dlowres_mode7/fast_multiply.s similarity index 100% rename from demos/dlowres_mode7/fast_multiply.s rename to graphics/dgr/dlowres_mode7/fast_multiply.s