Updated github README

This commit is contained in:
Aaron Culliney
2014-12-07 13:41:00 -08:00
parent ac1931d2ba
commit 4ef488179d

View File

@@ -1,41 +1,53 @@
Apple //ix Apple //ix
========== ==========
A salvaged Apple //e emulator, originally written in the mid-90's in C and x86 assembly and currently suffering from Apple2ix is an Apple //e emulator written primarily in C and x86 assembly language with a smattering of Objective-C
quite a bit of rot... (Cocoa port). Apple2ix is derived from the apple2-emul-linux project originally coded in the mid 90's.
Project Goals Project Goals
------------- -------------
* Approach 100% emulation fidelity with Apple //e machine The project seeks to be portable across a wide range of modern POSIX systesm including MacOSX desktop, Desktop
* POSIX portability Linux/BSD, iOS, and Android.
* A tech playground for me :-) ... This is actually an important point... I'm doing this because it's fun and allows me
to play with a wide swath of fundamental tech : virtual CPU, virtual machines, assembly language programming, video As of December 2014, the emulator run on MacOSX 10.9+ and Debian GNU/Linux, and mobile ports are currently on the
and audio programming to name a few... So you might say that the process and practice is as important as the goals. drawing board.
Screenshots show an earlier version of the Linux variant.
![Apple //ix](https://raw.github.com/mauiaaron/apple2/master/docs/Apple2ix.png "Apple //ix") ![Apple //ix](https://raw.github.com/mauiaaron/apple2/master/docs/Apple2ix.png "Apple //ix")
Status Update Mac Package
-----------
A binary package for Macintosh is available at [bitr0t.com](http://bitr0t.com/Apple2Mac/)
Linux Package
------------- -------------
20131214 ... At the moment consists of `./configure --prefix=...`, `make`, `make install` ;-)
* It builds and works for me :-) as a 32bit binary on GNU/Linux with X11 and OpenAL Project Tech
* Ideally I'd like to maintain the CPU thread tightloop in assembly, and so will need to write new x86-64, ARM, (and ------------
also a generic C target) in addition to maintaining existing x86 assembly routines
* Before any significant platform/architecture porting is started, need to develop unit tests!!! :-)
![Public Domain Mystery House Disk Image](https://raw.github.com/mauiaaron/apple2/master/docs/MysteryHouse.png "Public Domain Mystery House Disk Image") * Majority of coding in the C language (still the most portable/reliable after all these years ;-)
* Assembly language for 65c02 CPU tightloop
* Extensive CPU, VirtualMachine, and display (expected output) tests
* OpenGLES 2.x
* OpenAL
* Cocoa APIs
![DOS 3.3](https://raw.github.com/mauiaaron/apple2/master/docs/DOS33.png "DOS 3.3 Applesoft BASIC and //e monitor")
Semi-Ordered TODO Semi-Ordered TODO
----------------- -----------------
* GNU/Linux x86 alpha-test binaries * Proper VBL timing
* Unit tests * ProDOS-order Disk Images
* POSIX x64 target (Linux, \*BSD, ...) * ARM assembly/ABI variant (in prep for mobile)
* MacOS port * iOS port
* ARM tablets (iOS, Android, ...) * Android NDK port
* General refactoring for modularity, clarity, and portability as I go (and have tests to double-check stuff :-) * Emulator save/restore and image compatibility with AppleWin
* Other feature parity with AppleWin
![DOS 3.3](https://raw.github.com/mauiaaron/apple2/master/docs/DOS33.png "DOS 3.3 Applesoft BASIC and //e monitor") * Improved debugger routines