A downloadable tool for Windows

Download NowName your own price

C64 Studio is a .NET based IDE.

The program supports project based C64 assembly or Basic V2. The internal assembler is using the ACME syntax.

In connection with Vice the IDE allows you to debug through your code and watch variables/memory locations, registers and memory.
Any other emulator can be set up as well if it's startable via runtime arguments.

C64 Studio allows you to compile to raw binary, .prg, .t64, .d64 or cartridge format (.bin and .crt for 8k, 16k, MagicDesk, easyflash)

Additionally to this C64 Studio comes with a charset, sprite, graphic and text screen editor plus media editor (tape and disk).

An encompassing help documentation is part of the program.

The full source code is available under the MIT license at GitHub

The current version is 6.8, updated on 14.05.2021.

Add: Allow list for !fill expression
Add: Auto-Fill emulator entries on wizard or new entry
Add: !fill expression parsing with list
Fix: BASIC renumber messing up lower case mode
Add: Charsetscreen editor: Shifting
Fix: Charscreen editor: Several display errors in extra wide charscreens
Fix: Tooltips in embedded charset editor control
Add: Wizard emulator detection, Enable OK Button on paste
Add: Binary Editor: Pack half bytes and swizzle
Add: Export option for !mediasrc and maps, mapextradata only
Fix: BASIC : Most issues with upper/lowercase toggling are fixed
Enhance: Error message on wrong character count on !media/!mediasrc for charset
Fix: Imported charsets should always have at least 256 chars
Fix: Exporting from MapEditor to charscreen sets color controls properly
Fix: BASIC code, toggle upper/lower case now properly handle string literals
Add: File manager - Little feature, import screen code asm !byte statements to
automatically create dir art entries
Add: Map editor, allow export of extra data only
Fix: BASIC Editor, auto-complete BASIC commands also in lower case mode
Fix: Change operator prio of modulus to match division/multiplication. This might break things for people who don't use brackets
WIP: TASM/C64Tass support
Fix: Exporting BASIC file via File Manager now sets the chosen BASIC dialect
Fix: Autodetect assembler type fix did not properly handle comments
Fix: Crash when opening help after help was closed via close all function
Fix issue on late evaluation of relative 16 bit branches/jumps
Fix: Optimize assembler detection (skip comments)
Fix: Same issue with POIncludeMedia
Fix: Exception with !binary "
Fix: Restore cursor position/scroll offset after replace all
Add: Image export to clipboard for charscreen editor
Add pseudo op !be16, !le16, !32, !be32, !le32
Add: Adjust syntax color to currently used CPU and assembler
Add unit test for wrong memory segment combination
Fix: off by one error (writing wrong values if !fill was followed by a one byte gap and then more data)
Fix: Wrapping of tile data export in map editor
Fix: Wrong error message with overlapping segments when using !bank pseudo op
Add: Atari 2600 Samples
Add: Store collapsed/expanded state of projects/folders in Solution Explorer
Fix: DASM . as alternative to *
Add: !cpu type 6502
Fix: DASM settings to work with Atari samples
Fix: Stack Overflow when setting EMPTY SPACE background color to Auto
Fix: Re-add alternative illegal opcodes for 6510
Fix: Forward immediate labels in macros
Fix: no stripping of spaces or REMs when renumbering (requires cleanup)
Fix: Add alternative illegal 6510 opcode axs (alt. to sbx)
Fix: Line spacing and zoom issues in ASM and BASIC editor display

08.03.2021 - 6.7:

Biggest new features: Finally proper scaling support for high DPI (e.g. Surface or UHD) plus support for a few new CPU types.

The syntax of the new mnemonics is oriented on ACME. Now you can build BASIC (V10) and assembler programs for the Mega65.

In Detail:

Fix: BASIC V10, wrong opcodes
Fix: Scaling issue of PETSCII table
Fix: scaling on File Manager toolbar
Add: Ctrl-+/- to zoom in BASIC
Add: Ctrl-A (Select All) for BASIC
Fix Basic V3.5 default start address
Add: CPU opcode docs
Fix: BASIC editor line height now works with custom font sizes
Fix: BASIC syntax coloring properly updates now
Fix: keep spaces after line numbers when renumbering
Add/Fix: Scaling issues now almost all gone
Fix: BASIC coloring issues
Fix: BASIC V10 SIN token
Add: !CPU support for 4502, Mega65
Fix: Basic V10 SIN token was wrong (thanks Heinz!)
Fix: BASIC editor scaling issues
Fix: Charset editor scaling issues (DPI)
Fix: Initial debug memory values are not marked as changed
Add: Default start address for BASIC dialects
Fix: Add "exit" to label file when not debugging (VICE 3.5 GTK leaves the monitor open when passing a label file)
Add: File Manager -> export to BASIC now lists all BASIC dialects
Fix: Scaling issue in BASIC editor
Fix: retarget .NET 3.5 for projects set > 3.5 (while not being needed)
Fix: invalidate memory on DebugGo
Add: Basic V10 dialect file
Fix: On new debug session default auto refresh memory to currently visible memory display
Add: Debugger allows changing of registers, PC, SP and flags
Add: Hide disassembly window when debugger jumps back into owned code
Fix: Clipboard ownage of pasted images
Add: character editor. Allow category reordering
Move Charset categories to control
Fix: Do not remove change marks in memory view by scrolling
Fix: Label file enabling in build chain properties
Fix: Old interface in newer GTK VICEs does not support binary dump anymore
Fix: catching exceptions for every single BASIC dialect file
Fix: Bug in duplicate memory map entries, longer length might have gotten lost
Add: Support for !cpu 65C02 and R65C02
Fix: Address of line update when inserting line breaks
Add: Sprite Editor -> save animation to GIF
Add: Charset editor preview, prefill with white spaces instead of black @s
Fix: Crash when removing breakpoint from non-project file
Add: Triple click selects full line
Add: Doc update for math.sin, math.cos, math.tan
Fix: potential crash in FastColoredTextBox
Fix: potential crash
Add: Support for WDC65C02 processor (!cpu)
Fix: dialect files in test project
Add: Add math.sin/math.cos/math.tan to regular options. Float is casted to int
Fix: Sprite Editor - name change of layer would reset cursor on first char
Fix: BASIC label mode after Dialect addon
Add: Make BASIC tokens externally configurable to allow for new dialects
Fix: Potential swallowed remote debugger command in VICE legacy interface
Add: more emulator shenanigans
Fix: Laser BASIC and BASIC Lightning Tokens
Add: Allow copy of file between projects
Add: Major tiny64 update (added display, cia is wip)
Fix: duplicate label text for character editor (this time for good?)
Fix: Replace selection character count with "character" instead of "bytes"
Fix: no inserting spaces in REM when toggling between label/no label mode
Fix: BASIC toggling label mode now properly uses the set symbol mode
Fix: Fixed mixed up charset/watch tool name
Add: Display unused background in map editor
Fix: Character Editor control, slightly offset pixel detection
Fix: Bug when memory section was not filled with trailing * = ... statement
Fix: Broken binary literal parsing
Fix: Replace Win32 StretchBlt with .NET draw code for Charset Editor Control

11.12.2020 - 6.6:

Add: Support for $01 for VICE binary interface
Add: petcat compatiblity at BASIC file import
Fix: reverted errornous DPI adjusting of dialogs
Add: Alternative spelling of {RGHT}
Fix: Crash with warnings without compile config
Fix: Import of lower case BASIC files
Add: Renaming file hides extension
Add: Add display offset to column in hex display
Add: Partial support for concattenated labels (LABEL##VALUE)
Add: DPI awareness
Fix: Crash if solution was closed and one of the add item buttons was clicked
Fix: Charset screen editor: potential selection crash when going outside
Add: Allow editing of disk name/ID in File Manager
Fix: Display Char number in charseteditor
Add: Hack option to allow .byte/.word additionally
Add: Charset editor, import from BASIC (Hex) Data
add second unit test for virtual segments
Add: Virtual values (!byte ?, !word ?)
Fix: Graphic screen editor: Full Paste button of graphic screen offers size adjustment
Fix: Adjust !byte values also when following a label
Add: Display type of undo as tooltip text
Add: Clear screen option to charscreen editor
Fix: start charset editor with default uppercase charset
Fix: Description of regular letters for BASIC key map setting dialog
Fix: Literal 16bit value watches now default to one byte (not two)
Fix: Multiplying watch entries if you have more than one project in a solution
Add: Copy debug watch lines/values to clipboard
Add: Recalculate !byte, !word, etc. values on right click in assembler editor
Add: Binary display of X, Y, A registers in Debug window
Potential crash fix in Undo after Replace all
Add: Map Editor Up/Down to sort maps
Add more info to kernal.asm
Fix: Potential crash in File Manager when deleting files
Add: BASIC Replace ? with PRINT
Fix: Tooltip text for add new file in File Manager
Add: Show Selection length in BASIC editor (useful for PRINTs)
Fix: Allow Ctrl-I in BASIC
Fix: Crash if deleting folder with content in Solution Explorer
Fix: right pad file name with Shift-Space instead of space on import in File Manager
Add: Support for Simons BASIC
Add: missing response type to VICE debugger for binary interface
Fix: Rename bug when file inside sub folder
Add: DASM incdir directive
Add: !realign pseudo op
Fix: Text screen editor, graphic errors if in selection mode, inserting a floating selection and dragging the mouse
Fix: Renumber in BASIC not working if selection was upside down
Fix: FileManager properly move dir entries with duplicate names
Add: File Manager with PETSCII table
Fix: TLS1.2 hack for .NET 3.5 for update check


Download NowName your own price

Click download now to get access to the following files:

Source Repository
C64Studio 6.8
C64Studio 6.8 Binary (zipped) 6 MB

Leave a comment

Log in with itch.io to leave a comment.