Knuckles' Clackers
v0.2c Demo submitted to SHC 2023 (Sonic Hacking Contest),
and
2021 & 2023 BitBridge Halloween Showcases!
Winner of 3 trophies, Honourable Mention
in the Sonic Hacking Contest 2023 (contest results)
Hexadecimal Trophy (Judged)
Hexadecimal Trophy (Community, honourable mention)
Spinball Trophy (Judged)
Spinball Trophy (Community)
Introduction
   Knuckles Clackers is a major Knuckles Chaotix game mod for the poor, ill-fated, underrated Sega Genesis 32x addon. It is meant to be an unofficial fan-made sequel (like a "Sonic 5") to Knuckles' Chaotix for the 25th anniversary of the US release of the game (in May 2020).
   Its main focus is to create harder levels, less empty zones, and to create new content for the powerful Knuckles Chaotix game engine, as well as to implement proper loop chunk and pathswapping sections. (The original game had very empty zones with respect to placement of ring, badnik, gimmick, and other objects types compared to its predecessors.) Its other focus is to research and to document how the Chaotix engine works with a more annotated disassembly, and to tinker around with its Sega 32x engine features.
Sega 32x Chaotix engine features:
High-color Sega 32x sprite artwork
SMPS32x music with 4-channel PWM
Level data paging system for tiles, blocks, and chunks;
Near-entirety of Genesis VRAM available for level assets
Design levels with its 2 palettes lines each for both Plane A and Plane B FG/BG tilemap data
The mod aims to be the first fully-fledged modification of the game, featuring:
New levels
Ports and edits of beta Techno Tower and Speed Slider Zones layouts and assets from Sonic Crackers
Other new zones
New audio
New artwork
Genesis tilemaps, sprites
32x sprite artwork
Genesis/32x palettes and palette cycling
Genesis animated level art
Assembly code edits where possible/necessary
Game engine bugfixes
Some restored/recreated Chaotix beta content
Knuckles' Chaotix Hacking/But why?
   As of the time of this writing, there have ever only been 4 public Knuckles' Chaotix mods ever created by various Sonic modding sceners:Â
First ever Chaotix mod!
Features minor art/palette edits
Audio edits
Ports of Sonic SMPS tunes
Swapping of some song's slot IDs
Some song's instruments edited
Other random edits
Chaotix mod with Mighty character replaced with Sonic the Hedgehog (like with Sonic Crackers)
Sonic 4: Cybernetic Outbreak (game mod)
Custom game engine based on Sonic 3 & Knuckles, with Sega 32x support implemented
Various Knuckles' Chaotix 32x features implemented
32x Framebuffer usage for high-color game sprites
SMPS32x sound engine for PWM usage (percussion)
New artwork
Ability to play solo or with the 2P Combi tether system
Epic boss battles
   Years ago (back in 2011), due to the lack of research and Chaotix game mods, I felt like doing some preliminary research into the game, starting with further documenting the game's object types and subtypes, and integrating the data into SonED2's Chaotix ROMulan support. I never fully finished it.
   Nowadays, with my increased knowledge of how the Sega Genesis and Sega 32x work (Motorola 68000 and Hitachi SH-2 assembly programming langauges), I feel like researching even further deeper into how the game works and on finishing up that object documentation.Â
