Here is what I got after two days of work. I concatenated the ROM with the JS ROM into a 80 KB file, then stitched the two together by fixing the main jumps from one to the other.
The resulting Franken-ROM is a bit unstable since some data structures are defined in the BASIC ROM, but used in the JS that assumes a slightly different format.
For example, microdrives and graphics command like LINE are not currently working. The problem with graphics is that the BASIC ROM also contains the code to open a CON channel (the original ROM must have been a full QL QDOS+BASIC like later ROMs, just with the order of code in the ROM swapped: BASIC first, QDOS second), but that code doesn't set the SCALE factor in the channel, and that is needed by JS. The ROM does contain a SCALE BASIC command, maybe scaling just worked in a different way back then.
Other approaches would be possible (e.g. only use the SuperBASIC portion from the ROM, so that the rest of the OS is consistent, and use the older PM ROM instead of JS), but in any case the result will not be equivalent to the original: Components like most of the CON driver would be from a different ROM and there is no way to know for sure how it originally looked without recovering the missing ROM at $8000.
- QL_screen_000.png (530 Bytes) Viewed 953 times
- QL_screen_010.png (1.36 KiB) Viewed 953 times