|
Post by mountaingoat on Apr 6, 2016 7:07:29 GMT -5
Guys, I have looked at the code, I could find a potential issue that could cause MF to now draw a screen. If the multicart resets the DP register it may cause an issue. I have patched Marine Fox and uploaded a potential fix to a new branch on git. Again, this is just a guess at this point as I have not been able to reproduce the issue but please try it and let me know if works. Version 1.3.1 (still works fine in the emulator and on my cart + real Vectrex) github.com/mountaingoate/vectrex/blob/issue/multicart/games/marinefox/bin/marinefox.bin
|
|
janzl
Asteroid
Vectrex fan and admin of the Videopac / Odyssey2 forums.
Posts: 6
|
Post by janzl on Apr 6, 2016 9:41:25 GMT -5
Thanks for the replies and the effort Mountaingoat.
I won't be able to check the rom tonight but will do as soon as possible.
|
|
|
Post by Vectronic on Apr 6, 2016 12:22:05 GMT -5
Yes, thank you for this. I won't be home for many hours still, but I'll test it later on tonight when I can.
|
|
|
Post by Mayhem on Apr 6, 2016 14:53:27 GMT -5
No, patcher.exe is a Windows program. You double click to start it, then you use the GUI to select a ROM file. If the ROM file needs altering to work from a flash medium, then it will be patched. If not, you'll get a message saying nothing to change.
|
|
|
Post by 50tbrd on Apr 6, 2016 20:44:41 GMT -5
Sometimes I do have issues with files not working with VecMulti but I've not had issues with the Mateos cart.
|
|
|
Post by Vectronic on Apr 6, 2016 23:28:24 GMT -5
The Mateos cart works fine, but it's just that the VecMulti is my "go-to" cart since it can store ALL my games and Demos. I just also figured out that the VecMulti Patcher program only works on Windows 7 and up (my downloading/testing PC is a crappy old XP box and the Patcher would not work on that). When trying to Patch Marine Fox and Sub Wars with this, I still get an error message that says: "Not a Valid Vectrex ROM". So when using the VecMulti, this is what I get when starting these games off the cart: Marine Fox 1.0: Game starts right up and plays fine. Marine Fox 1.3: Blank screen, no noise, a few seconds then returned back to VecMulti Menu. Marine Fox 1.3.1: Blank screen, so sound BUT Vectrex buzz is audible, does not return to the VecMulti menu at all but usually starts up the built into the Vectrex Minestorm ROM. Sub Wars: Blank screen, no noise, a few seconds then returned back to VecMulti Menu. (Same as Marine Fox 1.3) (All tested on the newest VecMulti on a real Vectrex) So the only one that works on the VecMulti cart has been Marine Fox 1.0 - the one with the random Vector streaks upon start-up that was fixed with vers 1.3. Something about the way 1.0 starts/boots/initializes makes it work. These are the only 2 games I have ever had not work on this cart. Thank you Very much mountaingoat for trying to tweak your program to work. I hope this helps, but don't worry too much or spend too much time trying to fix it - the game works fine on seemingly everything else. It would be great to have it working on the VecMulti though. I hope the information I provided helps.
|
|
|
Post by Mayhem on Apr 7, 2016 5:30:37 GMT -5
Well that's odd, only because Patcher.exe was written well before Windows7 even came out (check the copyright date in the About section), and thus it works on XP. I've used it on XP with my old PC. Sounds more an issue with your old PC then to me. Something in the back of my head nags that it needs a particular DLL, and that wasn't present by default in XP (but is in W7), but you often got it installed from certain other commercial software.
I'm on my Macbook currently, but I'll try to remember to fire up my W7 laptop later and check to see what happens for me when trying to patch the two games in question. And maybe run them off the VecMulti.
|
|
|
Post by mountaingoat on Apr 7, 2016 5:48:42 GMT -5
Vectornic, thanks a lot for the info, I will compare the initialization changes between 1.0 and 1.3 see if I can figure something out.
It would be great to know what the Patcher does to determine what is what isn't a valid ROM.
... Back from comparing 1.0 and 1.3 initialization changes.
Basically nothing happens before the big goat splash screen so if that one is not displayed, then something really strange is going on.
Do we have a description somewhere on what the Vecmulti does to the image before it tries to run it? I am thinking it may write something somewhere or move something around and if it does not detect MF to be a valid ROM it may just break it then. I wonder what other signature it is looking for in addition to the standard GCE header.
|
|
|
Post by Mayhem on Apr 7, 2016 14:35:41 GMT -5
Having just checked the ROMs in question... Sub Wars and v1.3 of Marine Fox require no patching. v1.3.1 of Marine Fox apparently DOES need patching. According to running them in Patcher.exe here. All three were considered to be valid ROMs.
If you want me to send you a pre and post patched version of v1.3.1 Marine Fox now MG so you can compare, then PM me with your email address.
I can only think Janzl might not have downloaded them quite correctly...
|
|
|
Post by Vectronic on Apr 7, 2016 17:40:49 GMT -5
Mayhem: Yes, I do get an error code on my old XP test PC that says a dll file is missing and that's why I initially thought the Patcher must have used a more recent version of Window - thanks for letting me know. I will PM you my email for your versions that work and that should narrow things down a bit more. mountaingoat: The Patcher (from what I remember) adds padding to the ROM to make odd file sizes into nice proportionate ones (like 8, 16, 32, or 64 - so a 12 would become a 16) and this usually fixes conflicts. I have noticed if I copy the ROM from my HDD to the VecMulti, I get a warning that says some additional data may be lost, but I see this as well sometimes when moving MP3 files from my HDD to my music player, but they work just fine after. So I tried downloading the ROMs directly from your Github to the VecMulti but they still won't boot. I will get patched ones from Mayhem and let everyone know if they fix the issue.
|
|
|
Post by mountaingoat on Apr 8, 2016 5:52:33 GMT -5
I see, great info. What I suspect happens is for some reason the Patcher does not detect MF to be a real Vectrex ROM and it may not copy the file to the very last byte onto the cart. The graphics for the splash goat are towards the end of the image so if that goes missing, who knows what random numbers are going to be tried to be splashed on the screen. And if you move the beam out too far the Vectrex has a tendency to shut down the display completely. (This was in essence the bug in 1.0 - I did not initialize a variable for the Medusa animation and it was trying to display a Medusa from basically a random memory location. For most systems it was just a weird first few vector lists - for some others it did not even work at all.) 1.0 was a kilobyte smaller than 1.3 so maybe that is the real difference. Let me try to change the header for the ROM and add a year instead of the MGE - maybe the patcher is looking for 4 numerical characters. This is basically the one thing I can maybe imagine happens. Uploaded 1.3.2 with the new ROM signature to github.com/mountaingoate/vectrex/blob/issue/multicart/games/marinefox/bin/marinefox.binIf this still does not work, I will manually pad the image to 8192 bytes and we can try that.
|
|
|
Post by Vectronic on Apr 9, 2016 3:06:47 GMT -5
Sorry for the late update, but this (above included link for Marinefox 1.3.2), downloaded directly to my VecMulti, still does not work. I am starting to suspect it is something on my end. Luckly Mayhem has emailed me multiple versions of the files (Patched by him and such) - which I will test now. Update on my findings very shortly.
|
|
|
Post by mountaingoat on Apr 9, 2016 6:30:50 GMT -5
I read up on the "software" multicarts as well. Based on what I read if the game does not get patched correctly, I think the jump to the beginning of the actual game will be broken.
Anyone with deeper understanding would be more than welcome to chime in - I think what happens is that the multicart software has to find the real entry point to the game image (as opposed to 0x0000 - where the GCE header is). If it cannot find this and jumps to the wrong place - nothing will work.
|
|
|
Post by Mayhem on Apr 9, 2016 9:41:35 GMT -5
As the patcher program itself says: This utility will try to fix ROM images which crash when run from the VecFlash menu VFM. There are four things it can patch, labelled INTPIA, INTALL, CNTRL and DCNTRL. To be honest, I'm not sure what all of them refer to, but I can say that I've not had a single image ever fail to work on VecFlash/VecMulti post patching.
|
|
|
Post by Vectronic on Apr 9, 2016 21:51:18 GMT -5
Again, sorry all for the late update, but I have the answer now. It's my computer's fault! No really! For some reason it has to be that the download from github always gets corrupted for some reason on my Windows XP junky Frankenstein test/download PC. The patcher program won't work on this PC due to a missing dll file, but that doesn't even matter because I still can't patch the ROM on a not too old Windows7 PC where the program works fine - because the file has to be incomplete in some way, which makes the patcher program states that the ROM is invalid (because of a bad download, it probably is). I now know this because thanks to the un-patched vers 1.3 of Marine Fox, and the un-patched Sub Wars download that Mayhem was kind enough to send me, the issue with the games not working... is just bad downloads from github on/because of certain PCs. mountaingoat, I hope you didn't put too much time into tweaking the game, because I would feel pretty bad if you did and it ended up just being a silly issue on our (myself and janzl)'s parts. I've coded before (different language than the Vectrex though) and I know how it is to obsess sometimes over fixing little issues, fix the oddest of glitches, and want things to be perfect. I want to thank mountaingoat and Mayhem for all of us wracking our brains on this for the last few days, but at least now we have an answer. As I've said before, Marine Fox looks really great and I can't wait til when it gets released.
|
|