Sonic and Sega Retro Message Board: (DC) Sonic Adventure Prototype (1998-10-16) - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 44 Pages +
  • ◄ First
  • 42
  • 43
  • 44
    Locked Forum

(DC) Sonic Adventure Prototype (1998-10-16) Everything you need to know + download link inside.

#646 User is offline Woofmute 

Posted 13 April 2018 - 02:51 PM

  • Y and -Y and XYZ-X-Y-Z.
  • Posts: 184
  • Joined: 22-December 08
  • Gender:Female
  • Project:Hacking and researching Rez.
  • Wiki edits:1
Bit of a bump, but its for some new discoveries. Any memory addresses here will be 0x2C instead of 0x8C for Cheat Engine and Demul.

Chaos 2 was thought to be non-functional in the Autodemo but it turns out it can be activated and fought properly.
There are two methods, one is weird in that chaos 2 will only walk after you and turn into the bouncing ball when hit each time, until you defeat it.

Load into the Chaos 2 stage, and press X on controller 1. You can then press A or B to activate the simple version of Chaos 2's fight. Doing so will lock the camera until you deactivate Chaos.
Pressing X again will cancel the bouncing ball attack, and can be used deactivate Chaos.

The alternative method is to set the byte at 0x8C6A4EAA to 01.
Activating the fight this way will show the little cutscene that shows the boss' name and activates the health bar, and Chaos 2 will be able to use all of its attacks.
The punching attack in this version does not have the delay afterwards like the final, so there are less openings to attack.

Credit to MainJP and SpeepsHighway for discovering how to activate Chaos 2. A video will need to be made about the second method for activation.

The controller method for activating Chaos 2.

A look at all of Chaos 2's available actions in this build.

The other discovery I'd like to mention is about the demo recorder. It is still mostly functional in this build, and potentially in other builds.
These demo files are the KEYXXYY.BIN files in the game's data.

XX is the level ID,
YY is the level segment ID.

KEY0501 is Red Mountain, Red Hot Skull.
KEY0A00 is Final Egg, part 1.

These use hex values for their level IDs, while SET files use decimal.
They are loaded into 0x8CBE0000 in memory.

Demos are recorded and played back only if the value at 0x8C169D18 is 01.
The current demo read/write location is stored as 4 bytes at 0x8C169D28.
Setting 0x8C169D1C to 02 stops demo recording and playback, and prints the current read/write location of the demo to the screen.

Demos can be recorded and dumped by setting this byte to 02 when you're done, and dumping the memory from 0x8CBE0000 to wherever the printed location is.

The KEY files are the same format as the memory dump, and should be easily replaceable.
Custom demos will most likely need a footer like the KEY files in the game's data have, which I believe is the last 12 bytes of the KEY file.

Sonic in Speed Highway Footer:
FFFFFFFF 00000000 090080FF
E-102 in Red Mountain Footer:
FFFFFFFF 00000000 7E001100

Will be looking for this in other versions soon.

#647 User is offline Jase 

Posted 23 April 2018 - 03:04 PM

  • ~~(_ _C^>
  • Posts: 80
  • Joined: 25-August 10
  • Gender:Male
  • Location:England, Surrey
Good to see discoveries are still being made in this autodemo!

#648 User is offline Vangar 

Posted 23 April 2018 - 11:43 PM

  • Posts: 3473
  • Joined: 08-January 04
  • Gender:Not Telling
  • Location:America
  • Wiki edits:2
The demo recorder being functional is a pretty cool find, great work

#649 User is offline Shaddy the guy 

Posted 03 July 2018 - 10:57 PM

  • Zaphod's just some guy, you know?
  • Posts: 290
  • Joined: 27-September 16
  • Gender:Male
  • Location:Beaverton OR
  • Project:Thinga Comic
I might've missed something in the past 45 pages, but the links to download this demo have died. Can it get a reupload? Some others are looking for it, and I don't know of another place to download the ISO.

#650 User is offline JaxTH 

Posted 04 July 2018 - 12:36 PM

  • Pudding Deity
  • Posts: 8311
  • Joined: 29-March 10
  • Gender:Male
  • Location:Los Angeles
  • Project:Jack shit.
  • Wiki edits:2
And this, ladies and gents, is why all protos should also be mirrored on the wikis.

#651 User is offline evilhamwizard 

Posted 04 July 2018 - 12:57 PM

  • Posts: 1286
  • Joined: 16-June 04
  • Gender:Male
  • Wiki edits:109
We added it to Hidden Palace a while a go. When it doubt, check there. :)

