Old Regen pages

AamirM's Regen forum

Moderator: AamirM

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

Post by Captain Boomerang »

Hi,

I think the pro action replay code issues are probably the biggest bug or bugs in Regen right now. I would like to suggest trying to address the bug or bugs as soon as possible, especially if you are about to release a cheat searcher as this may throw off code creation assuming you're allowing pro action replay codes to be created.

Other than that you're doing a real good job Aamir, please don't let these issues get in the way of making the best Megadrive emulator out there mate!

TascoDLX, test a couple of the codes Aamir mentioned for Power Rangers that isn't working on the last page, and I think you'll notice they are odd addresses right off the bat.

Thanks!

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

Post by AamirM »

Hi,

I didn't knew people took the PAR issue so seriously (cheaters!!! :lol: ). I certainly didn't gave it a high priority. The highest priority for me right now is to finish and perfect the YM2612 emulator that I am writing (which turned out to be harder than I thought). But anyways, I have totally rewritten the PAR code (for like the fifth time). I am uploading the last stable enough version I had (still a beta and using the old FM core, the new one is incorrect in almost every game!) with the new PAR code. It should fix all the PAR issues once and for all. You can get the Regen 0.8 beta2 from here. It contains the executable only. It will run on any PC (486 or above :D ) but will surely be a little bit slower. Please test it and see if it fixes the issues. Again I would like to tell that it is *not* the latest Regen (its the last stable code build) many of the bugs are still unfixed in it except the PAR bugs of course. Enjoy!

stay safe,

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

Post by King Of Chaos »

AamirM wrote:I didn't knew people took the PAR issue so seriously (cheaters!!! :lol: ).
Nooo, you can't prove that... *whistles innocently* :lol:

Oh. My. Gawd. THEY WORK NOW!!! YESSSS!!! *cheats now*
TulioAdriano
Very interested
Posts: 81
Joined: Tue Jul 10, 2007 7:45 pm
Location: Brazil / USA
Contact:

Post by TulioAdriano »

Regarding the YM2612 emulation, Tiido mentioned something once and I checked it to be true: YM hardware slightly differs between MD1 and MD2. For some reason, seems that decay times are longer on MD1. I first noticed that when trying Pier Solar in the hardware but I thought could be a bug of the emulation.

But Tiido made a recording of his MD2 and showed me difference in decay times on Sonic 3 two player screen song. We have the recordings I believe, for comparison. If you're going for full accuracy I suppose you should take that into consideration. I can't test MD2 since I only have 2x MD1 (Brazilian and US), but I can do tests on MD1 for accuracy. Maybe you should add MD1 and MD2 mode for YM2612 emulation.

Good job anyway. For most proof tests I have been making, ReGen is being more accurate than Fusion and Gens.

One bug report: When I drag/drop a rom to ReGen.exe, it crashes. This is similar to executing the command line "regen.exe romname.bin". I didn't test it on command line, though.

Seeya.
Image
Shiru
Very interested
Posts: 786
Joined: Sat Apr 07, 2007 3:11 am
Location: Russia, Moscow
Contact:

Post by Shiru »

TulioAdriano wrote:YM hardware slightly differs between MD1 and MD2. For some reason, seems that decay times are longer on MD1.
YM2612 is not a custom chip, it's parameters can't depend from MD version. If there really difference with decay time, and this difference is always same (i.e. MD1 has one decay time, MD2 has other, but never vice versa), it's not issue with YM emulation. Possibly it depends from on-board amplifier. Don't know, maybe it non-linear on MD1 and amplify lower levels better than on MD2 (so silent sound has higher volume and thus decay time is looks longer).
Last edited by Shiru on Thu Apr 17, 2008 4:13 pm, edited 1 time in total.
King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos »

