-
Notifications
You must be signed in to change notification settings - Fork 4
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
"Quite a few" .PRG files are not working #144
Comments
First: Yes, I did everything that it recommended. Usually "Simulate Cartridge" is selected but I also tried the other options without any success. And it's also after a cold start or long-reset. And there is not combination or way to make it work - the PRGs that are not working are not working in any case. It also does not matter in which order I start the PRGs. I also tried several other settings in the menu, no difference. Here a short list (I tried about 40 - 50 games, these had the problems): All of these games are working perfectly in any C64 emulator. |
I confirm the issue on the c64 core with Antiriad, and yes it works on the Mister. It may be related to .prg injection since as a workaround i have put ANTIRIAD.PRG on a blank .d64 (created with DIRMASTER) and the game will properly load in the C64core. So while it's not a fix, it's a workaround for the moment. |
Here is an archive with the .prg which does not work, and the .d64 using the exact same .prg and which is working as expected. |
@MJoergen @sy2002 @cwscws Here is another version of Antiriad.prg (which obviously comes with some kind of fastloader) and it's running correctly on the C64 core. |
@cwscws Any chance you share here a .zip file containing the .prg files you have identified as "not working on the C64 core" ? I would like to do further tests / investigation being sure i'm working with the exact same .prg you are using. Thanks. |
@sy2002 Here are my findings so far:
What is troubling to me are the last two lines, accessing the zero page variable $2E. In the C64 memory map I find the following:
I don't see anywhere in our Now, this is not the only variable needed. If you look in the MiSTer file c64.sv lines 740-774 we see a list of zero-page variables that must be set:
Note. I actually had the same problem for the VIC20 core, and this is how I implemented it there: https://github.com/MJoergen/VIC20MEGA65/blob/develop/CORE/vhdl/prg_loader.vhd |
@MJoergen Excellent catch: When implementing the PRG loader back in the days, I did not realize that the C64's Zero Page "registers" need to be set properly - I ignored them. It is quite a miracle that it worked so often :-) Thank you - I will take care. @paich64 No need to test more PRGs at this moment in time. (And I do have @cwscws 's ZIP which I can share with you to test as soon as I fixed this). |
Actually i just want to check if as a workaround, i can use a compresser to make these .prg working (again as a workaround) as it looks like the issue does not occure with .prg which use a compresser (possibly not using the same ZP). That would be i think an acceptable workaround if this works. |
All the games will start. |
Funnily enough, Q*bert is working now🤣 |
Just curious. When loading a |
The first two bytes of the PRG file contains the loading address. |
Here is the problem:
Some details:
Reported by Forum64 user clarkkent: https://www.forum64.de/index.php?thread/125676-c64-core-f%C3%BCr-den-mega65/&postID=2159973#post2159973
And also via dm on Discord:
Questions for Clark Kent:
The text was updated successfully, but these errors were encountered: