diff --git a/bot_demo/Makefile b/bot_demo/Makefile index 4a9ca1a8..bf0e2bc4 100644 --- a/bot_demo/Makefile +++ b/bot_demo/Makefile @@ -33,8 +33,8 @@ BOTDEMO: botdemo.o ld65 -o BOTDEMO botdemo.o -C ../linker_scripts/apple2_6000.inc botdemo.o: botdemo.s \ - zp.inc hardware.inc nozp.inc \ - load.s bg.inc \ + zp.inc hardware.inc nozp.inc timeline.inc \ + commands.s bg.inc \ interrupt_handler.s \ wipe.s ca65 -o botdemo.o botdemo.s -l botdemo.lst diff --git a/bot_demo/botdemo.s b/bot_demo/botdemo.s index 97a89d1f..ceb637b1 100644 --- a/bot_demo/botdemo.s +++ b/bot_demo/botdemo.s @@ -141,43 +141,6 @@ mock_string: mock2_string: .byte "WHERE AVAILABLE",0 -todo_list: - - .byte DO_LOAD,1 - .byte DO_LIST,5 - .byte DO_RUN,15 ; a2 - - .byte DO_LOAD,1 - .byte DO_LIST,4 - .byte DO_RUN,10 ; flyer - - .byte DO_LOAD,1 - .byte DO_LIST,4 - .byte DO_RUN,20 ; nyan - - .byte DO_LOAD,1 - .byte DO_LIST,5 - .byte DO_RUN,15 ; qr - - - - .byte DO_LOAD,1 - .byte DO_LIST,5 - .byte DO_RUN,15 - - .byte DO_LOAD,1 - .byte DO_LIST,5 - .byte DO_RUN,15 - - .byte DO_LOAD,1 - .byte DO_LIST,5 - .byte DO_RUN,15 - - .byte DO_LOAD,1 - .byte DO_LIST,5 - .byte DO_RUN,15 - - .byte DONE,$FF command: .byte $00 which: .byte $00 @@ -187,7 +150,6 @@ original_stack: .byte $00 .include "gr_unrle.s" .include "gr_offsets.s" -; .include "gr_copy.s" .include "bg.inc" .include "pt3_lib_core.s" @@ -197,8 +159,10 @@ original_stack: .byte $00 ; if you're self patching, detect has to be after interrupt_handler.s .include "pt3_lib_mockingboard_detect.s" +.include "commands.s" +.include "timeline.inc" + .include "wipe.s" -.include "load.s" .include "nozp.inc" diff --git a/bot_demo/load.s b/bot_demo/commands.s similarity index 83% rename from bot_demo/load.s rename to bot_demo/commands.s index 10ef29ad..1fcd8ffa 100644 --- a/bot_demo/load.s +++ b/bot_demo/commands.s @@ -245,58 +245,3 @@ file_size: .word $dede which_file: .byte $0 -file_list: - .word a2,a2_end - .word flyer,flyer_end - .word nyan,nyan_end - .word autumn,autumn_end - .word rle,rle_end - .word raster,raster_end - .word qr,qr_end - .word flame,flame_end ; flame destroys zero page - - -title_list: - .word flyer_title - .word nyan_title - .word qr_title - -flyer_title: - .byte 8,10,"HI-RES SHAPETABLE FLYER",0 -nyan_title: - .byte 8,10,"HI-RES ANIMATED NYAN CAT",0 -qr_title: - .byte 0,10,"MYSTERY BAR CODE WILL NEVER LET YOU DOWN",0 - - -flyer: -.incbin "FLYER.BAS" -flyer_end: - -nyan: -.incbin "NYAN.BAS" -nyan_end: - -qr: -.incbin "QR.BAS" -qr_end: - -flame: -.incbin "FLAME2.BAS" -flame_end: - -a2: -.incbin "A2.BAS" -a2_end: - -autumn: -.incbin "AUTUMN.BAS" -autumn_end: - -rle: -.incbin "RLE.BAS" -rle_end: - -raster: -.incbin "RASTER4.BAS" -raster_end: diff --git a/bot_demo/hello.bas b/bot_demo/hello.bas index 8d480428..f8d8785f 100644 --- a/bot_demo/hello.bas +++ b/bot_demo/hello.bas @@ -1,7 +1,11 @@ 5 HOME 10 PRINT " LOADING APPLEBOT DEMO V0.1" -15 PRINT -20 HTAB 15:PRINT " _ " -30 HTAB 15:PRINT " _: :_ _" -40 HTAB 15:PRINT ":_: _: : " -50 PRINT CHR$(4)"BRUN LOADER" +20 PRINT +30 PRINT " A COLLECTION OF BASIC DEMOS" +40 PRINT " THAT EACH FIT IN A 280 CHARACTER TWEET" +42 PRINT " FIRST TESTED ON THE @APPLEIIBOT" +45 PRINT +50 HTAB 15:PRINT " _ " +60 HTAB 15:PRINT " _: :_ _" +70 HTAB 15:PRINT ":_: _: : " +80 PRINT CHR$(4)"BRUN LOADER" diff --git a/bot_demo/nozp.inc b/bot_demo/nozp.inc new file mode 100644 index 00000000..239a25c1 --- /dev/null +++ b/bot_demo/nozp.inc @@ -0,0 +1,27 @@ +;; Things that normally would go in the zero page + + +AY_REGISTERS: +A_FINE_TONE: .byte $00 +A_COARSE_TONE: .byte $00 +B_FINE_TONE: .byte $00 +B_COARSE_TONE: .byte $00 +C_FINE_TONE: .byte $00 +C_COARSE_TONE: .byte $00 +NOISE: .byte $00 +ENABLE: +PT3_MIXER_VAL: .byte $00 +A_VOLUME: .byte $00 +B_VOLUME: .byte $00 +C_VOLUME: .byte $00 +ENVELOPE_FINE: .byte $00 +ENVELOPE_COARSE:.byte $00 +ENVELOPE_SHAPE: .byte $00 + +LOOP: .byte $00 +MB_VALUE: .byte $00 +DONE_PLAYING: .byte $00 +DONE_SONG: .byte $00 +PT3_TEMP: .byte $00 + + diff --git a/bot_demo/timeline.inc b/bot_demo/timeline.inc new file mode 100644 index 00000000..8c7d0265 --- /dev/null +++ b/bot_demo/timeline.inc @@ -0,0 +1,90 @@ +; flame: clean +; a2: clean +; flyer: clean +; nyan: clean +; rle: ?? +; autumn: ?? +; raster: ?? +; qr: ?? +; circles: ?? + + +todo_list: + + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; flame + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; a2 + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; flyer + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; nyan + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; autumn + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; rle + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; raster + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; dhgr + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; qr + .byte DO_LOAD,1, DO_LIST,4, DO_RUN,10 ; circles + .byte DONE,$FF + + +file_list: + .word flame,flame_end + .word a2,a2_end + .word flyer,flyer_end + .word nyan,nyan_end + .word autumn,autumn_end + .word rle,rle_end + .word raster,raster_end + .word dhgr,dhgr_end + .word qr,qr_end + .word circles,circles_end + +title_list: + .word flyer_title + .word nyan_title + .word qr_title + +flyer_title: + .byte 8,10,"HI-RES SHAPETABLE FLYER",0 +nyan_title: + .byte 8,10,"HI-RES ANIMATED NYAN CAT",0 +qr_title: + .byte 0,10,"MYSTERY BAR CODE WILL NEVER LET YOU DOWN",0 + + +flyer: +.incbin "FLYER.BAS" +flyer_end: + +nyan: +.incbin "NYAN.BAS" +nyan_end: + +qr: +.incbin "QR.BAS" +qr_end: + +flame: +.incbin "FLAME2.BAS" +flame_end: + +a2: +.incbin "A2.BAS" +a2_end: + +autumn: +.incbin "AUTUMN.BAS" +autumn_end: + +rle: +.incbin "RLE.BAS" +rle_end: + +raster: +.incbin "RASTER4.BAS" +raster_end: + +dhgr: +.incbin "DHGR.BAS" +dhgr_end: + +circles: +.incbin "CIRCLES.BAS" +circles_end: diff --git a/fire/fire_high.s b/fire/fire_high.s index cfe5b836..1afdf009 100644 --- a/fire/fire_high.s +++ b/fire/fire_high.s @@ -1,3 +1,5 @@ +; modified to avoid using zero-page addresses + ; Apple ][ Lo-res fire animation, size-optimized to 64 bytes ; by deater (Vince Weaver)