A downloadable tool for Windows, macOS, and Linux

Download NowName your own price

JC64dis (next generation C64 disassembler) is an iterative disassembler for MUS, SID, CRT, VSF, MPR and PRG file of Commodore 64, Commodore Vic 20, Commodore 128, Commodore Plus4 with MOS 6502 family processors. It supports experimental even the AY file of Z80 processors.

It works with 3 area:

  1. Memory area (from $0000 to $FFFF)
  2. Preview of source
  3. Source

You can formatting the source using the commands in a way to produce a source like if you were writing it in a text editor.

Labels and some comments are created automatically, but you can customize all (the program has almost 270 user options to choose).

It supports output (and compilation back throw them) of those compiler:

  • Dasm
  • TMPx
  • Ca65
  • Acme
  • KickAssembler
  • Tass64
  • Glass (Z80)

In the video you can see a true session of usage where a binary is reverse engineered into a source that can be compiled again.

Binary are in jar (java) or specific for Windows (win32 o win64).

If you start using it, you cannot go back to previous tool you used before!
JC64dis speed up your reverse engineering analysis by a 10 factor at least.

Source code at: https://github.com/ice00/jc64

Provided example obtained from reverse engineering some PSID files:

  • Music Assembler player (tune "MC_01" by Marco Swagerman (c) 1988 Dutch USA Team )
  • Music Assembler player (tune "Magazine Intro Tune" by Reyn Ouwehand (c) 1989 Reyn Ouwehand
  • Voice Tracker player (tune "3LUX Intro" by The Bill (c) 1993-95 3LUX")
  • Music Mixer player (tune "Michael" by Arkadiusz Zych (Smart Monkey) (c) 1991 Silver Dream
  • Ryo Kawasay player (tune "Kawasaki Synthesizer Theme Song" by Ryo Kawasaki (c) 1983 Sight&Sound Music Software)
  • Kawasaki Synthetizer player (tune "Major" by Ryo Kawasaki (c) 1983 Sight&Sound Music Software)
  • Matt Gray player (tune "Serpent Demo" by Matt Gray (c) 1987 Matt Gray)
  • Ten-Tracker player (tune "Ten Tracker Test" by Sebastian Bachlinski (Moog) (c) 1991 Keen Acid)
  • SoundMonitor player (tune "Shades (filter corrected)" by Chris Hülsbeck (c) 1986 Markt & Technik)
  • Rockmonitor II player (tune "Rockmonitor 2" by Marco Swagerman & Oscar Giesen (c) 1987 Dutch USA Team)
  • Electrosound 64 player (tune "Mission of Mercy" by Peter Clarke (c) 1986 Peter Clarke)
  • Chris Murray's player (tune "Henry's House" by Chris Murray (c) 1984 English Software)
  • SID Sequencer's player (tune "Triad" by V.H.Berry (c) 1988)
  • Aleatory Composer's player (tune "Sigma" by V.H.Berry (c) 1989)
  • DoubleTracker's player (tune "Brainwash #1" by Alex (c) 1993 Citadel)
  • SoundMaster player (tune "Last Ninja Mix" by Michiel Soede (c) 1988 SoedeSoft)
  • Keith Bowden's player (tune "Roundabout" by Keith Bowden (c) 1984 Pan Books)
  • Background Music Editor (tune "Escape from New York" by ? (c) 1986 Crackman Crew)
  • Clever Music's player (tune "Fairlight" by Graham Jarvis & Rob Hartshorne (c) 1986 The Edge)
  • Master Composer player (tune "Maniac" by Paul Kleimeyer (c) 1983 Access Software Inc.)
  • Synth Executor player (tune "Nobody's Diary" by Georg Feil (c) 2007 Georg Feil)
  • The Game Creator player (tune "Mind Control" by David & Richard Darling (c) 1984 Mastertronic)
  • Soundcontrol player (tune "Soundcontrol 2" by Holger Gehrmann (c) 1985 HG-Software Systems)
  •  Garry Kitchen's GameMaker (tune "The William Tell Overture" by Alex DeMeo & Stephen Gaboury <?> (c) 1985 Activision)
  • Novaload player (tune "Elite Loader" by Mark Cooksey (c) 1985 Elite)
  • Stuart Taylor's player (tune "Walk of Life" by Stu Taylor (c) 198? Stu Taylor)
  • Georg Brandt's player (tune "Odissea Veneziana" (c) 1986 64'er/Markt & Technik)
  • Georg Grandt Rhythm CS (tune "RPS-Demo" (c) 1986 64'er/Markt & Technik)
  • Georg Brandt's player with digi (tune "Barsenfieber" (c) 1989 Falken Verlag)
  • Neil Brennan's player (tune "The Way of the Exploding Fist" (c) 1985 Melbourne House)
  • RockMonitor V (tune "Rockmonitor 5 Demosong" by Oscar Giesen (OPM) (c) 1988 Dutch USA Team)
True example of player source code obtained from binary:

Discord channel: #jc64dis

Patreon support: Ice Team


This project uses:

YourKit Java Profiler


YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications.

YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, YourKit YouMonitor


This is the estimated value of JC64dis version 1.9:


JSIDPLAY2 - SIDLD patch file for generate the BIN file to use from JC64dis by listening to PSID file (Compiled program as torrent file)

Example of how to use patched JSIDLAY2:

Updated 16 days ago
PlatformsWindows, macOS, Linux
Rated 4.0 out of 5 stars
AuthorIce Team
TagsCommodore 64, disassember, mos6502, z80


Download NowName your own price

Click download now to get access to the following files:

jc64dis-win.zip 11 MB
jc64dis-win64.zip 116 MB
jc64dis-win32.zip 47 MB
jc64dis-java.zip 11 MB
jc64dis-installer.zip 12 MB

Development log

View all posts


Log in with itch.io to leave a comment.

(2 edits)

Very feature full yet still very promising. Is there a place like a Discord channel where people can talk & ask questions?



you have to open the block comment and delete the contents. On saving the program will remove the comment.

Just created one: https://discord.com/channels/917434373442269204/917434373442269207

Thanks. Link doesn't work. I think if you provided an "invite link" it would work.



This is a great tool. Is there a way to stop it detecting the SID frequency tables? Or at least to allow the labels and comments to be deleted? It's very annoying to have labels and comments that can't be deleted no matter how hard you try.

Options added in git source. Will be available in 1.6 version. Thanks

Thanks Stefano!

Wow ... I am impressed. Trying to run it on a M1 Mac and it seems to work...  Trying to find my way through the UI now.

Good. Thanks

Nice update!


Near to come the support for patching the memory while disassembling

Expect version 0.8 soon (being testing right now). Version 0.7 has a (wrong) 20KB limit instead of 65KB in input file.

Added even new features..