Register - Login
Views: 99869710
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-04-22 06:45:46 PM
Jul - The Cutting Room Floor - Outrun 2019 Developer's/Cheat Menu New poll - New thread - New reply
Pages: 1 2Next newer thread | Next older thread
Tony H
User
Level: 11


Posts: 10/19
EXP: 4879
For next: 1106

Since: 11-02-12


Since last post: 4.5 years
Last activity: 4.4 years

Posted on 06-05-13 11:29:45 PM (last edited by Tony H at 06-11-13 01:57:34 AM) Link | Quote
Found a hidden set of options in Outrun 2019 (Genesis). Most of it appears to be for developer's. It can still be accessed with a button sequence. The method they use in the game for determining button presses is unusual. They compare a value of 20001207 to the value in a data register. Whenever you press a button on the controller, it stores the number of times you press each button in that register. Here's how the value they are comparing it to works... The value is 20001207. The first "2" is the number of times you need to press UP. The "1207" is the number of times you need to press A, B, and C respectively, so you'll need to press "A" once, "B" twice, and "C" 7 times.

Some cool things about this method is that you can take as much time as you want, and you can press the buttons in ANY order, just as long as you press each button the required number of times.

Anyways, here's how to activate the cheat menu:

Press the Start button to get to the title screen that says "Start, Options, and Records". With "Start" highlighted, press UP twice so that "Options" is highlighted, then press A,B,B,C,C,C,C,C,C,C. Now press Start to enter the option menu and you'll have 3 new options: Stage, Mode, and Control.

You can select from 31 different tracks, disable most collision detection, see the ending credits, have a few different "developer" dashes, etc.

You can exit any track by pressing A+B+C+Start and you will go to the Sega screen, but any settings you had in the option menu will be saved.

____________________
The Code Hut: http://codehut.gshi.org/
Sik

Level: 23


Posts: 17/107
EXP: 64869
For next: 2854

Since: 12-07-12


Since last post: 3.3 years
Last activity: 1.2 years

Posted on 06-06-13 01:12:14 AM (last edited by Sik at 06-06-13 01:50:04 AM) Link | Quote


Well, that was unexpected XD

In case you wonder, the HUD is broken because the arrangement of the tiles of the window plane is directly tied to the horizontal resolution. In this case it means pretty much it's skipping every other row. Moreover, also which addresses are allowed are tied to the resolution, and in this case it just happened that the HUD ends up in the bottom half of the screen (otherwise it'd be much worse garbage down there).

No idea why stuff like the counters and the speed meter aren't affected though... Are those sprites, by any chance?

EDIT: bit 0 in MODE toggles collision against cars, bit 3 toggles the screen resolution. I think bit 0 in CONTROL toggles whether the normal or the debug HUD is shown, need to check again to make sure (or more specifically, see what the other bits do as well).
Mezmorize
Member
Level: 13


Posts: 14/27
EXP: 8504
For next: 1763

Since: 04-11-12


Since last post: 64 days
Last activity: 64 days

Posted on 06-06-13 06:16:18 AM Link | Quote
Using the following Game Genie code, you can access a hidden Title Screen in OutRun 2019 (U) [Genesis]
J2ET-DEZ2

After booting the game and getting to the Title Screen, press Up three times, then press Start.
You will then be greeted with the following image.


Normal Title screen where you press Up 3 times.




____________________
http://gamehacking.org/
http://oldgamehacking.com/
andlabs
Member
Level: 38


