mirror of
https://github.com/freewilll/apple2-go.git
synced 2024-09-27 01:55:21 +00:00
1.5 KiB
1.5 KiB
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
- dos33.dsk from mirrors.apple2.org.za
- prodos19.dsk from mirrors.apple2.org.za
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