Post v1.42 ZSNES WIPs
Moderator: ZSNES Mods
A question for someone who is eternally ignorant...
What exactly is "true rom mirroring", and what does it have to do with translations?
Also, man, I just realized I'm still using the March 29 WIP...no wonder I still have funky desync problems when recording movies.
Sorting through my 140mb (!) of savestates and seeing what exactly I need to keep the old release around for is going to be a bitch.
EDIT: Also, uh, exactly what is the advantage of "USE 30HZ FOR TURBO"? It comes pre-checked and that always worries me if the thing that's prechecked doesn't outright say "MAKES STUFF BETTER"
What exactly is "true rom mirroring", and what does it have to do with translations?
Also, man, I just realized I'm still using the March 29 WIP...no wonder I still have funky desync problems when recording movies.
Sorting through my 140mb (!) of savestates and seeing what exactly I need to keep the old release around for is going to be a bitch.
EDIT: Also, uh, exactly what is the advantage of "USE 30HZ FOR TURBO"? It comes pre-checked and that always worries me if the thing that's prechecked doesn't outright say "MAKES STUFF BETTER"
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
There is one translation, to my knowledge (I think Front Mission) that remaps the memory maps because ZSNES at the time mirrored stuff incorrectly. However this behavior has changed (to something correct of course), and this sorely breaks that game's translation. IIRC, there was discussion with the author(s) of said patch a while back to not use the incorrect behavior.. but alas...Dais wrote:What exactly is "true rom mirroring", and what does it have to do with translations?
In any case, that would be the problem.
I believe it has something to do with fast forwarding/rewinding/timing. Some games need this enabled to behavor properly.EDIT: Also, uh, exactly what is the advantage of "USE 30HZ FOR TURBO"? It comes pre-checked and that always worries me if the thing that's prechecked doesn't outright say "MAKES STUFF BETTER"
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
-
- Veteran
- Posts: 844
- Joined: Thu Jul 29, 2004 3:56 am
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
It's what section of the ROM is returned when requested to return ROM data past the end of the pysicall size of the ROM.Dais wrote: What exactly is "true rom mirroring", and what does it have to do with translations?
Unforunetly most translators especially of the past don't have a clue about proper ROM mirroring. So if a translator only tested his game on some emulators and he had some screwy pointers, it could very well not work anymore.
I recall Front Mission, Dual Orb 2, and some other translations had mirroring issues, I'm sure there are quite a few.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
That's interesting, because I remember playing the Front Mission 3 translation through to the end on my SF7 copier. Does that copier change rom mirroring behavior from the real SNES?Nach wrote:It's what section of the ROM is returned when requested to return ROM data past the end of the pysicall size of the ROM.Dais wrote: What exactly is "true rom mirroring", and what does it have to do with translations?
Unforunetly most translators especially of the past don't have a clue about proper ROM mirroring. So if a translator only tested his game on some emulators and he had some screwy pointers, it could very well not work anymore.
I recall Front Mission, Dual Orb 2, and some other translations had mirroring issues, I'm sure there are quite a few.
EDIT: Then again, I have to remember that I had ucon64 convert the translation to GD3 format as is necessary before loading it onto the copier.
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
Most copiers don't mirror everything properly.
Furthermore the translation you're refering to might not be the one I'm refering to. Aren't there several Front Missions?
Furthermore the translation you're refering to might not be the one I'm refering to. Aren't there several Front Missions?
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
Normal Front Mission has two variants:
one is a 26.5mbit ROM, one is a 32mbit ROM.
The problem with the 26.5mbit ROM is that it is infeasible from a hardware standpoint. You would need: a 16mbit ROM, an 8mbit ROM, a 2mbit rom, and a 512kbit rom. The reason is because each ROM has address line pins (think binary), so pretty much all ROMs are going to be powers of two. Is it possible to make a non-power of two ROM? Sure, if you have an address translator inside the ROM itself. But we know of no such ROMs like this on the SNES.
In all known cases, an SNES game requiring 26.5mbits would either use any means necessary and pack that into 24mbits (16+8), or it would spend the extra money and use 32mbits (16+16 or 32).
I'm presently unaware of ANY non-beta ROMs that use more than two ROM chips (eg the ROM size can be represented within two powers of two, 4+4, 8+4, 8+8, 16+4, etc). And the beta ROMs are likely just underdumped because all the extra space at the end of the dump was 0x00s, and the dumpers thought they were clever cutting it off.
Whereas with the new mirroring, it will assume there are as many ROM chips as there are additive powers of two. In Front Mission's case, that is 16+8+2+.5 = 4 ROM chips. This results in some rather wonky mirroring rules that must be giving Front Mission's translation a problem for some reason. I haven't actually looked at a disassembly of the game to find the exact problem, but resizing the game to 32mbits seems to solve the problem.
one is a 26.5mbit ROM, one is a 32mbit ROM.
The problem with the 26.5mbit ROM is that it is infeasible from a hardware standpoint. You would need: a 16mbit ROM, an 8mbit ROM, a 2mbit rom, and a 512kbit rom. The reason is because each ROM has address line pins (think binary), so pretty much all ROMs are going to be powers of two. Is it possible to make a non-power of two ROM? Sure, if you have an address translator inside the ROM itself. But we know of no such ROMs like this on the SNES.
In all known cases, an SNES game requiring 26.5mbits would either use any means necessary and pack that into 24mbits (16+8), or it would spend the extra money and use 32mbits (16+16 or 32).
I'm presently unaware of ANY non-beta ROMs that use more than two ROM chips (eg the ROM size can be represented within two powers of two, 4+4, 8+4, 8+8, 16+4, etc). And the beta ROMs are likely just underdumped because all the extra space at the end of the dump was 0x00s, and the dumpers thought they were clever cutting it off.
Whereas with the new mirroring, it will assume there are as many ROM chips as there are additive powers of two. In Front Mission's case, that is 16+8+2+.5 = 4 ROM chips. This results in some rather wonky mirroring rules that must be giving Front Mission's translation a problem for some reason. I haven't actually looked at a disassembly of the game to find the exact problem, but resizing the game to 32mbits seems to solve the problem.
I'm experiencing 2 bugs with the latest (04/09) WIP:
- When starting the emulator in windowed mode and switching to another windowed mode,it asks you to press any key,and then press SPACE,but SPACE doesn't respond.
- When assigning an emulation-specific option (like 'toggle Show FPS') to a gamepad button,when you start playing a game and press the button to toggle display FPS,it doesn't toggle once but rapidly like a turbo button.Very annoying.It's a PITA just to toggle show FPS.Using a Logitech Rumblepad 2 gamepad and setting this to button #7.
This happens in NEStopia as well.
- When starting the emulator in windowed mode and switching to another windowed mode,it asks you to press any key,and then press SPACE,but SPACE doesn't respond.
- When assigning an emulation-specific option (like 'toggle Show FPS') to a gamepad button,when you start playing a game and press the button to toggle display FPS,it doesn't toggle once but rapidly like a turbo button.Very annoying.It's a PITA just to toggle show FPS.Using a Logitech Rumblepad 2 gamepad and setting this to button #7.
This happens in NEStopia as well.
kick wrote:I'm experiencing 2 bugs with the latest (04/09) WIP:
- When starting the emulator in windowed mode and switching to another windowed mode,it asks you to press any key,and then press SPACE,but SPACE doesn't respond.
- When assigning an emulation-specific option (like 'toggle Show FPS') to a gamepad button,when you start playing a game and press the button to toggle display FPS,it doesn't toggle once but rapidly like a turbo button.Very annoying.It's a PITA just to toggle show FPS.Using a Logitech Rumblepad 2 gamepad and setting this to button #7.
This happens in NEStopia as well.
UPDATE:
----------
Compiled and tested the 06 Sep SVN build 3832
Bugs:
1. When setting 'Pause Emulation' to a gamepad button,(I use button 12 on the gamepad for this) when pressing the button once,the game pauses,but pressing it again it doesn't unpause.
When holding the button all the time though,the emulation runs until you release the button,when it pauses again.
Strangely,if this button is assigned to a keyboard key,the Pause/Unpause works correctly.
2. When using a fullscreen mode (ex. 1600x1200 F DS) and switching to Custom F DS ,on resolution change,the SPACE key doesn't respond,so it's impossible to change resolution,other than editing the .cfg file.
3. If 'Show FPS on start' is not activated and you set a key to toggle 'Show FPS',when using a HQxX mode and toggling the FPS indicator,it doesn't work.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
The issues still occur with the latest SVN build with a freshly generated .cfg file.
You should reproduce by using a Logitech Rumblepad2 USB gamepad.
This issue is almost the same as the bug I found in NEStopia,Martin fixed it in the latest NEStopia WIP build,now everything is normal.
No matter what buttons I assign these controls to,the issue is still there.(unless I set it to a keyboard key)
The standard controls (DPAD,A,B,X,Y,L,R,Sel,Start) work OK.
Only these 'special' emulation / speed keys are having problems when set to a gamepad.
It's like pressing a turbo button all the time.
On the other hand,the issue with the spacebar key and resolution switching is now gone.
I'll do some additional testing by switching to/from very hi-res custom modes. (1920x1080 up to 2048x1536)
I also had a problem with the ESC key not going back to the GUI before with 3832,so I nedded to Alt-Tab to another application and get back to ZSNES to make it work again,
I'll see if this happens with 3839.
You should reproduce by using a Logitech Rumblepad2 USB gamepad.
This issue is almost the same as the bug I found in NEStopia,Martin fixed it in the latest NEStopia WIP build,now everything is normal.
No matter what buttons I assign these controls to,the issue is still there.(unless I set it to a keyboard key)
The standard controls (DPAD,A,B,X,Y,L,R,Sel,Start) work OK.
Only these 'special' emulation / speed keys are having problems when set to a gamepad.
It's like pressing a turbo button all the time.
On the other hand,the issue with the spacebar key and resolution switching is now gone.
I'll do some additional testing by switching to/from very hi-res custom modes. (1920x1080 up to 2048x1536)
I also had a problem with the ESC key not going back to the GUI before with 3832,so I nedded to Alt-Tab to another application and get back to ZSNES to make it work again,
I'll see if this happens with 3839.
Hmm,the spacebar problem is still there just it happens at random.
You can reproduce it if you start ZSNES with freshly-generated .cfgs,then change to another windowed resolution,test a game and close the emulator.
Then open it and switch to a custom DS Fullscreen mode.It won't accept SPACE at the prompt to press it.
It's a bit random,but it happens.
You can reproduce it if you start ZSNES with freshly-generated .cfgs,then change to another windowed resolution,test a game and close the emulator.
Then open it and switch to a custom DS Fullscreen mode.It won't accept SPACE at the prompt to press it.
It's a bit random,but it happens.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
No.kick wrote:Also,in the documentation FAQ,about where to get ROMs,you should point users to www.pdroms.com where they can get legal SNES roms to try with the emulator.
There's some really nice stuff there.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
-
- Romhacking God
- Posts: 922
- Joined: Wed Jul 28, 2004 11:27 pm
- Contact:
The Dual Orb 2 translation works just fine in this version of ZSNES. The issue was the original Dual Orb 2 ROM was an overdump. However, I never accessed any of those areas.Nach wrote:It's what section of the ROM is returned when requested to return ROM data past the end of the pysicall size of the ROM.Dais wrote: What exactly is "true rom mirroring", and what does it have to do with translations?
Unforunetly most translators especially of the past don't have a clue about proper ROM mirroring. So if a translator only tested his game on some emulators and he had some screwy pointers, it could very well not work anymore.
I recall Front Mission, Dual Orb 2, and some other translations had mirroring issues, I'm sure there are quite a few.
The current patch works on BOTH the correct ROM dump AND the overdumped version AND the SNES without issue aside from that one bug I never bothered to fix on the SNES.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
Your original patch did not worked with a not overdumped ROM since then it mirrored incorrectly.Nightcrawler wrote: The issue was the original Dual Orb 2 ROM was an overdump. However, I never accessed any of those areas.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
-
- New Member
- Posts: 2
- Joined: Thu Sep 28, 2006 6:01 pm
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
Thanks for the report. I looked into it and noticed it only loads from default settings not the path you typed in, that's been fixed now.deadscreem wrote:The Sufami Turbo base cart config doesn't work anymore in the latest wip.
maybe the other basecart configs too?
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
Mmm, I love visiting this thread every several weeks and reading all the new changes. My thanks go out to all the developers who have way more work ethic than I could ever muster.
I was wondering, though, I wanted to play Chrono Trigger again and I'm going to play it on ZSNES (since my SNES is currently missing its cables.) I know that there are some graphical glitches (Black Omen bug) and some sound problems (square sound rape bug) but what I wanted to know was if I use the latest WIP or SVN build with Zget, are there any documented bugs that will outright crash the game or make it unplayable?
I was wondering, though, I wanted to play Chrono Trigger again and I'm going to play it on ZSNES (since my SNES is currently missing its cables.) I know that there are some graphical glitches (Black Omen bug) and some sound problems (square sound rape bug) but what I wanted to know was if I use the latest WIP or SVN build with Zget, are there any documented bugs that will outright crash the game or make it unplayable?