#652 User is offline evilhamwizard 

Posted 13 January 2019 - 05:03 PM

  • Posts: 1286
  • Joined: 16-June 04
  • Gender:Male
  • Wiki edits:109
mfw almost 6 years

Just a quick heads up. There's a new (better?) way to play the AutoDemo now that doesn't involve using Demul + Cheat Engine. For almost a year now, the guys over at libretro have given their reicast core some love and made it into something that you can probably use.

Unlike Demul, the reicast libretro core has built in support for cheats. That and the fact that you can use shaders, widescreen hacks, internal resolution increases, and monitors that support variable refresh rates makes this the best way to make the Autodemo itself playable. It looks great too, if this stuff is more your thing:

I made a code that you can trigger to activate 60fps too. I made a small cheat file for myself but feel free to port some codes over so we can get something going:

cheat0_address = "7721128"
cheat0_address = "7721128"
cheat0_address_bit_position = "0"
cheat0_big_endian = "false"
cheat0_cheat_type = "1"
cheat0_desc = "ram_framerate"
cheat0_enable = "true"
cheat0_handler = "1"
cheat0_memory_search_size = "5"
cheat0_repeat_add_to_address = "1"
cheat0_repeat_add_to_value = "0"
cheat0_repeat_count = "1"
cheat0_rumble_port = "0"
cheat0_rumble_primary_duration = "0"
cheat0_rumble_primary_strength = "0"
cheat0_rumble_secondary_duration = "0"
cheat0_rumble_secondary_strength = "0"
cheat0_rumble_type = "0"
cheat0_rumble_value = "0"
cheat0_value = "1"
cheat1_address = "7721136"
cheat1_address_bit_position = "0"
cheat1_big_endian = "false"
cheat1_cheat_type = "1"
cheat1_code = ""
cheat1_desc = "ram_framelimit"
cheat1_enable = "true"
cheat1_handler = "1"
cheat1_memory_search_size = "5"
cheat1_repeat_add_to_address = "1"
cheat1_repeat_add_to_value = "0"
cheat1_repeat_count = "1"
cheat1_rumble_port = "0"
cheat1_rumble_primary_duration = "0"
cheat1_rumble_primary_strength = "0"
cheat1_rumble_secondary_duration = "0"
cheat1_rumble_secondary_strength = "0"
cheat1_rumble_type = "0"
cheat1_rumble_value = "0"
cheat1_value = "1"
cheat2_address = "7949456"
cheat2_address_bit_position = "0"
cheat2_big_endian = "false"
cheat2_cheat_type = "1"
cheat2_code = ""
cheat2_desc = "levelselect"
cheat2_enable = "false"
cheat2_handler = "1"
cheat2_memory_search_size = "3"
cheat2_repeat_add_to_address = "1"
cheat2_repeat_add_to_value = "0"
cheat2_repeat_count = "1"
cheat2_rumble_port = "0"
cheat2_rumble_primary_duration = "0"
cheat2_rumble_primary_strength = "0"
cheat2_rumble_secondary_duration = "0"
cheat2_rumble_secondary_strength = "0"
cheat2_rumble_type = "0"
cheat2_rumble_value = "0"
cheat2_value = "0"
cheats = "3"

Just put this in a .cht file and load it up while playing. Activate the levelselect cheat while on the title screen (leaving it on before hand should work too I think) and you'll get a nice level select menu to jump into any playable level you want with any character. Create a savestate at this screen and you can instantly play any level in the game without having to wait 500 years for the intro video to finish. The 60fps code makes cutscenes run at double the frame rate, but other than that its safe to leave both the framelimiter and framerate cheats on at all times.

In other news, I monkeyed around with porting Sky Deck and ran into a problem that basically confirms what I suspected was wrong with my Windy Valley port - the collisions don't work for most if not all objects. Here's what I have so far:

Posted Image

All those platforms are actually objects. Trying to land on any of them causes anyone to just fall down. I'm guessing the collision flag for the particular model is wrong? Or maybe there's a parameter being passed to some collision routine that's using a bad value? I have no idea...

There's some oddities with the set file as well. The parameters for many of the objects seem incorrect, the biggest giveaway of this is the fact that most item monitors are just extra lives:

While my time is limited, I'm still interested in getting these stages to load properly at some point. Of course, I'd rather see someone port more stages to SADX instead. :P
This post has been edited by evilhamwizard: 13 January 2019 - 05:04 PM

  • 44 Pages +
  • ◄ First
  • 42
  • 43
  • 44
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users