Things to do (written by Joy, volunteers ask in the mailing list)
-----------------------------------------------------------------

Fix bugs:
- colon as filename case sensitivity flag in HostFS - see Xavier's msg in ML
  Solution: come up with URL like paths: "file://path?parameter=value"
  where parameter is e.g. CaseSensitivity.
  Thanks to file:// scheme this should even be backward compatible.
- when mouse grab on startup is off grabbing mouse no longer possible
- after mouse ungrab/re-grab certain shift/control/alt key seems to be pressed
- improve the whole mouse grab/ungrab - auto grab could grab mouse
  automagically when it enters aranym window only if the window is on top
- correct postal address of GPL
- Disk mngmt: when new disk is inserted by clicking on PATH enable the "Insert"
  automatically.
- Disk mngmt: don't show the short path in the editable field - if someone edits it the "..." shortened version gets stored to configuration.
- don't store empty config entries (ETH2,3,4; DISK2,3,4,5,6,7; HOSFSA-Z, ..)

Feature requests:
- update ARAnyM NVRAM before booting the OS with the current host locale.
  Could help with non-English keyboards to be usable out-of-the-box.

TODO generally:
- configurable insertion of floppy on bootup (perhaps also IDE CD?)

TODO in keyboard support:
- loadable keyboard layout (similar to hatari)
- editable keyboard layout (need WYSIWYG - impossible in 320x200)

TODO in GUI-SDL:
- change GUI font loading routine - load standard TOS font (2048/4096 bytes)
  directly (instead of some MS Windows bitmap)
- fileselector: sorting by file type (folders first) and then by file .ext
- edit field: allow upper case and generally fix keyboard input in SDL
- create other dialogs for editing the rest of config file settings

TODO in TOS patches and utilities:
- automatic updater of BDCONFIG.SYS
- separate mouse driver from Clocky and make it NatFeat based
- enforce 0x50000 _MCH value (warn user if they have 0x30000)
- finish and publish TOS XHDI disk driver

TODO in ARAnyM source code itself:
- add proper copyright header to every edited file (see main.cpp)
- remove RCS keywords (they complicate comparing and merging of revisions)
- clean up, tidy up. Indent. Comment. Document.


Some hot ideas (before they get forgotten)
------------------------------------------

Note that the name before a TODO item doesn't mean the item is assigned to
that particular programmer but rather who is author of the idea :-)

- Petr: make.sh magic: "nfeth-config.c" build by ./make.sh of the xif.

- Petr: write some doc about bridging the tuntap - perhaps the following
       URL could help?
       http://tldp.org/HOWTO/Ethernet-Bridge-netfilter-HOWTO-3.html#ss3.1

- Petr: Clipboard sharing between host and atari. Some URLs for inspiration:
  http://www.idata.sk/~robo/mpcb/
  http://www.freedesktop.org/standards/clipboards.txt

  Basic idea: C:\CLIPBRD\SCRAP.TXT is copied to CLIPBOARD on X11 host
  and vice-versa (during input focus changes).

  Extra cool idea: PRIMARY selection on X11 could be stored to IKBD buffer
  directly so it would simulate typing.

- Petr: ARAnyM should test if SDL timers work OK at startup and if not, stop
       booting and exit gracefully with a loud warning (e.g. on NetBSD).

- Petr: emulating a serial port compatible with MiNT/HSMODEM

- Petr: extend the config file routines to save also some comments above
  each head section. Example:

  # the following section defines hotkeys. Format is 
  # hotkey = keycode : modifiers
  # where keycode and modifiers are defined in SDL_keysym.h
  [HOTKEYS]

- Milan: distributed dispatcher for JIT compiler sigsegv handler
  UPDATE: partially done, slower :-(

- Milan: SIGINT ndebug problem solution

- Milan: --with-opengl-prefix

- STanda: hostfs.cpp: enable debug and implement all NOT IMPLEMENTED needed
         methods.

- patrice: rework dsp thread synchronization. It seems it may hang sometimes.

- patrice: full automake/autoconf support.

- patrice: CVS branch 'host-video':

  There are currently several subsystem that want to draw stuff on screen:
       software opengl
sdlgui yes      no (that's why no sdlgui when OpenGL is enabled)
videl  yes      yes
nfvdi  yes      yes
  Currently, they all draw to the main screen surface, and we must be careful
  that each of them not walk on other's foot. The goal is to have each of them
  render in their own surface first. And the host video class will take the
  result to do the final rendering, depending on which stuff is enabled and need
  to be shown.
  On the plus side, we could add other stuff that needs their own screen, like a
  boot logo, or a debugger.
