3ric: A from-scratch 65C02 computer, browser emulator, and Apple II development environment

1 post / 0 new
Offline
Last seen: 2 hours 4 min ago
Joined: Jul 8 2022 - 23:12
Posts: 1
3ric: A from-scratch 65C02 computer, browser emulator, and Apple II development environment

Hello everyone,

I’d like to share 3ric, a from-scratch Apple-II-class 65C02 computer that I’ve been building as a learn-by-designing project.

The project includes real schematics, programmable address decoding, a custom PCB, VGA video circuitry, its own 512 KB ROM, and a cycle-honest C++ emulator. That same emulator now compiles to WebAssembly, so the complete machine runs directly in a browser:

https://ebadger.github.io/3ric/

The browser emulator supports text, lo-res and hi-res graphics, keyboard and gamepad input, Disk II, a FAT32 micro-SD card, Mockingboard-compatible audio, and adjustable CPU speed.

It also includes a client-side two-pass 65C02 assembler. You can select an example, edit its source, assemble it, and run it immediately. Programs can then be:

  • Downloaded as raw PRG files
  • Exported as bootable WOZ2 disks
  • Shared as links containing the source
  • Opened and remixed by another user

One of my favorite demonstrations is exporting a program as a bootable WOZ disk, loading it into Chris Torrence’s Apple2TS emulator, and seeing the same machine code run there without recompilation.

I’ve also been exploring AI-assisted 65C02 development. The project provides machine-readable documentation for the assembler, memory map, soft switches, and ROM routines, followed by headless tests of the generated software.

The current examples include three original games:

  • Star Swarm — a mixed-hi-res fixed shooter
  • Block Drop — a text-mode falling-block game
  • Rock Storm — a page-flipped vector space game

3ric is an original computer rather than an exact Apple II clone. It has its own ROM and Microsoft BASIC, so Applesoft-dependent software is not expected to work. Self-contained machine-code programs using the compatible memory map, graphics, keyboard, and Disk II interfaces work well.

Video overview:  https://youtu.be/iZUPDuzzhPgLive system: https://ebadger.github.io/3ric/Source: https://github.com/ebadger/3ricKansasFest demo: https://ebadger.github.io/3ric/?src=programs/kfest.s

I’d be very interested in feedback from the Applefritter community, particularly on the hardware design, Apple II compatibility, emulator, and browser-to-WOZ development workflow.