diff --git a/README.md b/README.md index fd3ea9de..f5ab95da 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,35 @@ -apple2 -====== +Apple //ix +========== -WIP : a salvaged Apple ][+ //e emulator +A salvaged Apple //e emulator, originally written in the mid-90's in C and x86 assembly and currently suffering from +quite a bit of rot... -Important TODO in no particular order: - * synching to the normal 1MHz speed - * Separate audio and render threads - * Build to different frontends: improve X11, SDL, OpenGL?, etc... - * A proper build system - * Convert x86/32 assembly routines to C - * Generate ARM assembly if needed - * Improved interfaces/menus +Project Goals +------------- + +* Approach 100% emulation fidelity with Apple //e machine +* POSIX portability +* 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 + and audio programming to name a few... So you might say that the process and practice is as important as the goals. + +Status Update +------------- + +20131214 ... + +* It builds and works for me :-) as a 32bit binary on GNU/Linux with X11 and OpenAL +* 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!!! :-) + +Semi-Ordered TODO +----------------- + +* GNU/Linux x86 alpha-test binaries +* Unit tests +* POSIX x64 target (Linux, \*BSD, ...) +* MacOS port +* ARM tablets (iOS, Android, ...) +* General refactoring for modularity, clarity, and portability as I go (and have tests to double-check stuff :-)