Brad Grantham ca376dab5a CAPS lock, More instructions and compatibility
GLFW doesn't pass through Mac CAPS lock key for some reason.
CAPS button in GUI works, though.
Implement more instructions, mostly for ChopLifter
    DEC abs, X
    INC abs, X
    AND (ind), Y
    AND abs, X
    ROR abs
Now ChopLifter needs unimplemented SED!  Probably uses decimal mode while printing score.
Set "then" at end of CPU loop to try to throttle better.  Not sure it helps.
2016-11-28 14:22:22 -08:00
2016-11-08 13:23:26 -08:00
2016-11-06 14:03:08 -08:00
2016-11-18 23:25:03 -08:00
2016-11-28 09:55:01 -08:00
2016-11-15 10:34:12 -08:00
2016-11-09 03:46:26 -08:00
2016-11-07 21:22:08 -08:00
2016-11-06 00:53:43 -07:00
2016-11-27 17:10:03 -08:00
2016-11-18 23:25:22 -08:00
2016-11-18 23:29:57 -08:00
2016-11-18 23:25:48 -08:00
2016-11-07 21:22:49 -08:00
2016-11-18 23:26:01 -08:00
2016-11-22 09:53:35 -08:00
2016-11-27 17:10:03 -08:00

Apple2e

Yet another Apple //e emulator.

I wrote this not because the world needed another //e emulator, but because I wanted to have the fun of building a thing from scratch to run my old Apple //e software.

At the time of writing, the emulator handles only 40-column text mode and no floppy.

There are several AppleSoft files in this project (*.A) that can be copied into the clipboard and then pasted into the emulator window with CMD-V.

Thanks to Lawrence Kesteloot for keyboard code, and Bart Grantham for extracting all our old floppy disk images!

Thanks to Mike Chambers (miker00lz@gmail.com) for his 6502 CPU emulator, which I used as a reference when mine hung on "PRINT 5".

Requirements for building:

  • GLFW
  • libao
  • OpenGL 3.2-compatible system
  • C++11
  • Currently the project only builds on MacOSX because of the linker line in Makefile, but the C++ code itself should be cross-platform.

On MacOSX with MacPorts, the GLFW and libao dependency can be satisfied with glfw and libao ports. According to https://support.apple.com/en-us/HT202823, almost all modern Macs should have OpenGL 3.2 or later. On my machine, I've been compiling with a g++ that outputs Apple LLVM version 8.0.0 (clang-800.0.42.1) for g++ -v.

Usage:

apple2e [options] <romfile>

Options:

-debugger # start in the debugger
-fast     # start with CPU running as fast as it can run

Useful debugger commands:

reset # Press CTRL-RESET
reboot # Press CTRL-OpenApple-RESET
fast # run CPU as fast as it can go
slow # Approximate CPU at 1.023 MHz
debug N # Set debug flags to N (decimal). See apple2e.cpp for flags
go # Exit debugging, free-run.  Press CTRL-B to break back into the debugger
# Enter a blank line to step one instruction
Description
Apple //e
Readme 879 KiB
Languages
C++ 81.1%
C 16.4%
Python 2.1%
BASIC 0.3%
Makefile 0.1%