- Tech Member: Tech Members
- Active Posts:
- 624 (0.19 per day)
- Most Active In:
- Engineering & Reverse Engineering (196 posts)
- 01-June 04
- Profile Views:
- Last Active:
- Jun 06 2012 08:50 AM
- 26 years old
- January 18, 1987
- Not Telling
- National Flag:
- Wiki edits:
Topics I've Started
07 January 2010 - 06:01 PMGenerally it is assumed that Sonic 3C = special S3 version meant to be S3+SK in one cartridge. Question is, is there any actual evidence to support this? Granted there were magazines speaking about that Sonic 3 Limited Edition, but that doesn't necessarily mean Sonic 3C was that.
For what we know, it's more plausible Sonic 3C was just a prototype of S&K, a natural step in the development "first we add everything, then we split it and add lockon". Was Sonic 3C really cancelled right before the development of S&K started? Doesn't it sound more logical that Sonic 3C was meant to be S&K since the beginning and it simply "evolved" into it?
IIRC drx had some other stuff he couldn't release, so maybe there is evidence that I don't know, but otherwise perhaps it's wrong to relate Sonic 3C to that special third version.
This is not a "throw your theories in" thread, but I think it is important to know whether we can safely make the assumption or not. Well, I'd like to know at least :P
17 July 2009 - 09:13 PMI was going to post this in the old SAE thread, but it seems to be vanished from here, so anyway:
Am I doing it rite?
06 June 2009 - 10:17 PMSince I know we have several sound ninjas around and it's not really my best area... is there any workaround yet to fix the sound in S&K if the code is shifted?
13 April 2008 - 02:31 PMSonic Advance Editor (SAE if you like it better) is a general purpose editor for the Advance series written by myself. Current release features a level editor for layers BG1 and BG2 and support for Sonic Advance 1 (eur, usa and jap). This version is still quite preliminary and lacks several features I intended to add (hence why I'm labeling it as 0.1), such as palette/tile editors or SAdv2/3 support, but since I'll be off next week I'd rather release it and give updates with the time.
You'll need the lastest package of the .NET Framework for it to work, and possibly a screen resolution of 1024x768 or higher. Also please note it's also labeled 0.1 since it might not be fully stable yet - shouldn't be anything worrying but feel free to report problems.
Download: http://www.fileden.c...33/SAEditor.rar (Mirrors are quite certainly welcomed...)
Feedback it's appreciated, though I'm guessing it won't be that much. Nevertheless I enjoyed the development of this tool and I hope to be able to bring further updates in the near future. Enjoy, to those who might even try it and everything.
20 March 2008 - 09:13 PMSo I finally got some time to look into Ristar. The following info is still kind of a mess to be a decent guide, but I figured someone might still find it interesting so here it goes. I'll be updating the thread as I find new stuff for it.
Note: Information relative to ROM addresses come from Ristar (J)
Quick info: $40 bytes per object in RAM, Object list is located at $3C1E (rom), first object (ristar) is loaded at $C000 (ram). Similar to sonic engines for most part, except the SST is completely changed. Namely, the main object counter is now at $16, and a relative address to the object list is used instead of the object id.
Here's the list I have so far of the Ristar SST:
$00 - Relative Object address (word) $02 - Object Flags $03 - Animation frame (byte) $04 - ?? (frame specific mappings defined setting) (byte) $06 - Animation number $08 - Mappings offset $0E - VRAM offset $16 - Object subroutine counter (byte) $1A - Potential speed (inertia) (word, 8.8) $1C - X speed (word, 8.8) $1E - Y speed (word, 8.8) $20 - X position (long, 16.8) $24 - Y position (long, 16.8) $28 - Plane fixed X pos (word) $2A - Plane fixed Y pos (word) $2C - Object status bitfield (Ristar) $2D - Angle (byte)
Add $2478 to get the savestate address as usual. The list is obviously incomplete, but hopefully it'll grow with the time.
$0000 - 256x256 mappings (foreground) (Also temp cache Star Decompression routine) $4000 - 256x256 mappings (background) $8000 - 16x16 mappings (foreground) $9000 - Object Layout $A400 - Level layout (foreground) $A600 - Level layout (background) $B000 - Collision index $B200 - Secondary collision index? $B600 . 16x16 mappings (background) $C000 - Ristar Object area $E500 - Level ID (word) $E57D - Level ID (byte) $E502 - Level X Highest boundary $E504 - Level X Lowest boundary $E506 - Level Y Highest boundary $E508 - Level Y Lowest boundary $E51E - Ristar X Acceleration $E520 - Ristar Y Acceleration $E522 - Ristar Max X speed $E524 - Ristar Max Y speed $E526 - Ristar Jump Speed $E552 - Collision Hotspot Left angle $E556 - Collision Hotspot Right angle $EA00 - Game mode $EA02 - Game mode sub $EA18 - Last Played sound $EA3A - Joypad input $EA70 - Horizontal int code (usually 6 bytes) $EC00 - Sprite table mirror $EF00 - Palette $EF80 - Fade Palette $F000 - Camera Object area $FA00 - Underwater Palette $FA80 - Underwater Palette
$3C1E - Object list, one long per object $7D80 - Initial level position array, 4 words per level (Ristar X/Y, Camera X/Y) $810A - Level order array $11C1B8 - Level Palette pointer index. Relative addresses, uncompressed, one word per level. $129270 - 8x8 Level tiles (foreground) pointer index. 'Star' compressed. Absolute addresses, one long per level. $1292C8 - 8x8 Level tiles (background) pointer index, 'Star' compressed. Absolute addresses, one long per level. $11C764 - 16x16 level mappings (foreground) pointer index. Star compressed, absolute adresses, two longs per level* $11C814 - 16x16 level mappings (background) pointer index. Star compressed, absolute adresses, two longs per level* $163716 - 256x256 level mappings (foreground) pointer index, 'Star' compressed. Absolute addresses, one long per level. $1853B0 - 256x256 level mappings (background) pointer index, 'Star' compressed. Absolute addresses, one long per level. $188492 - Level Layout (foreground) pointer index, Uncompressed. Absolute addresses, one long per level. $188552 - Level Layout (background) pointer index, Uncompressed. Absolute addresses, one long per level. $5E4 - Object layout pointer index, Relative addresses, one word per "act". $41950 - Pattern load cues list pointer index. Relative addresses, one word per act. The Art listed for each level is Nemesis compressed. $1E97A - Collision Array 1, uncompressed $1ED3A - Collision Array 2, uncompressed $1F0FA - Angle/slope maps array, uncompressed $188BAA - Level Collision index, relative addresses, one word per "act", Star compressed. $188BAA - Secondary Level Collision index, relative addresses, one word per "act", Star compressed. $CC599 - Sound Driver *XX XX XX XX YY YY 00 00, where the X are the actual address and the Y the size
That's it for now. Decent explanations of everything to follow
JoseTB hasn't added any friends yet.