Actually dragging and dropping a ROM into Regen (in it's directory with config and other needed files) it tries to load up thinking you're using it for the first time, then the window loads, and crashes.

Also, I think it'd be kinda pointless to point out the beta 2 of v0.8 with PAR fixed crashes on exit with a ntdll.dll error (which is a memory crash).

P.S. With the PAR fixed now, I'll be converting ALL the codes over again so they're all right, not to mention adding more games to the cheat database. =P
Sik
Very interested
Posts: 939
Joined: Thu Apr 10, 2008 3:03 pm
Contact:

Post by Sik »

AamirM wrote:I didn't knew people took the PAR issue so seriously (cheaters!!! :lol: ).
Either cheating or the PAR code for Sonic 3D that removes the need for collecting flickies (changing completely the gameplay) :P
TulioAdriano wrote:Regarding the YM2612 emulation, Tiido mentioned something once and I checked it to be true: YM hardware slightly differs between MD1 and MD2. For some reason, seems that decay times are longer on MD1. I first noticed that when trying Pier Solar in the hardware but I thought could be a bug of the emulation.

But Tiido made a recording of his MD2 and showed me difference in decay times on Sonic 3 two player screen song. We have the recordings I believe, for comparison. If you're going for full accuracy I suppose you should take that into consideration. I can't test MD2 since I only have 2x MD1 (Brazilian and US), but I can do tests on MD1 for accuracy. Maybe you should add MD1 and MD2 mode for YM2612 emulation.
Decay times? Weird. Well, I never had a model 1. Even yet, there's another bug in the model 2 FM chip, just leave playing the Data Select music from Sonic 3 for about a hour (half hour should do, but just in case). You'll see how one of the background instruments suddenly becomes loud. I wonder why is this, I guess that Sonic 3 doesn't refresh the properties for that instrument and this happens :/
Shiru wrote:
TulioAdriano wrote:YM hardware slightly differs between MD1 and MD2. For some reason, seems that decay times are longer on MD1.
YM2612 is not a custom chip, it's parameters can't depend from MD version. If there really difference with decay time, and this difference is always same (i.e. MD1 has one decay time, MD2 has other, but never vice versa), it's not issue with YM emulation. Possibly it depends from on-board amplifier. Don't know, maybe it non-linear on MD1 and amplify lower levels better than on MD2 (so silent sound has higher volume and thus decay time is looks longer).
I recall having read from several places that models 2 and 3 had a different FM chip, which was backwards compatible with the YM2612, but after all a different chip. Don't get surprised.
Sik is pronounced as "seek", not as "sick".
Shiru
Very interested
Posts: 786
Joined: Sat Apr 07, 2007 3:11 am
Location: Russia, Moscow
Contact:

Post by Shiru »

Sik wrote:I recall having read from several places that models 2 and 3 had a different FM chip, which was backwards compatible with the YM2612, but after all a different chip. Don't get surprised.
I don't believe in that. There is no other OPN chip which can replace YM2612. I know that some MD clones uses cloned YM2612, called TA07. But clone is clone, it's same like cloned CPU's etc - it's digital device with exactly defined logic, so it can't have different parameters.

I'd suggest to Tulio and TmEE to compare sounds from YM2612 output directly, without on-board amp. That can clarify source of difference.

Another assumption is that YM2612 can have slightly different clock frequency in MD1 and MD2, but I highly doubt in that, because they probably both have same implementation of clock frequency generator, with one base oscillator and set of dividers.
AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM »

Hi,
TulioAdriano wrote:One bug report: When I drag/drop a rom to ReGen.exe, it crashes. This is similar to executing the command line "regen.exe romname.bin". I didn't test it on command line, though.
You are probably trying to drag-drop the ROM on the Regen exe file which is not supported right now but now you've pointed out I'll fix it. You have to open up Regen then drag-drop a rom file in the window.
TulioAdriano wrote:Good job anyway. For most proof tests I have been making, ReGen is being more accurate than Fusion and Gens.
Really? That is nice to hear.
King Of Chaos wrote:Oh. My. Gawd. THEY WORK NOW!!! YESSSS!!! *cheats now*
Thats nice to hear too.

About the difference in MD1 and MD2 YM2612 chips, what I had was a Chinese MD2 but now its destroyed :( so I really can't test some of the stuff. I'll see if any of my friends still has an original MD1. If I somehow get both of the models I'll see if they are really different. My current priority is to get the sound in Warlock, Alisia's Dragon, Ariel, Shaq Fu etc.. right. Warlock (any more games?) sound is really incorrect in Regen but Gens and Fusion play it correctly. Eke told me of this. Alisia's Dragon seems to use SSG and Ariel, Shaq Fu (and some more) use a specific instrument that is played incorrectly.
King Of Chaos wrote:Also, I think it'd be kinda pointless to point out the beta 2 of v0.8 with PAR fixed crashes on exit with a ntdll.dll error (which is a memory crash).
Did it crashed once or every time? I absolutely hate these bugs. They take most of the time getting fixed.

BTW, So all the PAR codes are now working? I only tested it with 3 games you know :) .

stay safe,

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

Post by TmEE co.(TM) »

there's no long decays on MD1, just HUGE amount of aliasing noise that makes it seem like having long decays. I believe the chip is 9bits accurate, while MD2 has around 12bits (not much noise).
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
King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos »

AamirM wrote:
King Of Chaos wrote:Also, I think it'd be kinda pointless to point out the beta 2 of v0.8 with PAR fixed crashes on exit with a ntdll.dll error (which is a memory crash).
Did it crashed once or every time? I absolutely hate these bugs. They take most of the time getting fixed.

BTW, So all the PAR codes are now working? I only tested it with 3 games you know :) .
All the time on exit when there's a cheat file loaded and there's cheats on. And yes, it seems to be working for all games now as I've been testing it. :D
AamirM
Very interested
Posts: 472
Joined: Mon Feb 18, 2008 8:23 am
Contact:

Post by AamirM »

King Of Chaos wrote:
AamirM wrote:
King Of Chaos wrote:Also, I think it'd be kinda pointless to point out the beta 2 of v0.8 with PAR fixed crashes on exit with a ntdll.dll error (which is a memory crash).
Did it crashed once or every time? I absolutely hate these bugs. They take most of the time getting fixed.

BTW, So all the PAR codes are now working? I only tested it with 3 games you know :) .
All the time on exit when there's a cheat file loaded and there's cheats on. And yes, it seems to be working for all games now as I've been testing it. :D
Well, it does not happen here. But I'll see it.

stay safe,

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

Post by King Of Chaos »

Here's the problem details from the crash...

Code: Select all

Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	Regen.exe
  Application Version:	0.8.0.0
  Application Timestamp:	480765c4
  Fault Module Name:	ntdll.dll
  Fault Module Version:	6.0.6001.18000
  Fault Module Timestamp:	4791a7a6
  Exception Code:	c0000005
  Exception Offset:	00065844
  OS Version:	6.0.6001.2.1.0.768.3
  Locale ID:	1033
  Additional Information 1:	6122
  Additional Information 2:	c61df0edec2f8b24a0a3075d2222b505
  Additional Information 3:	04cb
  Additional Information 4:	e6cc2cd0da499cb05cb2a5d06457151b
King Of Chaos
Very interested
Posts: 273
Joined: Fri Feb 29, 2008 8:12 pm
Location: United States

Post by King Of Chaos »

Ok, have you guys tested Sonic 3 (And Sonic 3 & Knuckles) with the part where the bomber is dropping bombs behind you? The sound of the bomber doesn't sound right to me (sounds like it cuts out). Can anyone else confirm this?

EDIT: Found something else. When you turn a PAR/GG/Hex code off, it doesn't disable the effect.

EDIT 2: Edited most of the cheat files. Aamir, if you decide to add these, make sure you delete all the old ones first in Regen's archive, and replace them with these fixed and working ones. I'll be updating the pack over the next couple days, and adding more cheat files for more games. :)

You can download the updated cheat pack from here.
TascoDLX
Very interested
Posts: 262
Joined: Tue Feb 06, 2007 8:18 pm

Post by TascoDLX »

AamirM wrote:I didn't knew people took the PAR issue so seriously (cheaters!!! :lol: ). I certainly didn't gave it a high priority.
I don't care about PAR codes. I think you shouldn't support them at all. However, I would like to see a decent patching system, something far better than what Fusion has. The current cheat system in Regen doesn't appeal to me at all.

That being said, I've done some more tests. It seems when a PAR code (affecting RAM) is enabled in Fusion, the value is written to RAM and is rewritten (or refreshed) in a somewhat frequent manner.

For instance, in Power Rangers, I set 16 codes (byte-sized) [or 8 codes (word-sized)] to write 5A to FFD080 thru FFD08F, then a save state reveals this:

Code: Select all

FFD080 : 0000 5A5A 0000 5A5A 5A57 58DA 5A5A 5A5A
All bytes are being set but the data has changed as a few loops have elapsed since the last refresh (roughly three loops here, but usually less it seems). I don't know when or how often the refresh occurs, only Steve would for sure.

However, I do believe the cheat method of intercepting RAM reads is the method employed by the Game Genie and I would say is the more favorable method.

As for the current build of Regen (v0.8 beta 2) [tested with Mighty Morphin Power Rangers, of course]:

The code FFD081:0060 (not a useful code, mind you) is doing FFD080 = 0060. This should be FFD081 = 60.

The code FFD080:5880 is doing FFD080 = 80. This should be FFD080 = 5880 because the value 5880 is greater than 00FF (in other words, the high byte is non-zero).

The code FFD081:5880 is doing FFD080 = 5880. Fusion does FFD081 = 80, but I honestly don't know which, if either, is the correct response. I'm sure it doesn't matter... certainly such a code is invalid.

Also, setting a PAR code for an odd ROM address, 0010A9:55AA for example, causes something like this:

Code: Select all

0010A8 : 11 22 33 44
to become:

Code: Select all

0010A8 : AA 22 33 55
For the record, Fusion won't even allow the user to set such a code and would automatically convert it to 0010A8:55AA.
Locked