ericb59 / Fusion-C-v1.2

MSX C Library for SDCC compiler
Other
71 stars 7 forks source link

IntBios and IntDos (IntDosBios.s) boot the computer in ROM projects. #5

Closed DamnedAngel closed 3 years ago

DamnedAngel commented 4 years ago

IntBios and IntDos (IntDosBios.s), as well as dependent routines (like ReadMSXtype) don't work in ROM projects. They rely self-modifying code (they (try to) change ibcladr) and, being unable to set the proper routine address, they end up jumping to 0x0000 and booting the computer.

ericb59 commented 4 years ago

Hello, IntBios, IntDos, ReadMSXType, and others functions that are using interslot call cannot be used in a ROM Project. They are made to work from MSX-DOS only. If you wish to use FUSION-C To produce ROM file, it's possible, but you must avoid all functions that are using a direct BIOS Call.

Anyway. By using new version of SDCC (4.0), using the IntBIOS/INTDOS method do not works anymore. So I 've written new functions for the upcoming Fusion-c 1.3. But they are still useless for ROM projects.