From: Christian Z. <cz...@gm...> - 2019-09-26 17:46:34
|
Vincent Rivière schrieb: > Seen there: > https://www.facebook.com/emutos/posts/2738809562816274 > > Machine is a MegaST with PAK/3 030. > > The user can successfully run EMUTOSUK.PRG. > But with etos512k.img the screen stays white. > > Any idea? In that Facebook thread, Ingo reminded me of a quirk of the PAK accelerator hardware that I had forgotten. (Thank you, Ingo!) From what the user writes, I suspect this to be the problem. Explanation: Like any 680xx, the 68030 fetches its initial PC after reset from address $4. However, the PAK does *not* decode this address; it's decoded by the GLUE and the PC is read from the ROMs on the *mainboard*. In case of a MegaST, there are TOS 1.0x ROMs from which an initial PC = $FC0030 is read. But the 512k of ROM on the *PAK* (with EmuTOS, in case of the user) are mapped by the PAK HW to $E00000 - $E7FFFF. Therefore, there was a special set of boot ROMs for the PAK to be installed on the mainboard. These boot ROMs basically only contained the correct initial PC $E00030. This is also mentioned in the PAK3 manual: "For all but the German version of PAK-TOS, boot roms on the mainboard are necessary." You're for sure asking yourself, why the *German* version of PAK TOS runs without the special boot ROMs, but with a standard TOS 1.0x on the mainboard, when I just explained why this was not possible. Again, due to the way address decoding is done on the PAK3, ROM locations $E4xxxx are mirrored at $FCxxxx. So, when the CPU starts executing from $FC0030 (because of the TOS 1 ROMs on the mainboard), it will in fact execute the code at $E40030. For German TOS 3.06, this particular memory address contained something that could be discarded or moved to another location. Iirc, a GEM resource string. Thus, into German PAK TOS a jump to $E00030 was inserted at $E40030, allowing the PAK to boot. The user confirmed that he has this particular configuration: German PAK TOS and standard TOS 1.02 on the mainboard. To fix this in EmuTOS, we could probably instruct the linker to place this jump, as well. Would we want to do this for every 512k ROM or would we want to have a dedicated PAK3 version? Regards Christian -- Christian Zietz - CHZ-Soft - cz...@gm... WWW: http://www.chzsoft.de/ PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA |