commit 01808f22efea814457a6aa300dbbd5bec197fb85 Author: Zorchenhimer Date: Thu Dec 18 21:09:22 2025 -0500 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cb247b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +dasm/ +bins/ + +*.tmp + +roms/Souseiki* +roms/souseiki* +roms/disksys.rom diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..8e568c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +.PRECIOUS: bins/* + +export PATH := $(PATH):/home/nick/code/nes/go-fds/bin + +all: dasm/disksys.asm \ + dasm/dk3_file4.asm \ + dasm/dk3_file4-post-copy.asm + +dasm/dk3_file4.asm: bins/dk3_file4.bin dk3_file4.cfg labels.cfg +dasm/dk3_file4-post-copy.asm: bins/dk3_file4.bin dk3_file4-post-copy.cfg labels.cfg +dasm/disksys.asm: disksys.cfg labels.cfg + +clean: + -rm dasm/* + +dasm/%.asm: %.cfg.tmp + da65 -i $< -o $@ + +%.cfg.tmp: %.cfg labels.cfg + cat $^ > $@ + +bins/dk3_file4.bin: roms/sf_dk3.fds + fdsextract --side 0 --file-num 4 --output $@ $^ + +#bin/dk3_file4.bin: +# fdsextract --side 0 --file-num 4 --output $@ diff --git a/disksys.cfg b/disksys.cfg new file mode 100644 index 0000000..b602d14 --- /dev/null +++ b/disksys.cfg @@ -0,0 +1,16 @@ + +global { + cpu "6502"; + inputname "roms/disksys.rom"; + startaddr $E000; + commentcolumn 40; + comments 3; +}; + +range { + name "vectors"; + type addrtable; + start $FFFA; + end $FFFF; +}; + diff --git a/dk3_file4-post-copy.cfg b/dk3_file4-post-copy.cfg new file mode 100644 index 0000000..45ba86d --- /dev/null +++ b/dk3_file4-post-copy.cfg @@ -0,0 +1,40 @@ +global { + cpu "6502"; + inputname "roms/dk3_file4.bin"; + startaddr $DC00; + commentcolumn 50; + comments 3; +}; + +label { addr $4C00; name "SF_4C00"; }; + +label { addr $7C47; name "L7C47"; paramsize 3; }; +label { addr $7C5F; name "L7C5F_loop"; }; +label { addr $7D83; name "L7D83_loop"; }; +label { addr $7DCA; name "SF_disable_fds_io"; }; + +label { addr $7C6B; name "cv7C6B"; }; +label { addr $7C6C; name "cv7C6C"; }; + +label { addr $7C7F; name "cv7C7F"; }; +label { addr $7C80; name "cv7C80"; }; + +label { addr $7C8C; name "cv7C8C"; }; +label { addr $7C8D; name "cv7C8D"; }; + +label { addr $7CE2; name "cv7CE2"; }; +label { addr $7CE5; name "cv7CE5"; }; + +label { addr $7D2E; name "cv7D2E"; }; +label { addr $7D3B; name "cv7D3B"; }; + +label { addr $7D88; name "cv7D88"; }; +label { addr $7D75; name "cv7D75"; }; + +range { start $7C47; end $7DB1; type code; }; +range { start $7DF1; end $7EFE; type bytetable; }; +range { start $7F39; end $7FFE; type bytetable; }; + +range { start $7EFF; end $7F36; type code; name "precopy_copyloop"; } ; +range { start $7DB2; end $7DC8; type bytetable; }; + diff --git a/dk3_file4.cfg b/dk3_file4.cfg new file mode 100644 index 0000000..c03abdc --- /dev/null +++ b/dk3_file4.cfg @@ -0,0 +1,27 @@ + +global { + cpu "6502"; + inputname "bins/dk3_file4.bin"; + startaddr $DC00; + commentcolumn 30; + comments 3; +}; + +range { + name "vectors"; + type addrtable; + start $DFF6; + end $DFFF; +}; + +range { start $DDF1; end $DEFF; type bytetable; }; +range { start $DF39; end $DFD8; type bytetable; }; +range { start $DFE3; end $DFEF; type bytetable; }; + +range { start $DF00; end $DF36; type code; }; + +label { name "entry"; addr $DF00; }; +label { name "ram_entry"; addr $DC00; }; +label { name "empty_vector"; addr $DFF0; }; +label { name "copy_loop_a"; addr $DF05; }; +label { name "copy_loop_b"; addr $DF20; }; diff --git a/labels.cfg b/labels.cfg new file mode 100644 index 0000000..985c982 --- /dev/null +++ b/labels.cfg @@ -0,0 +1,6 @@ + +label { addr $0100; name "FDS_nmi_flags"; }; +label { addr $0101; name "FDS_irq_flags"; }; +label { addr $E1B2; name "FDS_wait_for_vblank"; }; +label { addr $E7BB; name "FDS_write_vram_data"; paramsize 2; }; +label { addr $EAEA; name "FDS_set_scroll_and_nametable"; }; diff --git a/notes.txt b/notes.txt new file mode 100644 index 0000000..36ffda0 --- /dev/null +++ b/notes.txt @@ -0,0 +1,5 @@ + +$00 +$14 0001_0100 // written before jmp to ROM +$4C 0100_1100 // +$84 1000_0100 // written before copy loop into $E000 diff --git a/roms/sf_bb-ram.fds b/roms/sf_bb-ram.fds new file mode 120000 index 0000000..b3d9678 --- /dev/null +++ b/roms/sf_bb-ram.fds @@ -0,0 +1 @@ +Souseiki Fammy - BB RAM プラス (J) (Unl).fds \ No newline at end of file diff --git a/roms/sf_dk3.fds b/roms/sf_dk3.fds new file mode 120000 index 0000000..ca89010 --- /dev/null +++ b/roms/sf_dk3.fds @@ -0,0 +1 @@ +souseiki-fammy_donkey-kong-3.fds \ No newline at end of file diff --git a/roms/sf_rom-qd.fds b/roms/sf_rom-qd.fds new file mode 120000 index 0000000..3340bc1 --- /dev/null +++ b/roms/sf_rom-qd.fds @@ -0,0 +1 @@ +Souseiki Fammy - ROM-QD for 256K+64K (J) (Unl).fds \ No newline at end of file diff --git a/roms/sf_slow_qd.fds b/roms/sf_slow_qd.fds new file mode 120000 index 0000000..b0d6cbd --- /dev/null +++ b/roms/sf_slow_qd.fds @@ -0,0 +1 @@ +Souseiki Fammy - スロープラス for QD (J) (Unl).fds \ No newline at end of file diff --git a/roms/sf_slow_rom-qd.fds b/roms/sf_slow_rom-qd.fds new file mode 120000 index 0000000..d268b1a --- /dev/null +++ b/roms/sf_slow_rom-qd.fds @@ -0,0 +1 @@ +Souseiki Fammy - スロープラス for ROM-QD (J) (Unl).fds \ No newline at end of file diff --git a/roms/sf_slow_rom.fds b/roms/sf_slow_rom.fds new file mode 120000 index 0000000..8e8b222 --- /dev/null +++ b/roms/sf_slow_rom.fds @@ -0,0 +1 @@ +Souseiki Fammy - スロープラス for ROM (J) (Unl).fds \ No newline at end of file