A modern TypeScript/React-based Apple 1 computer emulator featuring complete 6502 CPU emulation, memory management, peripheral interface adapter (PIA 6820), and a CRT-style display interface. Built with Vite and modern web technologies.
🧠 This project uses agentic AI tools (e.g., Claude Console) to accelerate development and experimentation. All AI-generated contributions are reviewed and curated by me to ensure quality and alignment with project goals.
You can try out the emulator in your browser with the Interactive Demo.
To run the emulator locally on your computer, you'll need to install the required packages with the following command in the repo folder:
yarn install
Then, start the emulator in developer mode with:
yarn dev
You can access the emulator in your browser at localhost:3000
.
yarn dev
- Start development server (Vite, runs on port 3000)yarn build
- Build for production (TypeScript compilation + Vite build)yarn preview
- Preview production build
yarn test
- Run Jest tests (includes pretest: lint + type-check)yarn test:ci
- CI test runner with Jest JUnit reporteryarn lint
- ESLint for TypeScript/React filesyarn lint:fix
- Auto-fix linting issuesyarn type-check
- TypeScript compilation checkyarn format
- Prettier formatting
Once you have the emulator running, you can try out some test programs. To reset the emulator, press Tab
in your browser. Then, you can enter a list of commands to execute the program.
This program should print a continuous stream of ASCII characters:
0:A9 0 AA 20 EF FF E8 8A 4C 2 0
0
R
This program should print an image of WOZ:
280
R
This program should continuously print "HELLO! FROM APPLE 1 JS":
E000
R
10 PRINT "HELLO! FROM APPLE 1 JS"
20 GOTO 10
RUN
Enjoy!