From d3b87e5c059c5b5cdbe633de32ce970f2bd2287a Mon Sep 17 00:00:00 2001 From: Aaron Culliney Date: Sun, 26 Jun 2016 09:55:13 -0700 Subject: [PATCH] Update various copy --- README.md | 52 +++++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index a62ee1c6..be718519 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,23 @@ Apple //ix Apple2ix is an Apple //e (8bit 65c02 CPU) emulator designed to work on varios POSIX platforms. +Lineage +------- + +Apple2ix derives from the apple2-emul-linux project originally coded by various developers in the mid 1990's and FTP-uploaded as source tarballs to the original `tsx-11.mit.edu` Linux archive. + +The original software was designed to work from the Linux console rendering via SVGAlib. It ran on par to the 1MHz Apple //e on an i386 (Pentium 100 class) or better machine. Later ports added X11 graphics support based on the original X11 DOOM source code drop, ty JC! + +As of June 2016, the resurrected Apple2ix runs on x64 MacOSX 10.9+, x64 Debian GNU/Linux, and x86 and ARM Android devices + +Project Goals +------------- + +* Portability and code resilience across a wide range of modern POSIXy systems including MacOSX, desktop Linux/BSD, iOS, Android. *If you are on Windows, just use the excellent [AppleWin](https://github.com/AppleWin/AppleWin) emulator!* +* Language/platform/API minimalism for core emulation modules (prefer coding to POSIX APIs and using C99 over all other choices) +* Reasonable emulation fidelity to the original Apple //e machine (timing, video, audio, etc...) +* Good platform citizenship for each port (prefer coding in language-of-choice promoted by platform--e.g.: Objective-C/Swift on Darwin, Java on Android, ...) + Project Tech ------------ @@ -14,23 +31,6 @@ Project Tech * Objective-C and Cocoa APIs (Mac/iOS variant) * Java and Android APIs (Android app) -Lineage -------- - -Apple2ix derives from the apple2-emul-linux project originally coded by various developers in the mid 1990's and FTP-uploaded as source tarballs to the original `tsx-11.mit.edu` Linux archive. - -The original software was designed to work from the Linux console rendering via SVGAlib. It ran on par to the 1MHz Apple //e on an i386 (Pentium 100 class) or better machine. Later ports added X11 graphics support based on the original X11 DOOM source code drop, ty JC! - -As of November 2015, the resurrected Apple2ix runs on x64 MacOSX 10.9+, x64 Debian GNU/Linux, and ARM Android - -Project Goals -------------- - -* Portability and code resilience across a wide range of modern platforms including MacOSX, desktop Linux/BSD, iOS, Android -- *But not Windows, just use the excellent [AppleWin](https://github.com/AppleWin/AppleWin) emulator if you're on Windows!* -* Reasonable emulation fidelity to the original Apple //e machine (timing, video, audio, etc...) -* Language/platform/API minimalism for core emulation modules (prefer coding to POSIX APIs and using C99 over all other choices), except for CPU module which should be in custom assembly or IR ;-) -* Good platform citizenship for menu system (prefer coding in language-of-choice promoted by platform--e.g.: Objective-C/Swift on Darwin, Java on Android, ...) - Android ------- @@ -58,8 +58,8 @@ Due to Apple's policy about emulators we are unlikely to ship this in the App St iOS port in progress 2016, check this repo and fork(s) too! -Linux+ Package --------------- +Linux/POSIX +----------- For Linux and *BSD, I do not personally relish being a package/port maintainer, so you should `./configure --prefix=...`, `make`, `make install` like it's 1999 ;-) @@ -70,15 +70,17 @@ You will need GCC or Clang compiler and other tools as determined by the `config Semi-Ordered TODO ----------------- +* Mockingboard is buggy. Need to research/check upstream (AppleWin and beyond) for bugfixes and refactor. * Double-LORES graphics (used in Dagen Brock's Flappy Bird clone) are ugly/incorrect ... fix 'em -* Mockingboard is seriously buggy. Need to research/check upstream for bugfixes and refactor. -* CPU module ports: aarch64, x86 without textreloc's, Clang IR -* iOS/iWatch ports. iOS in progress early 2016. -* Proper VBL timing and vSync matching to the device (if available) -* OpenGL shaders/tricks for style (various screen artifacts) and functionality (Disk ][ status overlays, etc) +* Double-HIRES graphics are also ugly/icorrect ... fix 'em +* Improved VBL timing and vSync matching to the device/system refresh rate +* CPU module ports: aarch64, Clang IR (bitcode) +* iOS/iWatch/TVos ports. (iOS in progress 2016) +* Android TV and Android wear +* OpenGL shaders/tricks for style (emulating of various NTSC screen artifacts) * Emulator save/restore image compatibility with AppleWin * Emulation features ... (3.5" disk, AppleHD, Phasor, printer, ethernet, ...) * Debugger rewrite with tests ... improved debugger routines (CLI/curses debugger? GDB/LLDB module?) -* Emscripten/web frontend? +* Port to web ... emscripten/asmjs/web assembly ![DOS 3.3](https://raw.github.com/mauiaaron/apple2/master/docs/DOS33.png "DOS 3.3 Applesoft BASIC and //e monitor")