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.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to