Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

z88dk: investigate support of automatic bankswitching in compiled programs #42

Open
aralbrec opened this issue Jan 24, 2017 · 1 comment

Comments

@aralbrec
Copy link
Member

Finding a way to get the linker to automatically do this given a variably defined memory map would be a fantastic step forward. This has been done for z180-style banking by a commercial compiler still sold by Softools.

We have a lot of irons in the fire concerning z80asm and sectioning for weird memory maps already but getting all the requirements articulated will help nail down the structure of the next z80asm linker implementation.

I do have ideas about how automatic linking might work but I think the best way to get to what will be practical in the end is to first make sure we can compile across banks manually.

We can generate bankswitched programs manually now and the z88dk tools are very helpful in creating such programs but we did identify some things that needed improving in the compilers in past discussion (such as in-source section changes with pushes and pops). So I think maybe what we can do is try to build a simple bankswitched program manually to help identify what things can improve.

Then we should have a look at the embedded tr to see if what they recommend for bankswitched code and data access makes sense.

So another discussion topic to help make progress in this area.

@feilipu
Copy link
Collaborator

feilipu commented Jan 24, 2017

Would love to see bank switching for code and heap working OOB, eventually.

I'm building a Z180 system that could benefit from these things, and hopefully will be able to replicate it via crowd funding one day soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants