Old Regen pages

AamirM's Regen forum

Moderator: AamirM

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

Post by AamirM » Fri Apr 18, 2008 9:11 am

Hi,
TascoDLX wrote: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.
What sort of patching system patching system do you want? (sorry if you mentioned already. I forget things). I think you want something that can inject code in the ROM for things like trainers and/or making hacks to get some unlicensed games work.
TascoDLX wrote: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:
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.
When I very first implemented the PAR I refreshed the RAM every scanline but I still remeber it didn't work for Sonic 2 chaos emerald cheats until I intercepted the reads and returned the patched data. I think that Fusion runs 68k opcode-by-opcode (cycle-by-cycle would be incorrect to say) and updates PAR codes after some cycles (half scanline?). But thats just what I think, only Steve knows.
TascoDLX wrote: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.
Maybe. But AFAIK, Game Genie codes are used (or it was designed) to patch ROM. Although a RAM address can be converted to Game Genie code but I remember reading somewhere that it was not always possible and didn't worked either in emus or in real thing. In Regen, currently, if the patch address is in ROM it is patched once only and no need to refresh it, of course until you turn of the cheat whereby the previous value is written. No Game Genie problems have been reported thus far.
TascoDLX wrote:The code FFD081:0060 (not a useful code, mind you) is doing FFD080 = 0060. This should be FFD081 = 60.
Well now is good time to clear some things up and since now PAR is working correctly, I can say it with more confidence :) . Also note that I am assuming that PAR intercepted reads and didn't write and this is the way it is done in Regen. I have told this many times but many people have failed to clearly understand this point. Well here we go then:

1) Sik said that AAAAAA:00DD is byte write only. I have already said that Regen doesn't do any writes, so what I thought he meant was that it is only intercepted for byte reads. Maybe I thinked wrong but this is wrong.

2) As for your above example, you wrote a byte (FFD081 = 60) but when you read a word from there its byte-swapped. Although FFD080:5880 case is not correct indeed. It needs to return 8058. I'll fix it.

stay safe,

AamirM

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

Post by Sik » Fri Apr 18, 2008 1:22 pm

AamirM wrote:1) Sik said that AAAAAA:00DD is byte write only. I have already said that Regen doesn't do any writes, so what I thought he meant was that it is only intercepted for byte reads. Maybe I thinked wrong but this is wrong.
Actually, by write I mean the effect it has. I guess the most exact term for this would be "byte patch".

Anyways, I thought PAR codes updated once every VBlank only :/ Oh, well, I never had the hardware version of these, so no idea. The only codes I made are permanent states that last several frames, not things that can change several times inside a single frame, so no idea.
Sik is pronounced as "seek", not as "sick".

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 18, 2008 2:24 pm

AamirM wrote:
TascoDLX wrote: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.
What sort of patching system patching system do you want? (sorry if you mentioned already. I forget things). I think you want something that can inject code in the ROM for things like trainers and/or making hacks to get some unlicensed games work.
Have you considered supporting byuu's UPS patching format, in addition to IPS?
TascoDLX wrote: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.
Nope. The Game Genie can only patch ROM, as the Pro Action Replay can technically patch RAM and ROM. I do believe this has been confirmed on the real hardware, via converting a GG code to it's hex address and using it in a PAR.
AamirM wrote:Although a RAM address can be converted to Game Genie code but I remember reading somewhere that it was not always possible and didn't worked either in emus or in real thing.
Well, it *can* work in emulators, but not the real hardware.
AamirM wrote:In Regen, currently, if the patch address is in ROM it is patched once only and no need to refresh it, of course until you turn of the cheat whereby the previous value is written.
This isn't the case for PAR codes. I can turn a code off and the patch is still in effect, unlike Kega where I can turn a code off and the effect is immediately disabled.
AamirM wrote:No Game Genie problems have been reported thus far.
Because Game Genie support is most likely 100% correct in Regen. :)

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

Post by AamirM » Fri Apr 18, 2008 2:50 pm

Hi,
Have you considered supporting byuu's UPS patching format, in addition to IPS?
Nope. Heard it for the first time. I haven't even looked at the IPS thing yet. Can you tell where to find more info on IPS?

stay safe,

AamirM

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

