diff --git a/Makefile b/Makefile index 4495652a..8445120a 100644 --- a/Makefile +++ b/Makefile @@ -192,7 +192,7 @@ build/newc65.rom: build/kernal_mega65.rom build/basic_mega65.rom build/chargen.r # Rules - tests -.PHONY: test test_generic test_mega65 test_ultimate64 test_m65 testremote testsimilarity +.PHONY: test test_generic test_mega65 test_ultimate64 test_hybrid test_m65 testremote testsimilarity test: test_generic diff --git a/STATUS.md b/STATUS.md index 92e8e0cd..dd27dfb2 100644 --- a/STATUS.md +++ b/STATUS.md @@ -76,6 +76,8 @@ Not all of them - only these we want to have implemented. | Address | Name | Status | Remarks | | :-------: | :----------- | :------: | :------------------------------------------------: | | `$A004` | revision str | DONE | | +| `$A533` | LINKPRG | NOT DONE | | +| `$A659` | set txt ptr | NOT DONE | | | `$A68E` | RUNC | NOT DONE | | | `$A7AE` | NEWSTT | NOT DONE | | | `$AB1E` | STROUT | DONE | | diff --git a/c64/basic/a533.interop b/c64/basic/a533.interop new file mode 100644 index 00000000..46ed7adf --- /dev/null +++ b/c64/basic/a533.interop @@ -0,0 +1,7 @@ +This routine is used to launch other software. It is used by: + +- Uncrunch (see https://github.com/mist64/pucrunch/blob/master/uncrunch.asm) +- FileBrowser64 (FB64) - found by debugging + +and probably others. + diff --git a/c64/basic/a533.linkprg.s b/c64/basic/a533.linkprg.s new file mode 100644 index 00000000..b7b11e80 --- /dev/null +++ b/c64/basic/a533.linkprg.s @@ -0,0 +1,6 @@ + +// XXX provide documentation and implementation +// see: https://www.lemon64.com/forum/viewtopic.php?t=64721&sid=bc400a5a6d404f8f092e4d32a92f5de7 + +LINKPRG: + STUB_IMPLEMENTATION() diff --git a/c64/basic/a659.interop b/c64/basic/a659.interop new file mode 100644 index 00000000..925b8462 --- /dev/null +++ b/c64/basic/a659.interop @@ -0,0 +1,6 @@ +This routine is used to launch other software. It is used by: + +- Exomizer (see https://github.com/bitshifters/exomizer/blob/master/exomizer/exomizer115.txt) +- FileBrowser64 (FB64) - found by debugging + +and probably others. diff --git a/c64/basic/a659.setcharptr.s b/c64/basic/a659.setcharptr.s new file mode 100644 index 00000000..b7383332 --- /dev/null +++ b/c64/basic/a659.setcharptr.s @@ -0,0 +1,7 @@ + +// XXX provide documentation and implementation +// see: https://www.lemon64.com/forum/viewtopic.php?t=64721&sid=bc400a5a6d404f8f092e4d32a92f5de7 +// https://www.lemon64.com/forum/viewtopic.php?t=70680&sid=3ff66caf7f5fdf2a3c2ff2ee31fc3fd8 + +setcharptr: + STUB_IMPLEMENTATION() diff --git a/c64/basic/a7ae.interop b/c64/basic/a7ae.interop index f5ae9e65..25da9736 100644 --- a/c64/basic/a7ae.interop +++ b/c64/basic/a7ae.interop @@ -1,3 +1,9 @@ -This routine is mentionned in the cartridge writing tutorial here: https://codebase64.org/doku.php?id=base:assembling_your_own_cart_rom_image +This routine is used to launch other software. It is used by: + +- Exomizer (see https://github.com/bitshifters/exomizer/blob/master/exomizer/exomizer115.txt) +- FileBrowser64 (FB64) - found by debugging + +and probably others. It is also mentionned in the cartridge writing tutorial here: + +- https://codebase64.org/doku.php?id=base:assembling_your_own_cart_rom_image -We have to implement (or at least provide stub), otherwise cartridges will crash. diff --git a/c64/basic/a7ae.newstt.s b/c64/basic/a7ae.newstt.s index 55b97764..542e7bc6 100644 --- a/c64/basic/a7ae.newstt.s +++ b/c64/basic/a7ae.newstt.s @@ -1,5 +1,8 @@ // XXX provide documentation and implementation +// see: https://www.lemon64.com/forum/viewtopic.php?t=64721&sid=bc400a5a6d404f8f092e4d32a92f5de7 +// https://www.lemon64.com/forum/viewtopic.php?t=70680&sid=3ff66caf7f5fdf2a3c2ff2ee31fc3fd8 +// https://codebase64.org/doku.php?id=base:assembling_your_own_cart_rom_image NEWSTT: - STUB_IMPLEMENTATION() + STUB_IMPLEMENTATION() diff --git a/c64/kernal/f4a5.load.s b/c64/kernal/f4a5.load.s index e1cccc1d..0a838d91 100644 --- a/c64/kernal/f4a5.load.s +++ b/c64/kernal/f4a5.load.s @@ -142,6 +142,6 @@ load_loop: lda FA jsr close_load - +.break // Return last address jmp lvs_return_last_address