Furthermore, I'm interested in leveraging the engine's robust features that the Sega 32x hardware provides:
Enhanced level design
2 Genesis palette lines (32 colors) for both the Genesis' Planes A & B (FG/BG layers) for levels
Tile, Block, and Chunk paging system for levels
Enhanced graphics
High-color 32x CRAM for game object sprites
Enhanced audio (z80 sound driver for music and audio)
6 FM channels
3 PSG channels
4 PWM channels for epic percussion loops
Software panning and volume control
Knuckles' Clackers features
In comparison to these simple Chaotix mods of old, Knuckles Clackers shall crack open Chaotix modding, take it to the next level, and shall feature:
New Zones
Sonic Factory Zone (SFZ)
Based on Sonic Advance 3's transporter area
Replaces Tutorial Zone
Techno Tower Classic Zone (TTZC), Speed Slider Classic Zone (SSZC)
Port of the beta Techno Tower and Speed Slider Zones and assets from Sonic Crackers to the Knuckles Chaotix game engine
1st act is a port of the only level from each zone from Crackers (act 1), with finished object layouts and other minor edits.
Other acts (2-5) are original acts using the zone's chunks/and new assets
Think act 3 levels from my Socket the Hegdeduck Sonic 1 mod
Egg Gauntlet Zone (Part 1, from Sonic 2 2013 mobile) for Techno Tower Zone Classic Act 4
Egg Gauntlet Zone (Part 2) for Act 5
Proto Palace Zone
Replaces Botanic Base Zone (BBZ)
1st act is port of Hidden Palace Zone (Sonic 2 Beta)
2nd act is port of Hidden Palace Zone (Sonic 2 2013 mobile)
3rd act is port of Hidden Palace Zone (from Segapede prototype)
4th act is an original HPZ layout
5th act is port of Hidden Palace Zone (Sonic & Knuckles)
[TBD] Zones, replacements for
Amazing Arena Zone (AAZ)
Marina Madness Zone (MMZ)
Isolated Island Zone (IIZ)
World Entrance/Newtrogic High Zone (WE)
The other new zones contain original artwork and assets
New SMPS32x audio/edits
Various conversions of music
Full sound hardware utilization
6 FM channels
3 PSG channels
4 PWM channels
Video game music (conversions from various filetypes)
MIDI music
Module music
Music conversions
Hyperdimension Neptunia music
Other music
Restored Crackers DAC samples
Backwards compatiblity for Crackers music ports
Sound edits
PSG Jump SFX
Other SFX ports/edits
New art
Genesis tilemaps, sprites
32x sprite artwork
Genesis/32x palettes and palette cycling
Genesis animated level art
ASM edits
Basic ASM edits to get the new levels/mod to work
Modified Dynamic Level Events
Level Animated Art
Palette cycling
Etc.
Restored/recreated beta and enhanced/edited game content
Restored beta Character Select menu (Heavy & Bomb characters)
Restored Electoria beta song (Sonic Crackers) for Techno Tower Zone Classic
Restored/edited beta Speed Slider Zone 32x loop chunk spritemasker objects
Unrestricted level select menu
Unrestricted sound test menu (for SFX coordination flags $F0-$FF)
Unrestricted Training mode time-of-day cheat (undocumented cheat code, all 4 Times of Day)
Hold combinations of X,Y,Z buttons on a 6-button joypad to select a specific Time of Day in Training Menu
Extended to allow forcing of morning (with Amazing Arena lit flag) and other lit variant times-of-day (Z-button)
XYZ btn bitfield
Edited Level Select/Debug code
$19950421 (Knuckles Chaotix Jap release date)
RGB Sega 32x color values
$06 $0C $15
AND$01 $01 $01
Edited Amy Soundtest code
New game features and game objects
Temporarily removes the Combi tether system (until partner is called)
Properly working Sonic 2 styled loop and path swapper segments!
With proper Sega 32x sprite priority (players)
Engine bugfixes
Removed ring cap from both levels and Bonus Stage (now > 255 rings)
Bugfix for 1 second timing for Bonus Stage ring drain countdown
Save/Restore the level timer when entering/exiting the Bonus Stage (prevents issues with time up gameover)
Knuckles' Chaotix Research
Research into how Knuckles Chaotix works is also being done during Knuckles' Clackers development. Full details at the research page
Further document object types and subtypes (dig through the Knuckles Chaotix disasm)
improve and finally finish my SonED2 Knuckles' Chaotix object definition files
Implement the object definition files into SonLVL
Increase and improve what features SonED2's ROMulan scripts can edit for Chaotix
Improve and further document the incomplete disassembly of Knuckles Chaotix
Code segments
Motorola 68k (Sega Genesis)
Master/Slave Hitachi SH-2 (Sega 32x)
Zilog Z80 (Sound driver)
Commentary for functions
Further annotation
User-friendly names for RAM addresses
Define Constants and names
Define Sega Genesis and 32x hardware ports and bitfields/usage
Share my research!
Downloads:
v0.2c Demo IPS Patch (09/25/2023)
Source code/Chaotix toolkit (Github)
Sonic Stuff Research Group (SSRG) game mod thread
Sonic Hacking Contest 2023 entry page (v0.2c demo)
Read section #2 "Installation" in readme for usage of IPS Patch
Subpages: