ajbowen249 / mol

A Baldur's Gate 3 Demake for Tandy TRS-80 Model 100 and ZX Spectrum
23 stars 2 forks source link

Tandy 200 support / Option ROM #16

Open hackerb9 opened 2 months ago

hackerb9 commented 2 months ago

Baldur's Gate does not appear to run on a Tandy 200. Even loading the .hex file with Virtual T's memory editor does not appear to work. Instead the machine locks up and needs to be reset. After that, CALL 43776 prints ?OM ERROR (Out of memory error).

While assembly programs often are not portable to the Tandy 200 because they call the wrong subroutine locations, this appears to be primarily due to lack of RAM. (The Tandy 200 has 72K of RAM, but it is split into three 24K banks).

The solution to this might be to compile the program as an "Option ROM". I am not sure, but I believe that will give Baldur's Gate 32K of space for program storage which does not use up any RAM. Running such a program is fairly easy these days since the REX# chip allows any 32KB file to be loaded as an Option ROMs without having to burn an EEPROM. Of course, not everyone has a REX, but enough people do that it would be a welcome improvement.

This method would also give more breathing room for future game development so the missing features from Baldur's Gate could be filled in.