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 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 vintage 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: Main GNOME desktop application with Adwaita styling
- app-android: Android application with NativeScript
- app-web: Web application version
- 6502: Core 6502 assembler, simulator, and disassembler
- common-ui: Shared UI components and controllers
- learn: Tutorial content and learning materials
- translations: Localization files and build system
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