|
|
GoldenEye 007 Nintendo 64 Community, GoldenEye X, Nintendo 64 Games Discussion GoldenEye Cheats, GoldenEye X Codes, Tips, Help, Nintendo 64 Gaming Community
|
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Sun Dec 21, 2014 6:00 pm Post subject: Rom ClockRate |
|
|
I'm not sure if this is the correct place to ask, but hey - feel free to move or delete.
While I've been looking at overclocking a N64 (see the other discussion) I've been left thinking about the clockrate in the Rom itself. I know it's in the 0x4 position and is 1 dword, but don't know what to change the values to in any constructive way (plus I'm locked to a Mac at the moment so that's worth F-All).
Can anyone give me a gauge on this or perhaps some address to start poking around with a gameshark to see what I can get happening? I'd be much appreciated! _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
Trevor 007
Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest |
Posted: Mon Dec 22, 2014 12:55 pm Post subject: |
|
|
I have no idea but just wanted to post here to remind you (or anyone) to do the inverse of any clock rate you make the HW
So, if you increase the clock rate of CPU, decrease Game (I assume this means increase value since I also assume that the value is a clockrate and the 2 need to match)
Its a lot of assumptions but yeah, just a reminder.
Sub and I have been working on Combiners and Blender Multiplexors. Id say its my first 'real' ROM hacking Ive done. Im pretty pleased with myself hahaha.
Trev _________________
|
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Mon Dec 22, 2014 11:24 pm Post subject: |
|
|
I figured the basic theory would be along those lines. Could test it with emulator actually - just need to go and get my feet wet essentially
As for those combines and multiplexers that's way above my league! Good work there _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
zoinkity 007
Joined: 24 Nov 2005 Posts: 1688
|
Posted: Tue Dec 23, 2014 7:55 am Post subject: |
|
|
If not set the default value would be 0x3B9ACA0. Bottom nibble is masked away. They take 3/4 of this and set it as a long long at 80026980+80026984.
Point of reference in NGEE is 7000D23C. That reads in the word from hardware, masks it, and if zero does the default replacement. _________________ (\_/) Beware
(O.o) ze
(> <) Hoppentruppen! |
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Tue Dec 23, 2014 2:39 pm Post subject: |
|
|
Well after a few hours of mucking around I've seen no change...I'm wondering if Mupen and sixtyforce on the mac might not pay much attention to this value or how it's handled.
In saying that having the addresses for these values will give me something to step-toe off on the actual N64 (when I get back home that is!).
Thanks so much! But in saying that I'm still out of my league here so might be back later with more questions _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Fri Dec 26, 2014 8:16 pm Post subject: |
|
|
I've still not had the chance to try this (am on holiday and itching to get into this!) but could the values also be set with 80000004 + 80000006? _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Mon Dec 29, 2014 1:29 am Post subject: |
|
|
Well having had a play with this I must have been doing something wrong - what type of values should I be injecting with the gameshark as nothing (even FFFFFFFF) seems to have any effect and my idea resulted in the rom not loading.
Potentially this could also be due to me being on PAL and am just knocking on the wrong door. Sorry for my lack of ability! _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Wed Jan 07, 2015 2:29 pm Post subject: |
|
|
Been a while, and with plenty of experimentation to report! (but don't get excited...)
After no luck with the gameshark it was time to dust off the Doctor 64 and try some modified Roms. set to normal speed, 1.5 or twice speed, the test subjects were Goldeneye and Mario Kart (mainly because they're all I've got and internet isn't forthcoming unless I'm at work) and for proper digests sake (if someone were to check what I've done) the tested clockrates were:
Normal running rate
03 B9 AC A0 => B9 03 A0 AC flipped
1.5:
4F 79 0D 50 => 79 4F 50 0D flipped
Twice rate
07 73 59 40 => 73 07 40 59 flipped
So: no difference in playspeed for either of the Roms, but the audio didn't work on Goldeneye at the twice rate, and there was stuttering at 1.5. In Mario Kart there was slight stuttering at 1.5 and large amounts of stuttering at twice speed.
I was really hoping that we'd have a "speed cheat" here that we could use to slow down some of those hard games (like Fighters Destiny), or the overclocked consoles now playing at normal speed.
Zoinkity: what are your thoughts on this? Have I done something wrong there? _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Thu Jan 22, 2015 8:06 pm Post subject: |
|
|
Zoinkity I must beg your pardon! (and apologise for doubting lol)
Having poured over roms I eventually found that Star Wars Episode 1 Racer (USA) had a different value for the clock rate in the header:
03 A0 7F 5F
And tossing that into the rom seemed to make a bit of a difference. After a bit of playing around and eventually trying some extreme numbers ( 06 A0 7F 5F) I can confirm that this has affected playspeed, although it doesn't (on an emulator) seem to be a 1:1 ratio for the speed increase/reduction.
I'll give it a crack on the Doctor64 over the weekend and see what I can take from it - don't get hopes up yet, this could just be the emulator failing to execute correctly lol _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Sun Jan 25, 2015 2:47 am Post subject: |
|
|
Well having given that a decent grilling on the Dr64 and Goldeneye as a test platform I can say that there was no difference. Baring any new information I might just have to hang up the hat on this one - for GE it'd seem that the framerate is handled elsewhere. _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
Trevor 007
Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest |
Posted: Tue Mar 17, 2015 12:43 pm Post subject: |
|
|
Just thought Id try my hand at this.
Unfortunatly my results were not good.
Using this table I made 4 ROMS including GE's default
0000000F, 00000001, FFFFFFFF, FFFFFFF5
Unfortunatly 000000001 was identical to the default 0f.
Both FF and F5 failed to load.
Im not entirly sure what its really doing.
Trev _________________
|
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Tue Mar 17, 2015 3:51 pm Post subject: |
|
|
Same, I've started to think that its either used as an internal thing within the game itself (and so some are different) or it's not a straightfoward number.
Games I've found with something that's not use 0F as clockrate:
Doom 64 (E)[!].z64: 03 A0 7F 5F
Quake 64 (E)[!].z64: 03 A0 7F 5F
Star Wars Episode I - Racer (USA).n64: A0 03 5F 7F => 03 A0 7F 5F
Star Wars Episode I - Racer (Europe).n64: A0 03 5F 7F (I actually expected it'd be different!)
Apart from this being exactly what Zoinkity said (or very close at least) I was left wondering if it wasn't just a number and there could be something else going on with the internal timing system (say it's broken down further perhaps?) I guess those games would be the ones to mess with here but I've just not had the time. Glad to have someone else helping! _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
Trevor 007
Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest |
Posted: Wed Mar 18, 2015 3:18 am Post subject: |
|
|
What I dont understand is what those first 32bits do?
Given that the 'clockrate' also seems inopperable I guess really the question is what the first 128bit really does.
The CRC stuff I assume is correct since its been used in emulation for years.
Yeah, the image is a merger between some info I found on the net and the Registration Data which together make the Header.
I couldnt find that string in ROM which is what atarted the search for the rom data.
Of course, the difference between our implementation is an interesting point.
Where I edit the rom and you edit the ram. although arnt those registers on the rcp?
Anyway, could you test f5 (I think in ram its just 5 and not FFFFFFF5) and see if you also fail to load?
Actually... looking at the values you posted... which digit it the clockrate?
Trev _________________
|
|
|
|
|
|
|
|
|
|
|
MRKane 007
Joined: 11 Dec 2008 Posts: 1075
|
Posted: Wed Mar 18, 2015 2:32 pm Post subject: |
|
|
Zoinkity said that the last nibble (F) was a mask which would set the system to run at standard speeds, and 0 would have the system follow the prescribed clockrate. Messing with this value didn't seem to change anything, so that means we're technically dealing with 03 A0 7F 5...
I've tried messing with the values in both emulator and N64, and have only noticed that sometimes in emulator the system seems to be running under duress. Any value above 60 00 00 00 fails to load up on console, but will eventually boot on emulator (is just very badly delayed).
Perhaps we should try working with one of the games that has a prescribed "clockrate" to begin with...although it would be nice to find one that's different! You've not seen any in your collection at all? _________________ No Mr. Bond, I expect you to be re-coded! |
|
|
|
|
|
|
|
|
|
|
Trevor 007
Joined: 15 Jan 2010 Posts: 926 Location: UK, Friockheim OS:Win11-Dev PerfectGold:Latest |
Posted: Wed Mar 18, 2015 3:19 pm Post subject: |
|
|
Checking through some of my collection shows the following games header values to be as follows:
00 00 00 0F
TWINE E
AeroFighters E
All-Star Baseball 2001 E
Beetle Adventure Racing E
Big Mountian E
CBFD E
CrusinWorld E
Dezemon3D E
Fifa99 E
Getterlove J
Indiana E
ITF2K E
SMPlayer
F-Zero E
ZooT E
GoldenEye E, P, J
LylatWars P (Star Fox)
03 A0 7F 5F
Star Fox E
Star Wars Ep1Racer E
So far no luck. they are all F
Trev _________________
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|