Old Regen pages

AamirM's Regen forum

Moderator: AamirM

Locked
King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos » Thu Apr 10, 2008 6:12 pm

Yep, I can confirm this happens on Vista too.

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Thu Apr 10, 2008 6:12 pm

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

Sik
Very interested
Posts: 939
Joined: Thu Apr 10, 2008 3:03 pm
Contact:

Post by Sik » Thu Apr 10, 2008 6:40 pm

AamirM wrote:
Sik 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.
This program is exploiting a bug in the new Musashi version. Thanks for it. Now I will be able to find this bug easily :) (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.
Can I know what do I do that my games always require so much accuracy? x_X

Also, found another game that doesn't work in Regen: Ya-Se Chuan Shuo (Ch). It works in Gens but it doesn't in Fusion. Regen manages to get a bit further than Fusion, then it shuts down.

EDIT: also, what bug is it exactly? OK, I guess I shouldn't bother about it if it works in the real hardware, but anyways.

Eke
Very interested
Posts: 885
Joined: Wed Feb 28, 2007 2:57 pm
Contact:

Post by Eke » Thu Apr 10, 2008 9:40 pm

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 ? ;-)

Captain Boomerang
Interested
Posts: 13
Joined: Sat Apr 05, 2008 9:35 pm
Location: Logan City, Queensland

Post by Captain Boomerang » Thu Apr 10, 2008 10:03 pm

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
Hi,

Thank you very much!
AamirM wrote:
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.
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.
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.

To be perfectly clear, Regen is doing word writes for all pro action replay codes, when the non-working codes need to be byte writes. It absolutely has to be this way or those pro action replay codes won't ever work in Regen without modification. I'm sure that if you can hunt this down Regen will do pro action replay like Kega and the real hardware. I suppose if you need more information about this one of the other knowledgable users here will explain it better than I can. Somebody else test this out and see if my results are valid, thanks a lot!

-Adam

King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos » Thu Apr 10, 2008 10:35 pm

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

with the correct values, you also have good DAC samples

EDIT: I am also interested in the musashi bug, could you developp ? ;-)
The Sega Emulation Forums? It's alive again. =P

I'll add the game to the non working list, with a note saying it requires extra cart hardware.

TulioAdriano
Very interested
Posts: 81
Joined: Tue Jul 10, 2007 7:45 pm
Location: Brazil / USA
Contact:

Post by TulioAdriano » Fri Apr 11, 2008 12:09 am

AamirM wrote:Hi,

Yes, I forgot to mention the game :oops: . 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

Result: ~950 FPS on focus. ~915 out of focus. Fullscreen results are ~750 FPS
Other games are around 1070 FPS (The position of the message puts the end of the value out of the screen)

Note: It took a while to get this to go above 60 FPS because VSync was enabled. Disabling VSync then all went crazy fast.

Processor: Intel Core2 Quad Extreme 3.0 GHz (QX9650)
RAM: 4GB DDR3 (1333 MHz)
Video Card: GeForce 8600 GTS 512 MB DDR3
OS: Windows XP Professional x64

Feel free to request more tests! :)

Soon I'll put it to test on the ULTIMATE GAME EVER: Pier Solar ;)

Seeya.
Tulio
Image

DarkSerge
Newbie
Posts: 1
Joined: Fri Apr 11, 2008 12:38 am

Post by DarkSerge » Fri Apr 11, 2008 12:45 am

Nice emulator, I like it...Keep up the good work...

Anyways I had a few idea's that you might want to consider adding to the emulator. They are:

-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...

and thats all the idea's for now...

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Fri Apr 11, 2008 6:31 am

Hi,
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
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:EDIT: I am also interested in the musashi bug, could you developp ?
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 normally :? .
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...
You'll be glad to know that I am working on these things already. They will soon be available.

@ Captain Boomerang

Thanks. I actually tried what you said some time ago but that too didn't work. Maybe I was doing something wrong. I'll try again.

@ 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

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Fri Apr 11, 2008 7:37 am

Hi,
Sik wrote:Can I know what do I do that my games always require so much accuracy? x_X
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 :D . 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).

stay safe,

AamirM

TulioAdriano
Very interested
Posts: 81
Joined: Tue Jul 10, 2007 7:45 pm
Location: Brazil / USA
Contact:

Post by TulioAdriano » Fri Apr 11, 2008 2:32 pm

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
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.

If possible, please move the FPS message to the left a bit. I can't see the full number on the screen.

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...

Seeya.
Tulio
Image

King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos » Fri Apr 11, 2008 3:01 pm

Eke, here's your post on the SeF about Ya-Se Chuan Shuo. :)

AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM » Fri Apr 11, 2008 5:01 pm

Hi,
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.
Once my exams are finished, I'll upload it.
TulioAdriano wrote:If possible, please move the FPS message to the left a bit. I can't see the full number on the screen.
I'll fix that.
TulioAdriano 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...
Well, there goes another example of Regen being more accurate :) .

stay safe,

AamirM

Sik
Very interested
Posts: 939
Joined: Thu Apr 10, 2008 3:03 pm
Contact:

Post by Sik » Fri Apr 11, 2008 5:03 pm

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 :D . 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).
Good, now, tell me WHERE is it trying to access...

http://srb2town.sepwich.com/junk/wtf.png
WTF... When did I write that code?

EDIT: er, warning, if it does address exception when jumping, it's OK, that part of the code isn't working as it should :P Anyways somebody tell me how did that code I posted above appear... >_>

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Fri Apr 11, 2008 5:06 pm

Hey AamirM,

FM sound is nice, but PCM/DAC sucks... you can use my sound demos and Fusion to compare. Only Fusion here has correct PCM/DAC emulation.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Locked