Currently, for the z80-related backends, there is some limited support for banked functions in SDCC (for calls that do not go through function pointers, the compiler can insert some glue code to a custom banked_call function).
What would need to be done to improve that? For Z180 and eZ80 we know the hardware. But there are still many ways to set up stuff (different sizes of banked areas, etc). For Z80 and GameBoy we don't know anything: There are many different bank layouts and ways to switch banks. What I would like is: A flexible scheme that allows code in banked memory, and also supports function pointers. Banked code should be able to call nonbanked code, code in the same or in other banks. Should there be support in the linker? If yes, in what form? What does FUZIX currently use? Philipp P.S.: There are 2 patches filed long ago: https://sourceforge.net/p/sdcc/patches/309/ - some minor changes. https://sourceforge.net/p/sdcc/patches/77/ - support for GameBoy bank-switching - looks to me as if hardcoded to use the MBC1 hardware.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user