/emu_65c02/cg_default/*.png
/emu_65c02/cg_default/*.ppm
/orig/APPLE Computer and Peripheral Card Roms Collection.zip
+/orig/Alien_Typhoon_1981_Starcraft.do
/orig/Apple_DOS_v3.3_1980_Apple.do
+/orig/Galaxian_1980_Starcraft.do
/orig/Star_Blazer_1981_Star_Craft.do
/shape/dhgr_pixel_shape_data_aux.inc
/shape/dhgr_pixel_shape_data_main.inc
.PHONY: all
all: \
+galaxian.ihx \
+alien_typhoon.ihx \
star_blazer_pack_rev.a2bin \
star_blazer_pack_fwd.a2bin \
lzss_unpack_rev.bin \
star_blazer_dejunked1.a2bin \
star_blazer_recrack_lzss.a2bin
+galaxian.ihx: \
+galaxian.a2bin \
+galaxian_segments.txt \
+Apple\ II+\ -\ 341-0020\ -\ Applesoft\ BASIC\ Autostart\ Monitor\ F800\ -\ 2716.bin
+ ./a2_load.py \
+--f8_rom="Apple II+ - 341-0020 - Applesoft BASIC Autostart Monitor F800 - 2716.bin" \
+0x9707 $< $@ <galaxian_segments.txt
+
+galaxian.a2bin: ../orig/Galaxian_1980_Starcraft.do
+ ${DOS33} $< LOAD "GALAXIAN" $@
+
+alien_typhoon.ihx: \
+alien_typhoon.a2bin \
+alien_typhoon_segments.txt
+ ./a2_load.py 0x8f98 $< $@ <alien_typhoon_segments.txt
+
+alien_typhoon.a2bin: ../orig/Alien_Typhoon_1981_Starcraft.do
+ ${DOS33} $< LOAD "ALIEN TYPHOON" $@
+
star_blazer_pack_rev.a2bin: lzss_unpack_rev.bin star_blazer.ihx
./a2_pack.py --rev ${LOAD_ADDR} $^ $@
./a2_load.py 0x17d1 $< $@ <star_blazer_segments.txt
star_blazer.a2bin: ../orig/Star_Blazer_1981_Star_Craft.do
- ${DOS33} ../orig/Star_Blazer_1981_Star_Craft.do LOAD "STAR BLAZER" $@
+ ${DOS33} $^ LOAD "STAR BLAZER" $@
star_blazer_dejunked0.a2bin: star_blazer.a2bin
./dejunk.py $< $@ 0
recrack_loader.rel: recrack_loader.asm
${AS6500} -l -o $<
+Apple\ II+\ -\ 341-0020\ -\ Applesoft\ BASIC\ Autostart\ Monitor\ F800\ -\ 2716.bin: \
+../orig/APPLE\ Computer\ and\ Peripheral\ Card\ Roms\ Collection.zip
+ rm -f "$@"
+ unzip "$<" "$@"
+ touch "$@"
+
clean:
rm -f \
*.a2bin \
EXIT_SUCCESS = 0
EXIT_FAILURE = 1
+in_f8_rom = None
+if len(sys.argv) >= 2 and sys.argv[1][:9] == '--f8_rom=':
+ in_f8_rom = sys.argv[1][9:]
+ del sys.argv[1]
if len(sys.argv) < 4:
- print(f'usage: {sys.argv[0]:s} entry_point in.a2bin out.ihx <segments.txt')
+ print(f'usage: {sys.argv[0]:s} [--f8_rom=rom.bin] entry_point in.a2bin out.ihx <segments.txt')
sys.exit(EXIT_FAILURE)
entry_point = int(sys.argv[1], 0)
in_a2bin = sys.argv[2]
mem = [0] * 0x10000
mem_used = [False] * 0x10000
+if in_f8_rom is not None:
+ with open(in_f8_rom, 'rb') as fin:
+ f8_rom = list(fin.read())
+ assert len(f8_rom) == 0x800
+ mem[0xf800:] = f8_rom
+
mem[load_addr:load_addr + load_size] = bin
mem_used[load_addr:load_addr + load_size] = [True] * load_size
if mpu.p & 8:
print('warning: d = 1')
if mpu.sp != 0xff:
- print('warning: s = 0x{mpu.sp:02x}')
+ print(f'warning: s = 0x{mpu.sp:02x}')
segments1 = []
for i in range(0x10000):
--- /dev/null
+[0x0400, 0xc000)
--- /dev/null
+[0x4000, 0xc000)
.PHONY: all
all: \
APPLE\ Computer\ and\ Peripheral\ Card\ Roms\ Collection.zip \
+Alien_Typhoon_1981_Starcraft.do \
Apple_DOS_v3.3_1980_Apple.do \
+Galaxian_1980_Starcraft.do \
Star_Blazer_1981_Star_Craft.do
# Apple II+ - 341-0011 - Applesoft BASIC D000 - 2716.bin
rm -f $@
wget https://mirrors.apple2.org.za/ftp.apple.asimov.net/emulators/rom_images/APPLE%20Computer%20and%20Peripheral%20Card%20Roms%20Collection.zip
+Alien_Typhoon_1981_Starcraft.do:
+ rm -f $@
+ wget https://archive.org/download/a2_Alien_Typhoon_1981_Starcraft/$@
+
# really the 1983 release, which I use as DOS reference
Apple_DOS_v3.3_1980_Apple.do:
rm -f $@
wget https://archive.org/download/a2_Apple_DOS_v3.3_1980_Apple/$@
+Galaxian_1980_Starcraft.do:
+ rm -f $@
+ wget https://archive.org/download/a2_Galaxian_1980_Starcraft/$@
+
Star_Blazer_1981_Star_Craft.do:
rm -f $@
wget https://archive.org/download/a2_Star_Blazer_1981_Star_Craft/$@
realclean:
rm -f \
APPLE\ Computer\ and\ Peripheral\ Card\ Roms\ Collection.zip \
+Alien_Typhoon_1981_Starcraft.do \
Apple_DOS_v3.3_1980_Apple.do \
+Galaxian_1980_Starcraft.do \
Star_Blazer_1981_Star_Craft.do