🎮 RetroGameCoders IDE

Advanced 8-bit Development Environment

🌐 Visit RetroGameCoders.com   👥 Join our community

🚀 Overview

Welcome to the RetroGameCoders IDE - an enhanced version of the 8bitworkshop IDE specifically designed for retro game development and 8-bit programming. This version includes significant improvements and new features while maintaining compatibility with the original platform.

🎯 What's New in This Version

This fork includes major enhancements including new platforms (VIC-20, BBC Micro, C64 BASIC), improved emulator controls, smart compilation features, and enhanced debugging capabilities. All while maintaining full credit to the original 8bitworkshop project.

✨ New Features & Improvements

🎛️ Auto-Compile Toggle

Toggle automatic compilation on/off for smoother editing experience. Perfect for active coding sessions where you want to make multiple changes without compilation delays.

📊 Visual Status Indicators

Clear "Auto-Compile: ON/OFF" captions with color coding. Green for enabled, red for disabled, making it easy to see the current state at a glance.

🔨 Manual Build Control

Build and run programs on-demand when auto-compile is disabled. The manual build button appears automatically when needed.

🎮 Enhanced Emulator Controls

Improved reset, pause, and resume functionality for C64 and BBC Micro platforms with capability detection and fallback mechanisms.

🖥️ New Platforms

Added support for Commodore VIC-20, BBC Micro Model B, and enhanced C64 BASIC with improved tokenizer and control codes.

⌨️ Smart Keyboard Shortcuts

Intuitive keyboard shortcuts for all new features. Quick access to auto-compile toggle and manual build functions.

💻 Supported Languages & Compilers

High-Level Languages

  • C via cc65, z88dk, CMOC, and platform-specific C runtimes (C64, VIC-20, Atari 8-bit, NES, MSX, Vectrex, CPC, CoCo/Dragon, x86/DOSBox, and more).
  • Many BASIC dialects including Commodore 64 BASIC, VIC-20 BASIC, PET BASIC, BBC BASIC, Color BASIC (CoCo/Dragon), AppleSoft BASIC, and the cross-platform ugBASIC.
  • Specialized BASICs such as batari BASIC (Atari 2600), FastBasic (Atari 8-bit), and XC-BASIC 3 (C64/VIC-20/PET).

Assemblers & Low-Level Tools

  • 6502/65C02 assemblers including DASM, KickAss, ACME, and cc65's assembler.
  • Z80 / 6809 / ARM toolchains via z80, m6809, and arm tool modules for arcade boards, MSX, CPC, CoCo/Dragon, and ARM32.
  • Verilog support for hardware-style development using the built-in Verilog toolchain.

Helper & Cross-Platform Tools

  • Remote / misc tools for invoking external compilers and preprocessors when needed.
  • Markdown / BASIC-only platforms for tutorials, documentation, and generic BASIC experimentation.

🖥️ Supported Platforms

Classic Home Computers

Commodore 64

Full emulation with chips-test integration, enhanced BASIC support, and improved control codes.

Commodore VIC-20

Complete emulation with chips-test integration and full development support.

Commodore PET

Original Commodore business machine with rich support for teaching BASIC and low-level programming.

Apple II / IIe

