Learn 6502 Assembly is a modern, native Adwaita application for the GNOME desktop environment that provides a complete learning environment for 6502 assembly language programming. Built with GJS and TypeScript, this application brings the classic easy6502 tutorial by Nick Morgan to your desktop as a beautiful, integrated experience.
- Interactive Tutorial: A comprehensive step-by-step guide to learning 6502 assembly language, with explanations of all core concepts
- Code Editor: Write and edit your 6502 assembly code with syntax highlighting
- Assembler & Debugger: Assemble your code and debug it with a powerful built-in debugger showing registers, flags, and memory in real-time
- Visual Game Console: See your code in action on a virtual display, perfect for creating simple games and graphics
- Built with Modern Technologies: Developed in GJS and TypeScript with Adwaita styling for a native GNOME experience
This project is a fork of the original web-based easy6502 tutorial, transformed into a native GNOME application while preserving the core functionality that made the original so effective for learning 6502 assembly.
- app-gnome: The main GNOME desktop application with Adwaita styling
- app-web: The classic web application as it originally looked
- 6502: The core 6502 simulator, assembler, and disassembler library
- translations: Translation files and build system for localization
- learn: Tutorial content and learning materials
- vite-plugin-gettext: Vite plugin for gettext localization support
- vite-plugin-blueprint: Vite plugin for GNOME Blueprint UI files
To get started with local development:
# Install dependencies
yarn install
# Build all packages
yarn build
# Start the GNOME application
yarn start:gnome
To build the packages, run yarn build
in the root of the repository.
To run the packages, run yarn start:gnome
for the GNOME app or yarn start:web
for the web app.
Contributions are welcome :)
- The application code is licensed under the GNU General Public License v3
- The tutorial content and all translations are licensed under the Creative Commons Attribution 4.0 International License
- The metadata is licensed under the Creative Commons Zero 1.0 Universal License