├── 68000.idb ├── 68000vars.txt ├── playerost.txt ├── playerostidea.txt ├── readme.txt ├── sh2.idb └── snddrv.idb /68000.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sonicretro/chaotix/4855acd233255307ffd2d950576add3ba9f16d38/68000.idb -------------------------------------------------------------------------------- /68000vars.txt: -------------------------------------------------------------------------------- 1 | | $FFFF0200 primary collision data 2 | length 1024 bytes 3 | | $FFFF0600 secondary collision data 4 | length 1024 bytes 5 | w $FFFFC030 VBlank handler opcode 6 | l $FFFFC032 VBlank handler address 7 | w $FFFFC036 HBlank handler opcode 8 | l $FFFFC038 HBlank handler address 9 | ? w $FFFFC1DE horizontal scroll position for foreground plane 10 | ? w $FFFFC1EE vertical scroll position for foreground plane 11 | l $FFFFC1FE RAM address of uncompressed level layout 12 | l $FFFFC202 RAM address of uncompressed primary 128x128 block mappings 13 | l $FFFFC206 RAM address of uncompressed primary 16x16 block mappings 14 | l $FFFFC242 RAM address of uncompressed secondary 128x128 block mappings 15 | l $FFFFC246 RAM address of uncompressed secondary 16x16 block mappings 16 | | $FFFFD460 palette cache 17 | length $40 words 18 | | $FFFFD560 level palette cache (loaded only when a level is loaded, also copied to $FFFFD460 when bonus stage ends) 19 | length $40 words 20 | | $FFFFD860 32X palette cache 21 | length unknown (?) 22 | | $FFFFDD16 function (unknown); 23 | length $E words 24 | w $FFFFDFDE game mode 25 | w $FFFFDFE0 game submode 26 | w $FFFFDFEC camera X position 27 | w $FFFFDFEE camera Y position 28 | w $FFFFDFF2 current level 29 | 0 botanic base 30 | 1 speed slider 31 | 2 amazing arena 32 | 3 techno tower 33 | 4 marina madness 34 | 5 isolated island (tutorial) 35 | 6 isolated island (scenario quest) 36 | 7 world entrance 37 | 8 [not used] (crashes gens/gs) 38 | 9 bonus stage 39 | A special stage 40 | w $FFFFDFF4 current stage # 41 | w $FFFFDFF6 current time of day 42 | w $FFFFE008 # of rings 43 | l $FFFFE00A current score 44 | w $FFFFE01A # of Chaos Rings 45 | *4? w $FFFFE038 current character 46 | *4? w $FFFFE03A current second character 47 | l $FFFFE09C address of current object placement data 48 | w $FFFFE0A0 index into level object placement array of leftmost onscreen object 49 | | $FFFFE0A2 level object cache (values unknown) 50 | length $100 bytes 51 | b $FFFFFCE6 current pan of the ring sound (>0 -> left; <=0 -> right) 52 | b $FFFFFCFC current song; set when a certain function is called; only used by bonus stage to "resume" songs 53 | b $FFFFFFD0 current demo # (0-4) 54 | -------------------------------------------------------------------------------- /playerost.txt: -------------------------------------------------------------------------------- 1 | table 1 for monitors 2 | $2C(a6) - 1 if taken, 0 otherwise 3 | 4 | TABLE 1 5 | OFFSET SIZE DESCRIPTION 6 | $0-$1 word Pointer to next OST in allocator chain 7 | $2-$6 ? ? 8 | $7 byte Current action (always even) 9 | $0 none 10 | $2 standing, walking 11 | $4 jumping 12 | $6 rolling 13 | $8 wall jumping; double jumping (Vector) 14 | $A holding partner 15 | $C ? 16 | $E being held by partner 17 | $10 charging a spindash 18 | $12-$18 ? 19 | $1A being called 20 | $1C invalid 21 | $1E invalid 22 | $20-$32 ? 23 | ... 24 | $8 word X position in relation to level 25 | $A-$B ? ? 26 | $C word Y position in relation to level 27 | $E-$13 ? ? 28 | $14 word X position in relation to screen 29 | $16 word Y position in relation to screen 30 | $18-$1F ? ? 31 | $20 word? 32X art ID 32 | $22-$24 ? ? 33 | $25 byte Flags 34 | BIT DESCRIPTION 35 | 0-2 ? 36 | 3 Set if facing left; clear if facing right 37 | $26-$2B ? ? 38 | $2C word current horizontal velocity 39 | $2E-$39 ? ? 40 | $3A word Pointer to table 2 41 | $3B-$3F ? ? 42 | 43 | TABLE 2 44 | OFFSET SIZE DESCRIPTION 45 | $0-$1 word Pointer to next OST in allocator chain 46 | $2-$2F ? ? 47 | $30 byte Flags 48 | BIT DESCRIPTION 49 | 0 has sheild? 50 | 1 ? 51 | 2 ? 52 | 3 if 1 then shrunken, if 0 then grown; only checked when $38 != 0 53 | $31 ? ? 54 | $32 word Invincibility timer (from $4B0 to $0; $0 == no invincibility; each new box adds $4B0) 55 | $34 word Speed shoes timer (from $4B0 to $0; $0 == no speed shoes; each new box adds $4B0; the song speed is B0) 56 | $36-$37 ? ? 57 | $38 word Grow/shrink timer (from $4B0 to $0; $0 == no size change; each new like box adds $4B0; each unlike box sets $0 and returns to normal) 58 | $39-$3F ? ? 59 | -------------------------------------------------------------------------------- /playerostidea.txt: -------------------------------------------------------------------------------- 1 | $28 word current animation subframe? 2 | -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | This is a Knuckles' Chaotix disassembly and toolset. 2 | 3 | DISCLAIMER: 4 | Any and all content presented in this repository is presented for informational and educational purposes only. 5 | Commercial usage is expressly prohibited. Sonic Retro claims no ownership of any code in these repositories. 6 | You assume any and all responsibility for using this content responsibly. Sonic Retro claims no responsibiliy or warranty. 7 | 8 | Started: 16 October 2009 9 | 10 | A lot has been done since the last time I really touched this, so I don't know everything off the top of my head. That said, please ask me for assistance if you are unsure of something I did. I may update this readme (or possibly some other file) to explain everything over time. 11 | 12 | I still do not know how to get a fully rebuildable ROM, nor do I know how the bank switcher handles saving files. What I do know is that a workable disassembly will be touch due to having to watch out for all three components and making sure everything fits in the ROM in a way the 68000 will like (as it is limited by the bank switcher). 13 | 14 | Thanks to everyone who helped me up to this point. 15 | 16 | Enjoy, 17 | Pietro Gagliardi (andlabs) 18 | 23 February 2011 19 | -------------------------------------------------------------------------------- /sh2.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sonicretro/chaotix/4855acd233255307ffd2d950576add3ba9f16d38/sh2.idb -------------------------------------------------------------------------------- /snddrv.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sonicretro/chaotix/4855acd233255307ffd2d950576add3ba9f16d38/snddrv.idb --------------------------------------------------------------------------------