An honest account of who made Sonic 060, and of where every idea, every line of borrowed code and every byte of borrowed data in it came from. It is written to be shown to the people it credits, and to anyone else.
Sonic 060 is an unofficial, non-commercial fan port of Sonic The Hedgehog (Mega Drive, 1991) to AGA Amigas. It was vibe coded by Afrotechmods with Claude, Anthropic's AI model: Afrotechmods never wrote a single line of code. He started the project, directed it, set its rules, chose its art and tested the builds on his own Amiga; Claude wrote all of the code. It is not affiliated with, endorsed by, or connected to SEGA, nor to reassembler, RetroRic or Sonic Retro. Any mistakes below are ours. Corrections are welcome and will be applied.
Sonic 060 is not Aonic. Aonic is reassembler's port, with RetroRic's palette and art work, and it is aimed at a stock Amiga 1200. Sonic 060 is a separate port by different hands, aimed at an A1200 with a fast accelerator and fast RAM. The two share nothing beyond what this document credits. No Aonic code, art or data is in Sonic 060, and none of it has ever been seen.
This is version 3.0 of this document (29 September 2026), written for the first public release, Sonic 060 1.00a. Earlier versions were written for the project itself and for an email to reassembler and RetroRic. Section 13 explains how this one was put together.
| Who | What Sonic 060 took, or what they did | What it did not take |
|---|---|---|
| SEGA | The entire game: Code, level design, art, music, physics. It is their work and their property. | - |
| reassembler | The rendering architecture. The single most important idea in Sonic 060, the attached-AGA-sprite background layer, is his, and so are about a dozen further mechanisms and several rules of method. | Any code, any art, any data, any binary. His source is not public and has never been seen. |
| RetroRic | Analysis and hard-won lessons, chiefly the tile-animation-versus-palette-cycling verdict, and his documentation of the palette crunch, which is why Sonic 060 decided not to do one. | Nothing material at all. No palettes, no art, no colour values, no code. |
| Sonic Retro | The Sonic 1 disassembly. 159 of its source files are compiled directly into the game. | - |
| Nuke.YKT | Nuked-OPN2, used verbatim as a build-time tool to render the music. The only third-party source code in the project. | - |
| Afrotechmods | He vibe coded Sonic 060 with Claude: The project's question, its direction, its target machine, about 64 test builds played on real hardware, about 150 bug reports, every background art choice, and a long list of ideas and rules (section 11). He never wrote a single line of code. | - |
| Claude (Anthropic) | Every line of code, every tool, every converter, every analysis document and every commit (section 12). | - |
If you remember one thing: reassembler's published architecture is load-bearing here. Strip it out and Sonic 060 does not exist in its current form. Nothing of RetroRic's artwork is in it, but his published reasoning changed two design decisions.
Both of them can be supported directly, and their work is ongoing. Their Patreon, YouTube, itch.io and site links are in sections 2 and 3, beside what each is credited for, and gathered again under Supporting the people Sonic 060 is built on (section 4). Sonic 060 takes no money, so nothing here competes with them.
Sonic The Hedgehog, its characters, code, level design, artwork and music are SEGA's property. Everything Sonic 060 contains is a derivative work of theirs. We take no money for it, we distribute no ROM, and we will comply immediately if asked to stop.
The project's tools convert the game's data from a legally obtained ROM and the disassembly at build time, and the project's source repository holds none of SEGA's data. The game's level and music files, and the two Workbench icons (drawn from Sonic's own sprite art), are SEGA's artwork and music in a different form.
@reassembler68k, GitHub djyt) - AonicThe most important attribution in this document. reassembler has spent about ten months porting Sonic 1 to a stock A1200, and published the engineering as he went, across thirteen devlog videos and fifteen free Patreon posts. His architecture is the foundation Sonic 060 is built on.
His code is closed until his game ships. We have never seen it. Everything below came from his
public videos, his public Patreon posts, his demo's readme, and the hunk and symbol layout of the
shipped aonic executable. No byte of his binary was disassembled into Sonic 060.
Everything this section credits him for, he published himself. If any of it is worth something to you, this is where to say so. His Patreon is how the work gets funded, and his Aonic devlog posts are free to read without a pledge, so it is support rather than a toll.
| Patreon - support the work here | https://www.patreon.com/REASSEMBLER68K |
| The Aonic devlog collection on Patreon | https://www.patreon.com/collection/2261474 |
| YouTube | https://www.youtube.com/@reassembler68k |
| Aonic, the Green Hill Zone demo (free) | https://reassembler68k.itch.io/aonic |
| OutRun: Amiga Edition, his earlier port | https://reassembler68k.itch.io/outrun-amiga-edition |
| OutRun music, and the vinyl | https://reassembler.bandcamp.com |
| Blog - Reassembler: Emulation & Decompilation | https://reassembler.blogspot.com |
Code - sonic2mod, cannonball and more |
https://github.com/djyt |
| The interactive collision explainers | https://djyt.github.io/youtube |
| Discord | https://discord.com/invite/u94mmuCzgB |
| X | https://twitter.com/djyt |
These are not criticisms. Almost every one exists because he targets a stock A1200 with no fast RAM, a constraint he chose as a personal challenge. Sonic 060 targets an A1200 with a fast accelerator and fast RAM, so the constraint that produced these does not apply.
| His mechanism | Why Sonic 060 skipped it |
|---|---|
| A 128-slot sprite cache | Memory-driven. Sonic 060 pre-builds every sprite frame offline into fast RAM. |
| Runtime sprite assembly from 8x8 tiles | The same. Shipped ready. |
| A 16x16 block cache built at level load | The same. Shipped pre-built. |
| Runtime Nemesis / Kosinski / Enigma decompression | 1991 cartridge economics. Converted offline. |
| The blitter, entirely | Measured on Afrotechmods' Blizzard 1260: The CPU writes chip RAM faster than the blitter copies, and the two contend rather than add. The game never draws with the blitter (its start-up speed test only times it). That measurement is for the 68060: On a slower 68020 or 68030 the blitter would draw sprites faster than the CPU, which is why his blitter/CPU interleaving is the right design for Aonic's stock A1200s. It does not transfer to a 68060 card. |
| A vertically doubled playfield and corkscrew horizontal scroll | Replaced by a full-height playfield, which fast RAM makes affordable. |
| The copper Y-split | Not needed with a full-height playfield. |
| Static scenery baking | Not implemented. |
| Priority re-blit | Resolved instead in the fast-RAM composite, where draw order gives priority for free. |
| Five bitplanes, 32 + 16 colours | Sonic 060 runs six planes and 64 colours. |
| Interleaved bitplanes | A blitter optimisation; our planes are separate because the CPU writes them. |
The sonic2mod / SMPS-to-MOD / ptplayer audio path |
See 2.5. |
| SonLVL with "Amiga Mode", and his modified Flex 2 | Sonic 060 has its own Python converter reading the disassembly directly. |
| Object tagging in a forked SonLVL | Derived automatically by the converter. |
| Dual playfield | He tried it and rejected it for the 16-colour limit; we reached the same verdict. |
reassembler's public djyt/sonic2mod converts Sonic's SMPS music to ProTracker MOD by synthesising
instrument samples with a YM2612 core, and his engine plays them with Frank Wille's ptplayer. It
is good work and it is public.
Sonic 060 did not use it, or any part of it. Every track and all 49 sound effects are rendered
to PCM offline, by running our own reimplementation of the Sonic 1 sound driver against a YM2612
emulator and our own SN76489 model, and the result is streamed through Paula. (Pre-rendered PCM in
deduplicated chunks was Afrotechmods' idea, section 11.3.) Since build 75 the music files are also
losslessly packed. This costs a great deal of fast RAM, which Sonic 060's target machine has and
his does not. No code, configuration or output of sonic2mod is in Sonic 060.
reassembler is on record that he uses no AI on his game's own code: He writes it by hand, for enjoyment and control, and uses AI only on tooling. He has also said he finds AI agents "incredibly unreliable with assembly language and surprisingly good with modern languages."
Sonic 060 is the opposite experiment, and he is entitled to know that. All of its code, including the 68000 assembly, was written by Claude. His assessment was quoted in the project's own planning documents as a guard against over-confidence, and section 12 lists some of the ways it proved right.
@RetroRic79) - tech art and the independent second opinionThe honest headline: There is no RetroRic material in Sonic 060. Not one colour value, not one tile, not one line of code. It is important to say so plainly, because he is credited for tech art on Aonic and someone reading Sonic 060's screenshots might reasonably assume otherwise.
Sonic 060's palettes are generated from the Mega Drive's own palette files in the disassembly (each 3-bit channel scaled to 4 bits). Nothing is hand-crunched, because at 64 colours nothing needs to be.
| Patreon - support the work here | https://www.patreon.com/RetroRic79 |
| YouTube | https://www.youtube.com/@RetroRic79 |
| itch.io | https://retroric.itch.io |
| Sonic the Hedgehog - Amiga tech demo (Scorpion Engine, ECS) | https://retroric.itch.io/sonic-the-hedgehog-amiga-tech-demo |
| Wardner AGA demos | https://retroric.itch.io/amiga-wardner-aga-level-3-demo and https://retroric.itch.io/wardneragademo |
Palette sequences were transcribed from his videos while studying the problem. Those values were never used: The project's own notes forbid it, because video gives roughly +/-10 per channel and because the 64-colour design does not need them.
Earlier versions of this document said we disagreed with him about dual playfield giving eight colours per layer. That note was our error, and he corrected it on 20 September 2026: "My tech demo was aimed at ECS Amiga's with a fetchmode enhanced AGA build. So dual playfield on ECS is 8 colours per layer." On ECS that is exactly right; sixteen per playfield is the AGA number. The two figures never disagreed. Every figure he quotes about that demo is an ECS figure unless he says otherwise.
Sonic 060 takes no money, in any form. Nothing is sold, no donations are accepted, and there is no Patreon or tip jar of its own. That is why this page can point at other people's funding links without a conflict of interest.
If what is credited above is worth something to you, these are the two links that matter:
Both also sell finished work: OutRun: Amiga Edition and the OutRun vinyl (https://reassembler68k.itch.io/outrun-amiga-edition and https://reassembler.bandcamp.com), and the Wardner AGA demos (https://retroric.itch.io). The free things count too: Both devlogs are on YouTube (https://www.youtube.com/@reassembler68k and https://www.youtube.com/@RetroRic79).
Sonic Retro, the largest single borrowing here, takes no money either; the way to support it is to contribute: https://github.com/sonicretro/s1disasm and https://info.sonicretro.org.
Stated in full, because the depth of it should not be hidden: Sonic 060 was built by Afrotechmods teaching Claude from reassembler's and RetroRic's published work. He gathered their material, handed it over, and insisted it be examined far more closely than a first pass had done. What Claude took from it is in sections 2 and 3; this section is how it was taken.
Their videos. Thirteen videos were studied: Ten of reassembler's Aonic devlogs, and three of RetroRic's (his December 2025 dev log and his two Palette Panic videos). YouTube could not be reached from Claude's working environment, so Afrotechmods supplied subtitle files for all thirteen, the audio of three, low-resolution copies of nine, and about fifty full-resolution screenshots he captured himself from four of them.
reassembler's Patreon. All nineteen of his Aonic posts, every one of them free rather than paywalled; fifteen had readable text and all fifteen were read in full. Their 85 attachments were each opened and reviewed (83 images, and two that turned out to be video playlists). These posts are the most technically detailed source in the whole project, and they corrected several conclusions drawn from the videos alone.
The Aonic demo. Its readme was read, and the shipped executable's hunk sizes, memory layout and symbol names were examined to infer its architecture. It was not disassembled, and no part of it was reused.
RetroRic's demos and pages. Afrotechmods supplied eight of his tech-demo archives, and his itch.io pages were read. Palette values were transcribed from his videos while the problem was being studied, and deliberately never used (section 3).
Also read: reassembler's public GitHub repositories (sonic2mod and his collision explainers),
and press coverage of Aonic, used only to cross-check dates and claims.
Everything above was published by its authors publicly and without a paywall. The first version of this document (16 September) was written for Afrotechmods' email to both of them about Sonic 060, and RetroRic's reply corrected it (section 3.2).
sonicretro/s1disasm: By far the largest borrowing in Sonic 060.
159 source files from the disassembly are compiled directly into the game: 120 object files, 11
from _inc/, 7 animation scripts, 7 from _main/, 12 demo and ending input recordings, and the
constants and variables files. This is Sonic's physics, collision, animation, camera, object
behaviour and level logic, running essentially as the Sonic Retro team reconstructed it. The
project's converter mechanically widens Mega Drive short addresses and flags the 24-bit
address-masking tricks for repair by hand; the game logic itself is unchanged.
Also used from the same tree, as data: Level layouts, chunk and block tables, collision arrays and the angle map, sprite mappings, DPLC scripts, palettes and palette cycles, pattern load cues, and the SMPS music and sound-effect sources.
Licence reality: the disassembly carries no licence, and its readme says the content is for informational and educational purposes only, with commercial use expressly prohibited. Sonic 060 is non-commercial and will stay that way. Sonic Retro cannot grant rights to SEGA's code and does not claim to.
Credit also to Hivebrain for the 2022 rewrite (cvghivebrain/s1disasm), studied when choosing
an assembler flavour, and to the SonLVL team, whose data-format work underpins the community's
understanding of Sonic 1 even where the tool was not used.
ym3438.c, ym3438.h) - the only third-party source codeThe whirr heard while F5 rewinds is a 0.3-second royalty-free sound effect, free for commercial use. Afrotechmods brought it in from the rewind kit of his earlier Amiga project (FAmiga).
| Tool | Author(s) | Use |
|---|---|---|
vasm (vasmm68k_mot) |
Volker Barthelmann and Frank Wille | The assembler Sonic 060 is built with. Also what Aonic uses. |
| The Macro Assembler AS | Alfred Arnold, with flamewing's releases | Builds the reference disassembly byte for byte, the correctness check. |
| FS-UAE, Amiberry and the WinUAE core | their teams | The development emulators, used with explicit distrust on timing (2.2). |
| Unicorn Engine | its team | A CPU emulator used on a PC to prove that rewritten 68000 routines give byte-identical results to the old ones. |
| Python, NumPy, Pillow, SciPy, FFmpeg | their projects | The asset pipeline, and frame-by-frame review of Afrotechmods' videos. |
| Chromium with Playwright | their teams | Testing the background chooser page. |
powerprograms.nl/amiga/dual-layer.html: The dual-layer analysis and the DMA
cycle budget behind the frame-rate arithmetic.codetapper.com/amiga/sprite-tricks: Sprite multiplexing for background layers,
the published prior art behind the technique reassembler settled on.jvaltane.kapsi.fi/amiga/howtocode/aga.html: AGA fetch modes.newicon.library, ModifyIcon and AROS: The encoding
of the Workbench icons.Listed for honesty, because the project's early plan was built on some of these. No code from any of them is in Sonic 060.
clownnemesis, clownlzss, accurate-kosinski and others. The Nemesis, Kosinski
and Enigma decoders were written from scratch in Python instead, and checked by rendering Green
Hill against the real level. His work is still the reference the community measures correctness
against, and (separately) it is in Aonic's lineage.mdcomp, mdtools, asl-releases. asl-releases is used as a build tool; no
mdcomp or mdtools code was taken.Afrotechmods started Sonic 060, ran it from the first day to this release, and tested it on his own Amiga. He vibe coded it, and never wrote a single line of code: In his own words the game was "100% vibe coded by Afrotechmods with Claude". What he did instead is set out below in the same detail as everyone else's part, and only where the credit is due. Ideas that were Claude's and that he approved are listed separately from ideas that were his.
How this section was compiled: From the project's own records (the development log, the handover notes, the change log, the test notes of every build, the commit history, his uploaded logs, photos and videos, and the text of his messages from 22 September on). Every count below is a count of what those records hold, so it is a lower bound. The hours in 11.7 are estimates, and are marked as such.
Each of these came from him, not from Claude. Where the idea did not turn out as he framed it, that is said too.
The game
sonic.crash file.Size and memory
Testing and method (every one of these found real faults)
The background chooser
These ideas were Claude's; the choice was his. That is a real contribution, but a different one.
Besides the main development thread he started and steered several other Claude sessions, and carried their results between them by hand: The second-opinion speed review (builds 65 to 68), the session in which he designed the disclaimer screen, the credits sessions, a review of the project's estimates, and the background chooser thread, in which, over two weeks, he chose every one of the game's ten backgrounds, band by band, finishing on the day of this release.
The records hold no timesheet, so these are estimates from the times of his messages, his uploads and his test runs:
His Amiga test sessions alone (copying each build to a CF card, playing the listed spots, filming, collecting logs and writing the report) account for about half of that.
Every line of code in Sonic 060 was written by Claude, Anthropic's AI model (several versions of it over the project; on some days two or three Claude sessions worked side by side). That covers the 68000 game code, the renderer and sound code, the Python asset converters, the music renderer and packer, the diagnostic programs, the test tools, and every analysis document. Every one of the project's 334 commits was made by Claude.
What Claude copied from other people: the Nuked-OPN2 files (section 7), verbatim, and the 159 disassembly files (section 6). That is the complete list of copied source code.
What Claude derived from other people's published ideas: everything in 2.1 to 2.3 and 3.1. These are re-implementations from public descriptions, not copies, but they are not independent inventions either, and claiming otherwise would be dishonest. The architecture came from watching reassembler explain it.
How their material was obtained: section 5 sets it out in full: About 4,000 frames of their videos, all of reassembler's Patreon posts and their images, and the Aonic demo's layout, never its code.
Where Claude was wrong, because reassembler's warning about AI and assembly deserves an honest answer: Claude shipped regressions that its own emulator checks should have caught; it more than once dismissed a symptom Afrotechmods reported that later proved real (11.5); it once claimed an optimisation had shipped when it had never been switched on; and it sometimes asked him for results he had already given. Nearly all of these were caught by his testing.
Earlier versions (1.0 on 16 September, 2.0 to 2.2 on 20 and 26 September) were written for the project and for an email to reassembler and RetroRic. Version 3.0 is the public edition. It adds section 11, updates the counts (the disassembly files, the commits, the backgrounds), adds section 5 (how their material was studied), drops the project's internal file paths, and leaves out the conversation transcript that earlier versions carried, because that was written for two named readers.
Section 11 was compiled by Claude from the project's records at Afrotechmods' request, with the instruction to credit him "only when due" and to be transparent. The records were read in full for the purpose; where they disagreed with each other (some dates in the development log were an hour or a day out), the commit history was trusted.
If anything here is wrong, under-credited, or credited to the wrong person, say so and it will be fixed. If reassembler or RetroRic would prefer any idea not be used, or credited differently, that will be done too, without argument.
Contact: Afrotechmods, afro afrotechmods.com (put the @ back in yourself).
Sonic The Hedgehog is a trademark of SEGA. Sonic 060 is an unofficial fan project, not affiliated with or endorsed by SEGA, reassembler, RetroRic or Sonic Retro. No money is taken for it and no ROM is distributed with it.
Credits version 3.2, 2026-09-30. Written for Sonic 060 1.00a.