
Hatari TO-DO list
=================

If you think that you can help with one of the TO-DO list items, please get
in touch with us.


Emulation improvements
----------------------

- Improve FDC emulation (e.g. read-track and write-track commands do not work
  right yet).

- Improve disk image formats support:
	- Add support for .STT images
	  (created with the STEEM disk image program)
	- Add support for Pasti .STX images
	  (See http://pasti.fxatari.com/)
	- Support .DIM images created with the "Get sectors: used" option

- Real HD 6301 (keyboard processor of the ST) emulation?
  (Current special casing is enough for all known demos using 6301)

- Upgrade the CPU core of Hatari to the latest WinUAE or E-UAE CPU core.

- Get the games/demos working that are marked as non-working in the manual.

- Improve TT and/or Falcon emulation, especially VIDEL

- Add SCSI hard disk emulation for Falcon/TT mode.

- ACSI emulation seems to be broken in TT mode.

- Add SCC serial port emulation for Falcon/TT mode.

- Add support for spec512 mode in med res too
  (needed by 'No Cooper - Greetings', 'Punish your machine - Best part of the
   creation', 'Highres mode by Paradox')

- Some Falcon games/demos only work with 32 MHz CPU emulation (might be due to
  the fact that we don't emulate the 68030 cache yet?)

- It's possible to insert the same disk image into both drives A: and B:
  ==> should be rejected or at least one of them should be mounted read-only.

- Fix STE DMA sound emulation - there might be some problems with proper
  interrupt timings left (e.g. 50kHz replay in ProTracker)

- Add full STE Microwire/LMC1992 emulation.


DSP emulation / Falcon sound matrix
-----------------------------------

- Finish the Port C (SSI) emulation
	- Receive data
	- Handshake mode
	- Dsp SSI internal clock

- Improve DSP instructions cycle count, especially with external RAM

- Display DSP instruction timing values in debug mode (in cycles)

- Optimize DSP interrupts
	- Take into account the instruction pipeline in interrupt mode
	- Avoid interrupt of a LONG_INTERRUPT if not 6 (or 7)
	  instructions were executed
	- Take into account the precise cycles for an interrupt

- Add a direct sound entrance
  (to be able to use programs like "Audio Fun Machine")

- Add Sound matrix -> DSP SSI data path

- Add sound matrix DMA recording

- Figure out how the sound matrix "tracks" are exactly working and
  emulate them


Other potential Hatari functionality improvements
-------------------------------------------------

- Debugger improvements:
	- Support negative values and signed comparisons in conditional
	  breakpoints
	- Allow use of variable/register names instead of addresses
	  everywhere in the debugger
	- Readline command & variable name completion
	- helper command for doing simple calculations

- Improved screen handling:
	- Direct 16-bit & 32-bit support for monochrome and VDI modes
	  (currently they're converted through 8-bit surface)
	- Line based screen change detection/checks:
		- blit only changed lines
		- simpler / faster (LED) overlay handling
	- x3 and x4 zooming routines for ST-Low resolution
	- Include some fancy zooming routines like 2xSaI or Super-Eagle
	- Add support for hardware accelerated zooming with
	  SDL YUV overlays or OpenGL
	- Better handling of screen resolutions.  If first attempt fails,
	  try e.g. without zooming, no borders or smaller borders etc.

- Improve directory handling.  By default the directory config values
  should be empty in which case the code will at run-time decide to use
  current directory, but not modify the path config setting.  Currently
  screenshots & anim go to current dir (cannot be configured), whereas
  memsave, sound recording, printer & midi & serial & output and log
  output go to file specified in config file.

- Add support for directly recording audio/video output in some kind
  of avi file (instead of merging the png snapshots)