Apple ][+ and Apple //e models with comprehensive development support in C, assembly, and BASIC.

Atari 8-bit Family

Complete system emulation (e.g. Atari 800) with multiple configurations and enhanced libraries.

Amstrad CPC6128

Amstrad CPC6128 home computer with C and assembly development tools.

BBC Micro Model B / Master

Full emulation with BBC BASIC support and enhanced debugging capabilities.

Dragon 32

Dragon 32 Motorola 6809-based home computer via xroar integration.

Tandy TRS-80 Color Computer 2

CoCo 2 emulation with Color BASIC and C development support.

MSX (BIOS & libCV)

MSX home computer with both BIOS-based and libCV-based development environments.

x86 (DOSBox)

PC-style DOS environment using DOSBox for Turbo C, QBASIC, Pascal, and assembly.

Game Consoles

Atari 2600 (VCS)

Full emulation with multiple emulator backends and comprehensive development tools.

Atari 5200

Atari 5200 console with shared toolchain support alongside the Atari 8-bit family.

Atari 7800

Atari 7800 ProSystem with C and assembly development support.

Nintendo Entertainment System

Full emulation with mapper support and comprehensive development tools.

Sega Master System

Complete emulation with full development environment.

Sega Game Gear

Portable Sega Game Gear console using the same toolchain as the Master System.

ColecoVision

Complete system emulation with enhanced development capabilities.

Vectrex

Vector graphics console emulation with specialized development tools.

⚡ Auto-Compile Control

The auto-compile feature gives you complete control over when your code is compiled and executed. This is especially useful during active coding sessions.

How to Use

  1. Toggle Auto-Compile: Click the lightning bolt (⚡) button or press Ctrl+Alt+C
  2. Check Status: Look for the status indicator showing Auto-Compile: ON or Auto-Compile: OFF
  3. Manual Build: When auto-compile is off, use the "Build and Run" button (▶️) or press Ctrl+Alt+M

💡 Pro Tips

  • Disable during heavy editing: Turn off auto-compile when making many changes to avoid interruptions
  • Enable for learning: Keep auto-compile on when experimenting to get immediate feedback
  • Use manual build for testing: Perfect for final testing before deployment

⌨️ Keyboard Shortcuts

Compilation & Execution

Toggle Auto-Compile Ctrl+Alt+C
Manual Build and Run Ctrl+Alt+M
Reset and Run Ctrl+Alt+R

Debug Controls

Pause Ctrl+Alt+,
Resume Ctrl+Alt+.
Reset and Debug Ctrl+Alt+E

Editor Navigation & Selection

Select All Ctrl+A (Windows/Linux), Cmd+A (macOS)
Go to Start / End of Document Ctrl+Home / Ctrl+End (Windows/Linux), Cmd+Home / Cmd+End or Cmd+↑ / Cmd+↓ (macOS)
Move by Word Ctrl+← / Ctrl+→ (Windows/Linux), Alt+← / Alt+→ (macOS)

Editing & Indentation

Undo / Redo Ctrl+Z, Shift+Ctrl+Z or Ctrl+Y (Windows/Linux) • Cmd+Z, Shift+Cmd+Z or Cmd+Y (macOS)
Indent More / Less Ctrl+] / Ctrl+[ (Windows/Linux), Cmd+] / Cmd+[ (macOS)

Search & Replace

Find Ctrl+F (Windows/Linux), Cmd+F (macOS)
Find Next / Previous Ctrl+G / Shift+Ctrl+G (Windows/Linux), Cmd+G / Shift+Cmd+G (macOS)
Replace / Replace All Shift+Ctrl+F / Shift+Ctrl+R (Windows/Linux), Cmd+Alt+F / Shift+Cmd+Alt+F (macOS)

🚀 Getting Started

Quick Start Guide

  1. Choose a Platform: Select your target platform from the platform dropdown
  2. Load an Example: Browse the preset examples to get started quickly
  3. Edit Code: Modify the code in the editor - it will compile automatically by default
  4. Test Your Changes: Use the emulator to see your program run in real-time
  5. Debug if Needed: Use the debugging tools to step through your code

🎯 Recommended Workflow

  1. Start with auto-compile enabled for immediate feedback
  2. Disable auto-compile during heavy editing sessions
  3. Re-enable auto-compile for testing and debugging
  4. Use manual build for final testing before deployment

🔧 Troubleshooting

Common Issues

Auto-Compile Not Working

  • Check that the status indicator shows "Auto-Compile: ON"
  • Look for syntax errors in your code (check the console)
  • Try refreshing the page if the toggle button doesn't respond

Manual Build Button Missing

  • Ensure auto-compile is disabled (status should show "OFF")
  • The button only appears when auto-compile is off

Emulator Controls Not Working

  • Some emulators may not support pause/resume - buttons will be hidden automatically
  • Reset functionality includes fallback mechanisms for unsupported emulators
  • Check the browser console for detailed error messages

Platform-Specific Issues

  • C64: Ensure you're using the correct character set for mixed-case text
  • BBC Micro: BASIC programs are loaded via postMessage for better compatibility
  • VIC-20: Check memory limitations for larger programs

🙏 Credits & Acknowledgments

RetroGameCoders IDE: Chris Garrett - Enhanced 8-bit development environment

Original 8bitworkshop IDE: Steven E. Hugg

RetroGameCoders Community: Visit our community for tutorials, resources, and retro programming content

Emulator Integration: Thanks to all the emulator developers and contributors

License: GPL-3.0 (see LICENSE file for details)


This enhanced version maintains full compatibility with the original while adding significant new features and improvements for the retro development community.


🎮 Learn more at RetroGameCoders.com