
==== Non-functioning Apple II Software (that should work) ====

* Rescue Raiders?  Usually launches, but sometimes re-boots mysteriously.
	(Could just be the disk image I'm using.)
* Stellar 7?  Seems okay now, but wasn't working earlier.
* Apple Panic, GraForth.  Something wrong with our keypress buffering?


==== CPU ====

* Find quicker Z-flag query expression?  (Rethink ZF flag.)
* Use rotated opcodes: op<<6 | op>>2 ?
* Keep A in a local variable?
* Video floater bytes not correct yet.
* On ][ and ][+, RESET should not affect the language card state.
* Keep 'scanLine' in upper bits of 't', instead of extra variable.
* Peripheral expansion ROMs not being swapped in correctly.


==== Video ====

* Review D/HGR rendering.  Glitches still apparent?
* Support European screen glyphs.
* Support European (PAL) color palette.
* Implement the "bizarre" (and useless) GR video mode?
* Simulate color burst for text in graphics mode.
* Implement Videx 80-column card for IIo and IIp models?
* IIo and IIp text video still isn't entirely authentic.


==== Audio ====

* There are glitches in the audio output.
* Add Mockingboard emulation.
* Add sound effects to printer and disk drive activity.
* Support cassette tape input?  Probably not worth it.


==== Disk Drives & Image Files ====

* Support BZ- and GZ-compressed disk image files.
* Use track size of 6384-6400 bytes instead of 6656?
* Infer DO/PO format of 140K disks by examining their contents.
* Does IWM mode register change after RESET?
* Update checksum on modified DiskCopy 4 images.
* Support FDI disk images?  NB2?
* Forbid Disk II drives accepting 2IMG-PO disks > 140 KB.
* On real Apple II with IWM, verify IWM status register value under all
	possible drive contents: none, read-only, read-write.
* Failure to load a drive should _not_ empty it?
* Need to regularize NIB tracks when loading?
* Reduce number of temporary files needed.  Use just one for both floppy
	drives and the printer session.


==== Printer ====

* Not processing rubout characters ($7F) yet.
* The Flex scanner is not re-entrant, and not thread-safe.  Use 're2c'?
* Output PS should be friendly to A4 paper sizes, and PDF distilling.
* Use PDF-lib library for printing to PDF?
* Let user select ribbon ink color.
* Preferences:
	LF after CR, yes or no
	7 or 8 bit data path
	card DIP switch states
	page size US Letter or A4
	line width 40 or 80
* Epson emulation:
	Ibsen font bounding boxes needed
	Tab stops are not always a constant width.
	Graphics character set; European character sets.
	Handle rubout and backspace characters properly.
	Vertical tabs not handled.


==== Model-specific Features ====

* The IIc+ doesn't work yet.  Worth bothering with?
* IIc: provide a 40/80 column switch?
* IIc: detect various ROM versions, an act appropriately.  In particular,
	the mouse firmware can be in slot 4 or 7, the number of ROM banks can
	be either 1 or 2, and expansion RAM might or might not be available.
* IIc: reading $C048 should reset the X0/Y0 interrupt flags.


==== Miscellany ====

* State saving and restoring!
* The Apple ][ and ][+ are wasting 64KB for aux. RAM that's never used.
* Add Z80 and CP/M support?
* Emulate RAMWorks card?  ThunderClock?
* Use ObjC exceptions instead of error codes?  (Requires MacOS 10.3+)
	How about using NSError?
* Use NSFileHandles or NSStreams instead of Unix FDs and FILE pointers?
* Add Apple II mouse support.
* Implement the Parallel Interface Card?  It's much simpler than the SSC.
* Eliminate non-POSIX calls?
* Have different models inherit from a base class?
* Save and restore NSUserDefaults for the library.
