Apple 2 Emulator in Go
Go to file
2018-05-28 10:43:21 +01:00
audio Added more comments 2018-05-28 10:43:21 +01:00
cmd Added a bunch of comments 2018-05-27 22:15:52 +01:00
cpu Added comments to video.go 2018-05-27 22:58:19 +01:00
disk Added glide based dependency management 2018-05-27 14:39:03 +01:00
keyboard Added comments to video.go 2018-05-27 22:58:19 +01:00
mmu Added glide based dependency management 2018-05-27 14:39:03 +01:00
system Added comments to video.go 2018-05-27 22:58:19 +01:00
utils Added glide based dependency management 2018-05-27 14:39:03 +01:00
video Merged some common code 2018-05-27 23:07:40 +01:00
.gitignore Renamed prodos disk for consistency 2018-05-27 16:22:23 +01:00
apple2.go Added comments to video.go 2018-05-27 22:58:19 +01:00
bank_switch_test.go Added a bunch of comments 2018-05-27 22:15:52 +01:00
bell_test.go Added a bunch of comments 2018-05-27 22:15:52 +01:00
dos33_boot_test.go Added a bunch of comments 2018-05-27 22:15:52 +01:00
glide.yaml Added glide based dependency management 2018-05-27 14:39:03 +01:00
io_test.go Added a bunch of comments 2018-05-27 22:15:52 +01:00
LICENSE Added license 2018-05-27 16:12:10 +01:00
prodos_boot_test.go Added a bunch of comments 2018-05-27 22:15:52 +01:00
README.md Added comments to video.go 2018-05-27 22:58:19 +01:00
rwts_write_test.go Added a bunch of comments 2018-05-27 22:15:52 +01:00

Apple // emulator in go

An Apple //e emulator written in Go using ebiten.

Features

  • MOS 6502 CPU
  • Keyboard
  • 40 column text mode
  • Low resolution color graphics
  • High resolution monochrome graphics
  • Upper memory bank switching: $d000 page and ROM/RAM
  • Main memory page1/page2 switching in text, lores and hires
  • Disk image reading & writing
  • Speaker audio

Installation

Install prerequisites with glide

glide up

Build the executable

go build

Download apple2e.rom from a2go.applearchives.com and put it in the root directory.

Running it

./apple2
./apple2 my_disk_image.dsk
./apple2 -drive-head-click my_disk_image.dsk

Keyboard shortcuts

  • ctrl-alt-R reset
  • ctrl-alt-M mute
  • ctrl-alt-C caps lock
  • ctrl-alt-F show FPS

Running the tests

Setup

The tests use DOS and Prodos disk images. Download them from

Running the tests

go test -v

The CPU tests make use of Klaus2m5's excellent 6502 functional tests.

Known working disk images

  • DOS 3.3
  • Prodos 1.9
  • Lemonade stand
  • Montezuma's Revenge

Remaining work

  • 80 column card
  • 48k aux memory
  • double hires
  • joystick