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
[sdcc][zx81] Broken binary for XChaze zx81 #1976
Comments
The zx81 uses one of the index registers for display generation and sdcc may well end up using both of them as part of the codegen with the default options. Adding --reserve-regs-iy may help. |
@suborb I have included the binary and map compiled with |
@suborb @feilipu
|
ZX81 uses IX register for display (including WRX hires) so unless your code runs in the equivalent of FAST mode, you will need to preserve IX via --reserve-regs-ix |
@dbolli zx81 runs with I guess there's 3 areas where something could be wrong:
Given that it works with sccz80 that should eliminate 1 and 3 (though sdcc will some different library routines). Running it through a quick disassembly ( Likewise I've got a memory of So it's pointing at 2, I guess the first thing to try is to remove the optimisation (--opt-code-size and change the SO option?) |
Correct, the NMI display ROM routine at $0066 uses AF' as a display line counter. |
I've built it, but I can't do much as will be AFK for a few days. Is there a web emulator around for ZX81 that you can drop |
http://www.vavasour.ca/jeff/ts1000/ if your browser supports java |
If I compile my game Cross Horde(built with Cross-Lib), I get a broken binary (blank screen after pressing a key) with ZSDCC and a working binary with SCCZ80.
@feilipu, I may have a new failing test.
I have included .map and binaries.
HORDE_builds.zip
My Makefile target looks like:
This target can be built with Cross-Lib by the following command (run in the
./src
directory)The text was updated successfully, but these errors were encountered: