From 261f4ca6e29ee332ed4671bd81723f4dfa4c7307 Mon Sep 17 00:00:00 2001 From: flowenol Date: Sun, 7 Feb 2021 00:09:16 +0100 Subject: [PATCH] changed assembly source files extensions to *.a65 && introduced new Applesoft BASIC program entry in rom content --- Makefile | 2 +- src/{cartridge.xa => cartridge.a65} | 2 +- src/{rom_content.xa => rom_content.a65} | 73 +++++++++++++++++++++++-- 3 files changed, 71 insertions(+), 6 deletions(-) rename src/{cartridge.xa => cartridge.a65} (99%) rename src/{rom_content.xa => rom_content.a65} (63%) diff --git a/Makefile b/Makefile index 29d5b52..ef7e4e9 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ cartridge.bin: - xa -W -C -v -O ASCII -c src/cartridge.xa -l cartridge.label -o cartridge.bin + xa -W -C -v -O ASCII -c src/cartridge.a65 -l cartridge.label -o cartridge.bin clean: rm cartridge.bin cartridge.label diff --git a/src/cartridge.xa b/src/cartridge.a65 similarity index 99% rename from src/cartridge.xa rename to src/cartridge.a65 index 1a54de4..5d729ec 100644 --- a/src/cartridge.xa +++ b/src/cartridge.a65 @@ -499,4 +499,4 @@ welcome_str .byt $15,$0D,"AVAILABLE OPTIONS:",$0D,$0D choose_str .byt $0F,$0D,"CHOOSE OPTION:" loader_end -#include "src/rom_content.xa" +#include "src/rom_content.a65" diff --git a/src/rom_content.xa b/src/rom_content.a65 similarity index 63% rename from src/rom_content.xa rename to src/rom_content.a65 index f7e567e..3c836fb 100644 --- a/src/rom_content.xa +++ b/src/rom_content.a65 @@ -4,10 +4,14 @@ * = $4800 rom_content = $4800 -number_of_entries .byt $06 +; define the number of available entries +number_of_entries .byt $08 +; start of configuration section /* - How to store INTEGER BASIC programs? + Integer BASIC + + How to store INTEGER BASIC programs via Apple-1 Serial Interface? C100R 004A.00FFW 0800.0FFFW E2B3R - warm entry point @@ -20,6 +24,9 @@ basic_cont_start .word basic_cont basic_str .byt $0D,"INTEGER BASIC" basic_jmp_addr .word $e000 +/* + Apple 30th anniversary demo program +*/ apple30th apple30th_seg .byt $01 apple30th_len .word $0D80 @@ -29,6 +36,8 @@ apple30th_str .byt $13,"APPLE 30TH BIRTHDAY" apple30th_jmp_addr .word $0280 /* + Mike Willegal's memory test program + 00: test address expected actual @@ -56,7 +65,10 @@ memorytest_str .byt $10,"MEMORY TEST 280R" memorytest_jmp_addr .word $FF1F /* - 44: - disassembler start address + Disassembler program + + How to use: + 44: - disassembler start address */ disassembler disassembler_seg .byt $01 @@ -66,14 +78,21 @@ disassembler_1_cont_start .word disassembler_cont disassembler_str .byt $11,"DISASSEMBLER 800R" disassembler_jmp_addr .word $FF1F +/* + Applesoft BASIC port +*/ applesoft applesoft_seg .byt $01 -applesoft_len .word $1FFF +applesoft_len .word $2000 applesoft_addr .word $6000 applesoft_cont_start .word applesoft_cont applesoft_str .byt $15,"APPLESOFT BASIC 6000R" applesoft_jmp_addr .word $6000 + +/* + A sample Integer BASIC program with "Matrix" effect +*/ matrix matrix_seg .byt $03 matrix_1_len .word $1000 @@ -88,9 +107,55 @@ matrix_3_cont_start .word matrix_cont+$B6 matrix_str .byt $0E,"MATRIX (BASIC)" matrix_jmp_addr .word $E2B3 + +/* + A sample Applesoft BASIC program - lemonade stand simulator +*/ +lemo +lemo_seg .byt $03 +lemo_1_len .word $2000 +lemo_1_addr .word $6000 +lemo_1_cont_start .word applesoft_cont +lemo_2_len .word $1BF8 +lemo_2_addr .word $0801 +lemo_2_cont_start .word lemo_cont +lemo_3_len .word $000D +lemo_3_addr .word $0067 +lemo_3_cont_start .word lemo_fix_cont +lemo_str .byt $16,"LEMONADE STAND (ASOFT)" +lemo_jmp_addr .word $7DFE + + +/* + Another sample Applesoft BASIC program - counts to 10 in a loop +*/ +count10 +count10_seg .byt $03 +count10_1_len .word $2000 +count10_1_addr .word $6000 +count10_1_cont_start .word applesoft_cont +count10_2_len .word $1BF8 +count10_2_addr .word $0801 +count10_2_cont_start .word count10_cont +count10_3_len .word $000D +count10_3_addr .word $0067 +count10_3_cont_start .word count10_fix_cont +count10_str .byt $13,"COUNT TO 10 (ASOFT)" +count10_jmp_addr .word $7DFE + +; end of configuration section + +; start of binary content section basic_cont .bin 0,0,"inc/basic.bin" apple30th_cont .bin 0,0,"inc/apple30th.bin" memorytest_cont .bin 0,0,"inc/a1mt.bin" disassembler_cont .bin 0,0,"inc/disassembler.bin" applesoft_cont .bin 0,0,"inc/applesoft-lite.bin" +applesoft_zp_cont .bin 0,0,"inc/applesoft-zp.bin" matrix_cont .bin 0,0,"inc/basic/matrix-0800-1000.bin" +lemo_cont .bin 0,0,"inc/asoft/lemo.bin" +lemo_fix_cont .byt $01,$08,$F8,$23,$F8,$23,$F8,$23,$00,$40,$00,$FF,$00,$40 +count10_cont .bin 0,0,"inc/asoft/count10.bin" +count10_fix_cont .byt $01,$08,$51,$08,$58,$08,$58,$08,$00,$40,$00,$40,$00,$40 + +; end of binary content section