diff --git a/Makefile b/Makefile index 3ebae77f..79ca47a1 100644 --- a/Makefile +++ b/Makefile @@ -471,6 +471,18 @@ build/kernal_hybrid.rom: kernal $(DIR_GEN)/OUTK_x.BIN build/symbols_hybrid.vs: $(DIR_GEN)/KERNAL_combined.vs @sort $(DIR_GEN)/KERNAL_combined.vs | uniq | grep -v "__" > $@ +build/kernal_hybrid_u64.rom: kernal $(DIR_U64)/OUTK_x.BIN + @echo + @echo $(HYBRID_WARNING) + @echo + (dd if=kernal bs=1140 count=1 skip=0 ; \ + echo " > HYBRID ROM, DON'T DISTRIBUTE <" ; \ + dd if=kernal bs=1 count=58 skip=1176 ; \ + cat $(DIR_U64)/OUTK_x.BIN) > $@ + +build/symbols_hybrid_u64.vs: $(DIR_U64)/KERNAL_combined.vs + @sort $(DIR_U64)/KERNAL_combined.vs | uniq | grep -v "__" > $@ + # Rules - MEGA65 platform specific build/padding_64_KB: @@ -563,6 +575,15 @@ test_hybrid: build/kernal_hybrid.rom build/symbols_hybrid.vs @echo $(HYBRID_WARNING) @echo +test_hybrid_u64: build/kernal_hybrid_u64.rom build/symbols_hybrid_u64.vs + @echo + @echo $(HYBRID_WARNING) + @echo + x64 -kernal build/kernal_hybrid_u64.rom -moncommands build/symbols_hybrid_u64.vs -1 $(TESTTAPE) -8 $(TESTDISK) + @echo + @echo $(HYBRID_WARNING) + @echo + test_m65: build/mega65.rom m65 -b ../mega65-core/bin/mega65r1.bit -k ../mega65-core/bin/KICKUP.M65 -R build/mega65.rom -4 diff --git a/bin/README.md b/bin/README.md index 19580681..b2c0799b 100644 --- a/bin/README.md +++ b/bin/README.md @@ -6,8 +6,8 @@ Follow these rules, or bad things will happen! * 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; see [here](./../doc/Hybrid-build.md) for instruction how to create it + - kernal_hybrid\*.rom, which is meant to be used (and has to be used) with the original BASIC ROM; + however, these hybrid ROMs cannot be distributed due to legal/copyright reasons; see [here](./../doc/Hybrid-build.md) for instruction how to create them - chargen_*.rom - these ones are fully interchangeable diff --git a/doc/Hybrid-build.md b/doc/Hybrid-build.md index 6c9cf601..f3d54552 100644 --- a/doc/Hybrid-build.md +++ b/doc/Hybrid-build.md @@ -3,7 +3,9 @@ The C64 ROM is typically distributed in 2 files 8 KB each, one called *kernal*, But it is still possible to combine them: * copy the *kernal* file to the *open-roms* main directory -* from the Linux command line type `make test_hybrid` - this will crate the hybrid Kernal file, *open-roms/bin/kernal_hybrid.rom*, and launch VICE emulator with it +* from the Linux command line type `make test_hybrid` on `make test_hybrid_u64` (for Ultimate 64 based Kernal build- this will crate the hybrid Kernal file, *open-roms/bin/kernal_hybrid.rom* or *open-roms/bin/kernal_hybrid_u64.rom*, and launch VICE emulator with it + +Unfortunately, some features will be lost this way - for example, the Open ROMs DOS Wedge is BASIC based, so it won't be available in the hybrid ROM. Sorry, no Windows support (but it should work under *Windows Subsystem for Linux* if GCC and libpng devel packages are installed), and no macOS support (I don't have a machine to test).