Posts: 43/309
EXP: 361516
For next: 8931

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 06-06-13 07:04:39 AM (last edited by andlabs at 06-06-13 07:06:44 AM) Link | Quote
Interesting stuff. I'll look through Hertz's other MD and MCD games to see if they do anything interesting like this. Dorago Quest V is also funny, especially since Hertz were working on Vay at the time (Vay and OutRun 2019 would turn out to be the company's last released games).
Mr.Tickles
Member
Level: 14


Posts: 17/35
EXP: 12745
For next: 326

Since: 12-19-11


Since last post: 2.6 years
Last activity: 4.7 years

Posted on 06-06-13 07:33:22 AM Link | Quote
Originally posted by Mezmorize
Using the following Game Genie code, you can access a hidden Title Screen in OutRun 2019 (U) [Genesis]
J2ET-DEZ2

After booting the game and getting to the Title Screen, press Up three times, then press Start.
You will then be greeted with the following image.


Normal Title screen where you press Up 3 times.





That's hilarious with the dragon quest title screen.
That's even the proper caption.
Tony H
User
Level: 11


Posts: 11/19
EXP: 4879
For next: 1106

Since: 11-02-12


Since last post: 4.5 years
Last activity: 4.4 years

Posted on 06-06-13 12:01:34 PM Link | Quote
This is also hard coded in the game, but haven't figured out what it does yet... With "Start" highlighted, press UP twice, then press C.

____________________
The Code Hut: http://codehut.gshi.org/
ICEknight
Member
Level: 26


Posts: 36/135
EXP: 97252
For next: 5023

Since: 10-25-11


Since last post: 4.1 years
Last activity: 4.0 years

Posted on 06-11-13 12:06:59 AM (last edited by ICEknight at 06-11-13 12:10:18 AM) Link | Quote
There's also a "Hyper difficulty" code at IGN that doesn't seem to work, but I wouldn't dismiss as total bullshit since it involves highlighting Options and pressing C many times.


Harder Game

Highlight "Options" and press C ten times and press Start. You will now go to a VERY hard hyper level.

Couldn't get it to work in the final or any of the prototypes, but perhaps there's traces of a similar button code that does such a thing?
andlabs
Member
Level: 38


Posts: 48/309
EXP: 361516
For next: 8931

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 06-11-13 12:14:23 AM (last edited by andlabs at 06-11-13 12:14:48 AM) Link | Quote
There does appear to be code in the Options screen that checks for a cheat code in the same way Hertz games typically do (take a zero and add $100 each time A is pressed, $10 each time B is, and $1 each time C is), but no code is ever checked (or appears to be checked, anyway)... I'm looking at the JP ROM.
Tony H
User
Level: 11


Posts: 12/19
EXP: 4879
For next: 1106

Since: 11-02-12


Since last post: 4.5 years
Last activity: 4.4 years

Posted on 06-11-13 03:03:54 AM (last edited by Tony H at 06-11-13 03:26:51 AM) Link | Quote
Here's how the cheat code for the developer's menu is checked in the JP ROM...

01:09AA 0C 85 CMPI.L #$20001207,D5 A0=00010BBE A1=00010BBE A2=000FDD2E A3=00000000 A4=FFFFF0C0 A5=00FFB000 A6=00010AC8 A7=00FFFDFC D0=00008080 D1=00004000 D2=00000003 D3=0000FFFF D4=00008035 D5=20001207 D6=00000001 D7=000005CE xNzvc

01:09B0 67 00 BEQ #$003E [01:09F0]

If register D5 is equal to 20001207: that's UP (x2), A (x1), B (x2), C (x7), then it will branch to 01:09F0 which is the routine for the 3 extra options.

Something interesting I noticed with the JP ROM... the check for the "UP twice, then press C" cheat isn't there, but it is in the US ROM. I made an asm trace of that cheat with the US version to try and figure out what it does, but it was getting too involved. May try again later.

EDIT: The "UP twice, then press C" cheat is in the JP ROM, just didn't see it.

____________________
The Code Hut: http://codehut.gshi.org/
Sik

Level: 23


Posts: 19/107
EXP: 64869
For next: 2854

Since: 12-07-12


Since last post: 3.3 years
Last activity: 1.2 years

Posted on 06-11-13 01:28:13 PM Link | Quote
I'd be surprised if there's any difference at all between the regions besides the speed meter (who thought that wasting time changing the speed meter was a good idea, anyway?).
KingMike
Member
Level: 16


Posts: 2/50
EXP: 20255
For next: 1

Since: 05-09-13


Since last post: 47 days
Last activity: 6 days

Posted on 06-13-13 05:39:54 PM Link | Quote
Originally posted by Mr.Tickles
Originally posted by Mezmorize
Using the following Game Genie code, you can access a hidden Title Screen in OutRun 2019 (U) [Genesis]
J2ET-DEZ2

After booting the game and getting to the Title Screen, press Up three times, then press Start.
You will then be greeted with the following image.


Normal Title screen where you press Up 3 times.





That's hilarious with the dragon quest title screen.
That's even the proper caption.


Actually, it's not the same subtitle, the second kanji is different.
It's 天和の花嫁 (tenwa no hanayome?. Google Translate says "Bride of heaven's blessing"
The proper subtitle is 天空の花嫁 (tenkuu no hanayome, "Bride in the Sky")
I don't know if there's a significant difference, although the DS subtitle "Hand of the Heavenly Bride" suggests the former.
andlabs
Member
Level: 38


Posts: 51/309
EXP: 361516
For next: 8931

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 06-13-13 05:51:46 PM (last edited by andlabs at 06-13-13 05:56:35 PM) Link | Quote
Ok, so I did the analysis on the JP ROM. The two cheat checks are right next to each other:


ROM:000109AA loc_109AA:                              ; CODE XREF: ROM:000108F6j

ROM:000109AA cmpi.l #$20001207,d5
ROM:000109B0 beq.w loc_109F0
ROM:000109B4 cmpi.l #$20000001,d5
ROM:000109BA beq.w loc_109C2
ROM:000109BE bra.w loc_109DC



This is a separate cheat check from the one I posted about before, which resembles cheat checks in other Hertz games.

The only difference between the two targets is that the former sets word $FFFF36 to $8000 while the later sets word $FFFF36 to 0. What does this mean for the game? Well there are three places that check this high bit (and one that checks the whole word):

  • $1C2A, which checks it but does nothing (beq.w to the next instruction, which is a bra.w); this check is right at the end of the Sega logo code
  • $68A8, which is what loads the options screen script, and by extension the extra options
  • $7804, which does the pause check (A+B+C+Start in your original post, and actually it's just C+Start)
  • $7C94, which checks the entire word (not just this one bit), and adds "HERTZ CORP." to the ending right after the "Printed by SEGA ENTERPRISES,LTD." credit with the cheat code on

So my best guess is that the latter code either disables the effect of the former code or did something different at one point.

The Dorago Quest screen is screen mode $8. There is no direct jump into it; the code you pasted works by manually forcing the main menu jump table index to an unused index 3 that executes a rts back into the main loop, which moves to the next screen mode, and the title screen is screen mode $4 (screen modes are in increments of $4). I can provide a number of "cleaner" ways to get in. The Data Loading option crashes because it deliberately jumps to noncode (at ROM address $80000, which is all $FF padding byes, which will raise a line 1111 emulator exception which causes the game to hang) after loading the graphics (I remember seeing this ages ago when I first tried disassembling OutRun 2019 but had no clue what was going on because I didn't know about this screen).

As for that other cheat code thing I found earlier, I determined that most of the code points that lead from that function do not use the value. I'm still looking through the last one, which appears to be the main game itself, so I have a very good feeling it is not used after all. I won't continue bothering with this one for now, but if anyone cares in the JP ROM it's the function that starts at $238A, and it appears to be the code that drives both the options menu and the Dorago Quest screen menu (the actual title screen's menu is done by separate code).

I'm going to check everything else against the US and EU ROMs before making a page. Thanks again for everything!
ICEknight
Member
Level: 26


Posts: 38/135
EXP: 97252
For next: 5023

Since: 10-25-11


Since last post: 4.1 years
Last activity: 4.0 years

Posted on 06-14-13 02:21:06 AM Link | Quote
The prototype "Junker's High" actually has the ability of saving and loading replay data. Perhaps that's what the Dorago Quest screen was referencing originally?
andlabs
Member
Level: 38


Posts: 53/309
EXP: 361516
For next: 8931

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 06-14-13 03:22:32 AM (last edited by andlabs at 06-14-13 03:28:46 AM) Link | Quote
Originally posted by ICEknight
The prototype "Junker's High" actually has the ability of saving and loading replay data. Perhaps that's what the Dorago Quest screen was referencing originally?

Maybe, but our Junker's High ROM has the Dorago Quest V screen in the exact same state it is in the final ROM...

While I'm here, the cheat values for Junker's High are $30201207 and $30200000, respectively; the leftmost digit is for both Up and Down and the third digit is for both Left and Right. I'll probably wind up having to make a separate page for this that just has that information and cross-references to the main article... especially since there seems to be some interesting things going on (it looks like that Sega screen thing that went unused in the final version takes you to the crashing Data Loading screen in this version if you have some buttons held at the Sega screen).
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 5029/5390
EXP: 29079560
For next: 255445

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 343 days
Last activity: 343 days

Posted on 06-14-13 03:38:40 AM Link | Quote
Post #5029 · Thu 130613 233840
Originally posted by andlabs
it deliberately jumps to noncode
That most likely means the code was simply deleted...

at ROM address $80000
...but this is a bit of a suspicious address, that makes me wonder if the actual code is still there somewhere.

____________________
Sik

Level: 23


Posts: 23/107
EXP: 64869
For next: 2854

Since: 12-07-12


Since last post: 3.3 years
Last activity: 1.2 years

Posted on 06-14-13 03:59:02 AM (last edited by Sik at 06-14-13 04:00:28 AM) Link | Quote
Makes me think it's crashing on purpose.

On that note, selecting Start at that screen takes you to an invalid level (because nothing is setup). Well, this is what happened when I tried to see how far I could get (disabling the time limit):



Should have guessed it... Note that you need to stop the timer or disable time over, otherwise you'll get stuck halfway (there's a huge left turn and then a huge right turn before that crash point, the time limit won't let you progress past the former).

EDIT: also it's possible that during development they'd override whatever was at $80000 with the debugging hardware. Remember, the devkits used RAM cartridges from what I gather >.>'
andlabs
Member
Level: 38


Posts: 54/309
EXP: 361516
For next: 8931

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 06-14-13 04:03:57 AM (last edited by andlabs at 06-14-13 04:09:06 AM) Link | Quote
Right; I think they actually wrote jmp $80000 there, assuming either they got rid of the code or never had code there in the first place... and since I now know our Junker's High is new enough to still have that jump, welp.

As for disabling the timer, I determined that bit 1 of the MODE value switches on infinite time (by not declaring game over when the timer reaches zero), so values of 2, 3, 6, 7, 10, 11, 14, and 15 will have infinite time. (Bit 2 and the high nibble do not seem to be used, so I think that covers all the MODE bits.)
andlabs
Member
Level: 38


Posts: 56/309
EXP: 361516
For next: 8931

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 06-14-13 06:19:04 PM (last edited by andlabs at 06-14-13 06:23:34 PM) Link | Quote
Sorry for the double post but: to address the question of Junker's High's Data Loading screen, here it is:



Yep. (You can monitor my progress and get the patch codes here and here.)
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 5032/5390
EXP: 29079560
For next: 255445

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 343 days
Last activity: 343 days

Posted on 06-15-13 03:29:57 AM (last edited by Rena at 06-15-13 03:30:34 AM) Link | Quote
Post #5032 · Fri 130614 232957
Originally posted by andlabs
Right; I think they actually wrote jmp $80000 there, assuming either they got rid of the code or never had code there in the first place...
I was thinking more along the lines of the assembler/compiler generating a jump to "nowhere" because the function it was meant to jump to no longer existed. Although that would be a pretty silly thing to do... I guess more likely is they pointed it there themselves (but why not just delete it?) or the code really was at $80000 (possibly because dev units mapped something else there). I don't know the memory map of this system but I assume that's at the beginning of a ROM bank if not the beginning of ROM itself.

____________________
andlabs
Member
Level: 38


Posts: 57/309
EXP: 361516
For next: 8931

Since: 03-19-10

From: United States

Since last post: 1.1 years
Last activity: 139 days

Posted on 06-15-13 03:37:35 AM (last edited by andlabs at 06-15-13 03:39:24 AM) Link | Quote
That address is actually halfway into the ROM (which is 1MB), so unless they had something there before... game data seems to continue shortly thereafter at $80100 (but I would need to do more analysis to see where the references are) so hm
Pages: 1 2Next newer thread | Next older thread
Jul - The Cutting Room Floor - Outrun 2019 Developer's/Cheat Menu New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

33 database queries, 9 query cache hits.
Query execution time: 0.087321 seconds
Script execution time: 0.032614 seconds
Total render time: 0.119935 seconds