diff --git a/CREDITS.md b/CREDITS.md index fb5040c3..bbf59ede 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -1,8 +1,9 @@ # CREDITS to people whose work was of great help to us -## for source code we reused +## for source code/assets we reused +* Retrofan - for his Mega65 banner artwork and PXLfont * TWW/CTR - for his keyboard handling code * Graham - for his PAL/NTSC detection routine * enthusi/Onslaught - for his example Turbo Tape 64 compatible loader diff --git a/Makefile b/Makefile index 2e0fb537..1768da54 100644 --- a/Makefile +++ b/Makefile @@ -91,29 +91,31 @@ TOOLS_LIST = $(pathsubst tools/%,build/tools/%,$(basename $(SRC_TOOLS))) # List of targets -TARGET_CUS_B = build/basic_custom.rom -TARGET_GEN_B = build/basic_generic.rom -TARGET_TST_B = build/basic_testing.rom -TARGET_U64_B = build/basic_ultimate64.rom +TARGET_CUS_B = build/basic_custom.rom +TARGET_GEN_B = build/basic_generic.rom +TARGET_TST_B = build/basic_testing.rom +TARGET_U64_B = build/basic_ultimate64.rom -TARGET_CUS_K = build/kernal_custom.rom -TARGET_GEN_K = build/kernal_generic.rom -TARGET_TST_K = build/kernal_testing.rom -TARGET_U64_K = build/kernal_ultimate64.rom +TARGET_CUS_K = build/kernal_custom.rom +TARGET_GEN_K = build/kernal_generic.rom +TARGET_TST_K = build/kernal_testing.rom +TARGET_U64_K = build/kernal_ultimate64.rom -TARGET_M65_x = build/mega65.rom -TARGET_X16_x = build/cx16-dummy.rom +TARGET_M65_x = build/mega65.rom +TARGET_M65_x_PXL = build/mega65_pxlfont.rom +TARGET_X16_x = build/cx16-dummy.rom -TARGET_LIST_CUS = $(TARGET_CUS_B) $(TARGET_CUS_K) -TARGET_LIST_GEN = $(TARGET_GEN_B) $(TARGET_GEN_K) -TARGET_LIST_TST = $(TARGET_TST_B) $(TARGET_TST_K) -TARGET_LIST_U64 = $(TARGET_U64_B) $(TARGET_U64_K) +TARGET_LIST_CUS = $(TARGET_CUS_B) $(TARGET_CUS_K) +TARGET_LIST_GEN = $(TARGET_GEN_B) $(TARGET_GEN_K) +TARGET_LIST_TST = $(TARGET_TST_B) $(TARGET_TST_K) +TARGET_LIST_U64 = $(TARGET_U64_B) $(TARGET_U64_K) -TARGET_LIST = build/chargen.rom \ +TARGET_LIST = build/chargen_openroms.rom \ $(TARGET_LIST_CUS) \ $(TARGET_LIST_GEN) \ $(TARGET_LIST_TST) \ $(TARGET_M65_x) \ + $(TARGET_M65_x_PXL) \ $(TARGET_LIST_U64) \ $(TARGET_X16_x) @@ -127,7 +129,7 @@ SEG_LIST_X16 = $(DIR_X16)/basic.seg_0 \ $(DIR_X16)/kernal.seg_0 \ $(DIR_X16)/kernal.seg_1 -REL_TARGET_LIST = $(TARGET_LIST_GEN) $(TARGET_LIST_TST) $(TARGET_M65_x) $(TARGET_LIST_U64) +REL_TARGET_LIST = $(TARGET_LIST_GEN) $(TARGET_LIST_TST) $(TARGET_M65_x) $(TARGET_M65_x_PXL) $(TARGET_LIST_U64) # Misc strings @@ -150,7 +152,7 @@ clean: updatebin: $(MAKE) -j64 --output-sync=target $(TARGET_LIST) $(TOOL_RELEASE) $(TOOL_RELEASE) -i ./build -o ./bin $(patsubst build/%,%,$(REL_TARGET_LIST)) - cp build/chargen.rom bin/chargen.rom + cp build/chargen_openroms.rom bin/chargen_openroms.rom # Rules - tools @@ -172,11 +174,17 @@ build/tools/%: tools/%.cc tools/common.h # Rules - CHARGEN -build/chargen.rom: $(TOOL_PNGPREPARE) assets/8x8font.png +build/chargen_openroms.rom: $(TOOL_PNGPREPARE) assets/8x8font.png $(TOOL_PNGPREPARE) charrom assets/8x8font.png $@ -build/chargen-patched.rom: $(TOOL_PATCH_CHARGEN) build/chargen.rom - $(TOOL_PATCH_CHARGEN) -i build/chargen.rom -o $@ -n 7px-OpenROMs +build/chargen_pxlfont.rom: bin/chargen_pxlfont_2.3.rom + cp $< $@ + +build/chargen_openroms.patched: $(TOOL_PATCH_CHARGEN) build/chargen_openroms.rom + $(TOOL_PATCH_CHARGEN) -i build/chargen_openroms.rom -o $@ -n 7px-OpenROMs + +build/chargen_pxlfont.patched: $(TOOL_PATCH_CHARGEN) build/chargen_pxlfont.rom + $(TOOL_PATCH_CHARGEN) -i build/chargen_pxlfont.rom -o $@ -n 6px-PXLfont # Dependencies - BASIC and KERNAL @@ -356,32 +364,49 @@ build/symbols_hybrid.vs: $(DIR_GEN)/KERNAL_combined.vs # Rules - platform 'Mega65' specific -$(TARGET_M65_x): $(SEG_LIST_M65) build/chargen.rom build/chargen-patched.rom +$(TARGET_M65_x) $(TARGET_M65_x_PXL): $(SEG_LIST_M65) build/chargen_openroms.rom build/chargen_openroms.patched build/chargen_pxlfont.rom build/chargen_pxlfont.patched dd if=/dev/zero bs=8192 count=1 of=build/m65_padding_08_KB dd if=/dev/zero bs=8192 count=8 of=build/m65_padding_64_KB + @echo cat build/m65_padding_08_KB > $(TARGET_M65_x) cat build/m65_padding_08_KB >> $(TARGET_M65_x) cat $(DIR_M65)/kernal.seg_1 >> $(TARGET_M65_x) cat $(DIR_M65)/basic.seg_1 >> $(TARGET_M65_x) cat build/m65_padding_08_KB >> $(TARGET_M65_x) cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x) - cat build/chargen.rom >> $(TARGET_M65_x) - cat build/chargen-patched.rom >> $(TARGET_M65_x) + cat build/chargen_openroms.rom >> $(TARGET_M65_x) + cat build/chargen_openroms.patched >> $(TARGET_M65_x) cat $(DIR_M65)/kernal.seg_0 >> $(TARGET_M65_x) cat build/m65_padding_64_KB >> $(TARGET_M65_x) + @echo + cat build/m65_padding_08_KB > $(TARGET_M65_x_PXL) + cat build/m65_padding_08_KB >> $(TARGET_M65_x_PXL) + cat $(DIR_M65)/kernal.seg_1 >> $(TARGET_M65_x_PXL) + cat $(DIR_M65)/basic.seg_1 >> $(TARGET_M65_x_PXL) + cat build/m65_padding_08_KB >> $(TARGET_M65_x_PXL) + cat $(DIR_M65)/basic.seg_0 >> $(TARGET_M65_x_PXL) + cat build/chargen_pxlfont.rom >> $(TARGET_M65_x_PXL) + cat build/chargen_pxlfont.patched >> $(TARGET_M65_x_PXL) + cat $(DIR_M65)/kernal.seg_0 >> $(TARGET_M65_x_PXL) + cat build/m65_padding_64_KB >> $(TARGET_M65_x_PXL) + @echo rm -f build/m65_padding_* + @echo # Rules - platform 'Commander X16' specific -$(TARGET_X16_x): $(SEG_LIST_X16) build/chargen.rom +$(TARGET_X16_x): $(SEG_LIST_X16) build/chargen_openroms.rom dd if=/dev/zero bs=8192 count=1 of=build/x16_padding_08_KB dd if=/dev/zero bs=8192 count=8 of=build/x16_padding_64_KB + @echo cat $(DIR_X16)/basic.seg_0 > $(TARGET_X16_x) cat $(DIR_X16)/kernal.seg_0 >> $(TARGET_X16_x) - cat build/chargen.rom >> $(TARGET_X16_x) + cat build/chargen_openroms.rom >> $(TARGET_X16_x) cat $(DIR_X16)/basic.seg_1 >> $(TARGET_X16_x) cat $(DIR_X16)/kernal.seg_1 >> $(TARGET_X16_x) + @echo rm -f build/x16_padding_* + @echo # Rules - tests @@ -407,7 +432,7 @@ test_testing: build/kernal_testing.rom build/basic_testing.rom build/symbols_tes test_ultimate64: build/kernal_ultimate64.rom build/basic_ultimate64.rom build/symbols_ultimate64.vs x64 -kernal build/kernal_ultimate64.rom -basic build/basic_ultimate64.rom -moncommands build/symbols_ultimate64.vs -1 $(TESTTAPE) -8 $(TESTDISK) -test_mega65: $(TARGET_M65_x) +test_mega65: $(TARGET_M65_x) $(TARGET_M65_PXL) ../xemu/build/bin/xmega65.native -dmarev 2 -forcerom -loadrom $(TARGET_M65_x) test_cx16: $(TARGET_X16_x) diff --git a/bin/README.txt b/bin/README.txt index de60839c..7358db92 100644 --- a/bin/README.txt +++ b/bin/README.txt @@ -2,14 +2,14 @@ Follow these rules, or bad things will happen! -- Don't mix ROMs for different platforms - use generic BASIC with generic KERNAL, Mega65 BASIC with Mega65 KERNAL, etc. +- Don't mix ROMs for different platforms - use generic BASIC with generic KERNAL, Ultimate64 BASIC with Ultimate64 KERNAL, etc. - Don't mix these ROMs with any other ROMs; exceptions: - kernal_hybrid.rom, which is meant to be used (and has to be used) with the original BASIC ROM; however, this hybrid ROM cannot be distributed due to legal/copyright reasons - - chargen.rom - this one is fully interchangeable + - chargen_*.rom - these ones are fully interchangeable - Don't mix ROMs from different builds/versions (again, CHARGEN is an exception). @@ -17,3 +17,11 @@ Follow these rules, or bad things will happen! Have fun! + + +------ + + +PXL font was created by Retrofan, we got a permission to include it with OpenROMs under GNU Lesser General Public License 3.0, see: + +- https://www.forum64.de/index.php?thread/84000-neuer-c64-systemfont-auch-plus4-c128-atari/&postID=1493383#post1493383 diff --git a/bin/basic_generic.rom b/bin/basic_generic.rom index 7828da6c..3818f62c 100644 Binary files a/bin/basic_generic.rom and b/bin/basic_generic.rom differ diff --git a/bin/basic_testing.rom b/bin/basic_testing.rom index 6d2c34fe..abd477fa 100644 Binary files a/bin/basic_testing.rom and b/bin/basic_testing.rom differ diff --git a/bin/basic_ultimate64.rom b/bin/basic_ultimate64.rom index 1fed28bd..8e91115e 100644 Binary files a/bin/basic_ultimate64.rom and b/bin/basic_ultimate64.rom differ diff --git a/bin/chargen.rom b/bin/chargen_openroms.rom similarity index 100% rename from bin/chargen.rom rename to bin/chargen_openroms.rom diff --git a/bin/chargen_pxlfont_2.3.rom b/bin/chargen_pxlfont_2.3.rom new file mode 100644 index 00000000..e43574b4 Binary files /dev/null and b/bin/chargen_pxlfont_2.3.rom differ diff --git a/bin/kernal_generic.rom b/bin/kernal_generic.rom index 0df4af2e..cc78ff7e 100644 Binary files a/bin/kernal_generic.rom and b/bin/kernal_generic.rom differ diff --git a/bin/kernal_testing.rom b/bin/kernal_testing.rom index 6684bfdb..116124da 100644 Binary files a/bin/kernal_testing.rom and b/bin/kernal_testing.rom differ diff --git a/bin/kernal_ultimate64.rom b/bin/kernal_ultimate64.rom index df018309..702969f8 100644 Binary files a/bin/kernal_ultimate64.rom and b/bin/kernal_ultimate64.rom differ diff --git a/bin/mega65.rom b/bin/mega65.rom index ece821ce..f334112d 100644 Binary files a/bin/mega65.rom and b/bin/mega65.rom differ diff --git a/bin/mega65_pxlfont.rom b/bin/mega65_pxlfont.rom new file mode 100644 index 00000000..b0cedeb1 Binary files /dev/null and b/bin/mega65_pxlfont.rom differ