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

Doesn't work on real hardware. #5

Closed
fvdhoef opened this issue Mar 24, 2020 · 10 comments
Closed

Doesn't work on real hardware. #5

fvdhoef opened this issue Mar 24, 2020 · 10 comments

Comments

@fvdhoef
Copy link

fvdhoef commented Mar 24, 2020

Real hardware (or emulator with SD card attached) only supports filenames with 8.3. So the release files can't be loaded.

@SlithyMatt
Copy link
Owner

Try release v0.5.1. That keeps all filenames within 8+3. I'm keeping this issue open until I get confirmation of the game working on actual hardware. Very exciting!

@fvdhoef
Copy link
Author

fvdhoef commented Mar 27, 2020

Sadly, it still doesn't work on real hardware. The main PRG file loads, after that there is a long black screen (probably loading the title screen), after that it returns to BASIC. I also tried putting the files on an SD card image attached to the emulator and it does work there. Also quite long a black screen and then the game runs fine. This means there are still differences between the emulator and real hardware, which must be fixed.

@SlithyMatt
Copy link
Owner

It goes back to BASIC on its own? Is there any way to do a RAM dump?

@SlithyMatt
Copy link
Owner

I'm also creating another issue for load time feedback and have an SD card image be part of the next release. This should help us figure out where it's failing.

@fvdhoef
Copy link
Author

fvdhoef commented Mar 28, 2020

I suspect it runs against a BRK somewhere, which will result in a return to BASIC. The current kernel ROM doesn't support saving to SD card yet, so it will be difficult to do a RAM dump. It could well be the case that loading the files works just fine, but it crashes on something else. My hardware setup doesn't have any joystick ports, no YM chip, the timing of the peripherals is probably different from the emulator, so lots of places things can go wrong. It could be something simple like not disabling the interrupts while setting the kernal interrupt vector.

@SlithyMatt
Copy link
Owner

Sounds just as likely to be in the Kernal as in my code, since I'm doing all these hardware requests. I can surround my interrupt vector change with sei/cli. That is one of the first things I do after loading all the files.

@fvdhoef
Copy link
Author

fvdhoef commented Mar 30, 2020

Hi Matt, I tested your latest commit with the loading screen. The loading screen itself works, but it fails after a few files. I highly suspect the problem being in the FAT32 and SD card handling code in the ROM as directory listings in BASIC also only work about 75% of the time. There is also a problem in the FAT32 implementation where it isn't showing all the files that are present on the card. I think it is best to wait further fixes (if needed) until the ROM has been fixed.

@SlithyMatt
Copy link
Owner

Thanks for trying it, Frank! I posted an issue regarding the apparent 10-file limit for FAT32 on the emulator repo yesterday. I am going to try consolidating some of the files to see if I can at least get it to work on the emulator. But I will hold off on releases until the issue is fixed.

@fvdhoef
Copy link
Author

fvdhoef commented Apr 2, 2020

Hi Matt, your game is finally working on real hardware! Check my latest Facebook post for a video. The problem was in the FAT code and was fixed by some patches submitted by theelkmechanic (Mike Ketchen).

@SlithyMatt
Copy link
Owner

Great to hear and now see! I will close this issue once those ROM fixes are included in a release build and put out new beta release of Chase Vault.

@fvdhoef fvdhoef closed this as completed Dec 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants