Posted: Thu Apr 10, 2008 6:12 pm
Yep, I can confirm this happens on Vista too.
Sega Megadrive/Genesis development
http://gendev.spritesmind.net/forum/
Can I know what do I do that my games always require so much accuracy? x_XAamirM wrote:This program is exploiting a bug in the new Musashi version. Thanks for it. Now I will be able to find this bug easilySik wrote:EDIT: I've just made a program that crashes on Regen. It works on Fusion... and nothing else D: It used to work in Regen before through, so no idea what's up. Trust me, I don't do anything strange :/
http://srb2town.sepwich.com/junk/nfight.bin
Somebody confirm if this works on the real hardware anyways.(I hope) . It will work until version 0.5 after which the musashi core was updated. The newer one has been giving some problems and I am thinking of putting the old one back in.
Hi,AamirM wrote:Hi,
I'll look into this problem. Although I also have Vista but I rarely use it (too slow). The hard thing is that all my dev tools are installed on XP and I cannot immediatly make modifications and test the results.
stay safe,
AamirM
That's a modifed read actually. You have to do word and byte writes for it to be correct and working for the pro action replay. Looking at the pro action replay codes he reports as non-working I can see they should be byte writes and NOT word writes. Regen is trying to do pro action replay word writes for all codes when it shouldn't. Some codes need to be byte writes, like the ones that King Of Chaos has to modify to work correctly in Regen. Remember, If the value to write is < 0x100, then it's a byte write not a word write like it's doing now. Trust me it matters and it needs to function this way to be correct and accurate.AamirM wrote:Regen does not actually do any writes. It just detects a certain address and returns the data. And they are detected for both word and byte writes.King Of Chaos wrote:I was told the difference between Kega and Regen's PAR abilities right now is that Regen is doing word writes all the time. If the value to write is smaller than 0x100, it is a byte write, if it's larger, it's a word write. That's why some of them don't work (and why some do). =P
What actually bugs me most in general is the fact there's no documentation on how either the Game Genie or AR/PAR/PAR2 works technically.
The Sega Emulation Forums? It's alive again. =PEke wrote:Ya-se-Chuan use extra cart hardware, it will lock at some point (during intro or later) if the values returned from $400000-$400006 (even addresses only) are incorrect (emus generally return 0x00 or 0xff)
I once guessed the expected values by disassembling and reversing the Z80 code (those addresses are acceeded through Z bank) and put my analysis on Gens forum but it seems dead by now
with the correct values, you also have good DAC samples
EDIT: I am also interested in the musashi bug, could you developp ?
AamirM wrote:Hi,
Yes, I forgot to mention the game. Sonic 3D selection screen (where you select Game Start, Options etc..). It is very intesive on the VDP.
EDIT: SuperHQ turned on and no Stretch.
EDIT2: I get ~376 fps and my specs are Pentium M 1.7 GHz, 512 MB, onboard Intel 915 GM GFX card.
stay safe,
AamirM
Thanks for the info. Just saw that Gens returns 0 on unmapped reads (in Z80) while Regen will return 0xFF that could be it. I'll check that out.Eke wrote:Ya-se-Chuan use extra cart hardware, it will lock at some point (during intro or later) if the values returned from $400000-$400006 (even addresses only) are incorrect (emus generally return 0x00 or 0xff)
I once guessed the expected values by disassembling and reversing the Z80 code (those addresses are acceeded through Z bank) and put my analysis on Gens forum but it seems dead by now
I was quick to think. It is not a bug in musashi but some other thing (maybe some compiler optimization or a fault of my own). This is the most high priority thing on my list right now. See Surging Aura too. It will get stuck but opening-closing the debugger (F5 then ESC) will make the game advance normallyEke wrote:EDIT: I am also interested in the musashi bug, could you developp ?
You'll be glad to know that I am working on these things already. They will soon be available.DarkSerge wrote:-a cheat finder to find new cheats...a cheat finder similar to snes9x's would be nice..
-more debugging options for the debugger...like breakpoint on read/write/execute and trace CPU addresses to a window or a text file. This could be useful for homebrew makers and/or game genie hackers...
Well, I don't like to deliver bad news but your program will not run on a real Genesis. That is because your program is generating an address exception. If I turn it off the address exception emulation then it will run just fine. So there is just another example that Regen is more accurate than KegaSik wrote:Can I know what do I do that my games always require so much accuracy? x_X
That's nice, I'd like to try that. Also if possible, you can try compile a 64 bit code, should run even faster on 64 bit OS such as the one I am using.AamirM wrote:Hi,
@ People with Core2 or similar processors
I can put a special build for these processors if you want. It contains some OpenMP directives to do parallization. I want to see if that build performs any faster than the P4 version.
stay safe,
AamirM
Once my exams are finished, I'll upload it.TulioAdriano wrote:That's nice, I'd like to try that. Also if possible, you can try compile a 64 bit code, should run even faster on 64 bit OS such as the one I am using.
My processor has 4 cores, so feel free to explore these parallel processing features as much as you want.
I'll fix that.TulioAdriano wrote:If possible, please move the FPS message to the left a bit. I can't see the full number on the screen.
Well, there goes another example of Regen being more accurateTulioAdriano wrote:Btw... I did some preliminary test with PIER SOLAR on your emulator.
The SRAM initialization routine failed. On Gens and Fusion it works. On the real machine it fails also, so I hint it it is accurate...
Good, now, tell me WHERE is it trying to access...AamirM wrote:Well, I don't like to deliver bad news but your program will not run on a real Genesis. That is because your program is generating an address exception. If I turn it off the address exception emulation then it will run just fine. So there is just another example that Regen is more accurate than Kega. I also found out the problems with Surging Aura too. It won't run because of a timing issue (need to execute 489 cycles instead of 488, I don't think this will have any impact on anything but I'll check that some other time just in case).