Post by Sik » Fri Apr 18, 2008 2:53 pm

I think he confused the term of patching here :P Normally patching on emulator refers to the GG and the PAR codes. It has nothing to do with replacing large amounts of data in a ROM :P
Sik is pronounced as "seek", not as "sick".

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 18, 2008 2:58 pm

UPS is actually the better patching format, since it doesn't have certain limitations. It's designed to be the successor to IPS patches. You can find some information about this patching format here. bsnes and eventually Nestopia will support this format. :)

And no, it has nothing to do with GG or PAR patching at all. This is patching of the actual ROM files itself. Example being you can download an IPS patch for Sonic hacks, and use a IPS patch to add the data to a clean ROM.

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

Post by Sik » Fri Apr 18, 2008 3:31 pm

I guess it would be better if we leave ROM patching outside emulators and use separate patcher programs, right?
Sik is pronounced as "seek", not as "sick".

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 18, 2008 3:39 pm

Sik wrote:I guess it would be better if we leave ROM patching outside emulators and use separate patcher programs, right?
Mmm, no. Hard patching in this case causes the original ROM file to be permanently altered from it's original state. Soft patching while the game is running in an emulator ensures the original game ROM isn't altered in any way except in memory as the patch is applied.

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

Post by AamirM » Fri Apr 18, 2008 3:40 pm

Sik wrote:I guess it would be better if we leave ROM patching outside emulators and use separate patcher programs, right?
Now thats my way of thinking :) . I think other programs can do it much better than I can.

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

Post by Sik » Fri Apr 18, 2008 4:23 pm

King Of Chaos wrote:
Sik wrote:I guess it would be better if we leave ROM patching outside emulators and use separate patcher programs, right?
Mmm, no. Hard patching in this case causes the original ROM file to be permanently altered from it's original state. Soft patching while the game is running in an emulator ensures the original game ROM isn't altered in any way except in memory as the patch is applied.
Did you ever think that you can apply the patch in a copy of the ROM? :P
Sik is pronounced as "seek", not as "sick".

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 18, 2008 5:06 pm

Of course. It's an open thought nonetheless. Could be very useful for translation patches, or patches to fix certain games. :roll:

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

Post by AamirM » Fri Apr 18, 2008 5:21 pm

Hi,

I am adding language support to Regen. I want someone to write the translation in their native language in front of the equal(=) signs of the following, for example LoadRom=装载ROM . The more translations the better. Here are all you need to fill.

LoadRom=
SoftReset=
HardReset=
PowerOff=
SaveStateAs=
LoadStateAs=
SaveSlot=
QuickSaveState=
QuickLoadState=
Window320x240=
Window640x480=
Window960x720=
EnterFullscreen=
VSync=
Stretch=
Brighten=
FastRendering=
NoSpriteLimit=
SoundRate44100=
SoundRate48000=
DisableSound=
LowpassFilter=
Overdrive=
WAVDump=
FixChecksum=
EnableSRAM=
Cheats=
RedefineKeys=
DefaultKeys=
ConfigurePaths=
TopMost=
AutoPause=
DisableShortcuts=
HighPriority=
DisableScreenSavers=
ShowFPS=
ShowMessages=
ScreenShotUnfiltered=
ScreenShotfiltered=
Debugger=
Exit=
SuperHQ=

Don't post here. Instead mail me the translation file.

stay safe,

AamirM

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

Post by Sik » Fri Apr 18, 2008 5:34 pm

Sending Spanish :P

How do you translate "Overdrive" in Spanish? It says "sobremarcha" in the dictionary, but honestly, it sounds horribly... Also I couldn't translate "lowpass" :/ I know it has to do with filtering low pitches, not no idea how it's called exactly in Spanish.

So don't consider this translation official :P And shouldn't you add an entry for "language" in that list? :P

EDIT: argh, didn't see it had to be sent by e-mail >_>
Sik is pronounced as "seek", not as "sick".

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 18, 2008 5:40 pm

Overdrive = Encimaimpulsión or Másunidad ?
Lowpass = Bajopaso or Bajopase ?

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

Post by AamirM » Fri Apr 18, 2008 6:10 pm

Hi,

No idea. Not even if I was spanish I guess :) .

stay safe,

AamirM

Locked