Philipp
- hostscreen.cpp: Changed type of SdlGlTexObj to GLuint.
- hostscreen.h: Added ifdefs for OpenGL stuff and include SDL_opengl.
- cfgopts.cpp: When saving the configuration on a Mac OS X system, the temporary
  file is created in /tmp and instead of the current directory (path to 
  application), as this directory is in general not writable on Mac OS X.
- Changed use of compiler defined CPU macros __i386__, __x86_64__, __powerpc__ 
  to their corresponding CPU_i386, CPU_x86_64, CPU_powerpc macros. This is a
  necessary step for cross-compilation, as some CPU sources are automatically 
  produced (build68k, gencpu). They should take the target CPU type into account
  and not the CPU type of the current host!


*** CVS tagged as ARANYM_0_9_4_BETA

2006/09/22 - joy
- main.cpp: CapsLock in newer libsdl worked differently in MS-Windows than
  on my setup. Took me quite some time to figure out that the Debian's
  libsdl is patched with a fix for CapsLock+NumLock (see Debian BTS #317010).
  Wish this fix was in upstream but until it's there ARAnyM must contain
  a workaround that basically disables this fix in Debian's libsdl.

- configure.ac, Makefile.in, natfeat/*: --enable-nfclipbrd added. Allowed
  in cygwin only since there is now implementation of Clipboard
  interconnection for MS-Windows only.

- doc/config: TuneAlignment, TuneNOPfill removed;
  BootstrapArgs, JITInline added.

- doc/aranym.1: man page updated (-P added), project URL corrected

- doc/aranym-jit.1, aranym-mmu.1, aratapif.1: new manpages added

- aranym.spec: thanks to David Bolt the spec file does not try to build
  the JIT version on 64bit system (which caused the whole build to fail).

- aranym.spec, README, NEWS, TODO, version.h: updated for release


2006/09/14 - Standa
- main.cpp: hack for cygwin vs. mingw32 SDL_put(get)env mismatch workaround
  added.


2006/09/09 - Patrice
- Videl: copy high bytes of color component to lower bytes, to make white
  really white. STE has 4bits/component, hence 0xf was 0xf0, Falcon has
  6bits/component.


2006/09/04 - Patrice
- Midi: don't bufferize data.


2006/08/31 - Philipp
- Check global bootdrive variable before saving and after loading config file:
  it should always be a printable ASCII value. (0 is not acceptable)


2006/08/29 - joy
- ARAnyM window positioning code moved from hostscreen.cpp to main.cpp,
  changed from platform specific window manager hacks to documented SDL
  environment variables and changed the command line option to "-P xxx,yyy"
  or simply "-P center" for centered window. This also removes the problematic
  stuff in configure.ac for detecting X11 library I added recently.

- Linux/m68k now reboots properly (before ARAnyM died with double bus error).
  Problem lied in missing 'virtual' keyword in definition of 'reset' function
  in parent class (BootOs). Beware! This inheritance trap can be hard to spot.

- emul_op: implemented new M68K_EMUL_OP_RESET instruction that calls the
  BootOs::reset function and basically reloads the linux kernel into RAM.

- bootos_linux: created a simple OS init routine for successful Linux/m68k
  reboot (the kernel jumps to $e00030). Makes use of M68K_EMUL_OP_RESET.


2006/08/29 - Patrice
- midi: output midi as raw values.


2006/08/29 - Philipp
- Repaired Mac OS X project file. Now compiles under Xcode 1.5 and can be 
  upgraded to Xcode 2.4 (by ignoring the "path empty" error message). 
  Some changes as suggested by Francois. Slight reorganization. Added README.txt
  Still has to be tested in relation to previous binary releases.

- Updated autogen.sh script to stop if configure step fails. So it's easier to
  spot the error message and one doesn't get the idea that everything is OK!

- Swapped meaning of CTRL and META key for Mac OS X back to "the logical way":
  The Apple key(s) represent left and right meta key and CTRL key is mapped to
  Atari CTRL key. ALT was already mapped to Atari ALT.

- A new, more Mac like set of keyboard shortcuts defined:
	Left Apple + , = Open preferences dialog
	Left Apple + q = Quit
	Left Apple + r = Reboot
	Left Apple + escape = Grab/Ungrab mouse cursor
	Left Apple + d = Enable debugger (if built-in)
	Left Apple + s = Save screenshot
	Left Apple + f = Toggle fullscreen mode

  As you see, I wrote "Left Apple" because you can't define a hotkey to use
  "any" Apple key. This is a limitation of the current way how hotkeys are 
  defined.


2006/08/25 - Philipp
- Various smaller corrections:
   cdrom.cpp: Corrected some compiler warnings and include statements for OS X
   cfgopts.h: Added C++ compiler check to avoid compile errors when included
              from Objective C files.
   parameters.h: Added C++ compiler check and removed parse error when included 
              from Objective C files.
   compemu_support.cpp, sysdeps.h: added correct PowerPC detection on Mac OS X
              systems.

- hostscreen.h: Fixed p2c routine for big endian, colors are now correct.


2006/08/25 - Patrice
- mkdir() also works for Darwin
- Fixed hostscreen p2c routines on big endian, from Philipp Donze patch.


2006/08/25 - joy
- memory.h: finally found and fixed two (hopefully last) MMU problems.


2006/08/10 - Patrice
- HostFilesys::makeDir() now accepts permission flags, to be used by hostfs nf.

- Disable hardware surface usage, to avoid locking the screen too frequently.
  Seems to be the only cause for slowness on MacOSX when not using OpenGL.


2006/07/17 - Patrice
- mingw does not have mkdir() with permissions.


2006/07/13 - Standa
- input.cpp: fixing bug #1521310: Shifters are now released before the
  GUI thread is started.

- hostscreen.cpp: Trying to fix the toggle fullscreen. Updating the
  screen after toggle so that it doesn't stay black. Also calls
  setWindowSize() to set everything correctly. It works for me now.


2006/07/12 - Patrice
- mingw does not have gettimeofday() function.


2006/07/10 - joy
- hostscreen.cpp: window positioning surrounded with an additional
  SDL_VIDEO_DRIVER_X11 condition

- configure.ac: check for X11/Xlib.h is skipped for MacOSX that has the
  include file available but does not use X11 for the gfx output.
  Proper fix would probably be to rely on the SDL_VIDEO_DRIVER_X11 define
  even in the configure...


2006/07/10 - joy
- hostscreen.cpp: window positioning surrounded with #if HAVE_X11_XLIB_H
- configure.ac: check for X11/Xlib.h added (for the window positioning)
- parameters.cpp: "-P" documented in the --help


2006/06/25 - joy
- hostscreen.cpp: ignore window positioning on OS_darwin - that one does not
  offer any SDL_SysWMinfo struct. Patch suggested by Philipp Donzé, thanks.


2006/06/05 - johan
- nfvdi_opengl.cpp: Corrected alpha mask when blitting from screen to memory.


2006/06/01 - johan
- hostscreen.h: Major speedup for bitplane to chunky conversion.
                Deactivated on big endian CPUs due to bit order differences.


2006/05/30 - Andreas
- natfeat/atari_rootsec.h: Fix definition of fixed size integers.


2006/05/08 - joy
- hostscreen.cpp: implemented window positioning for X11. Needs clean up.
- parameters.cpp: window positioning no longer cygwin specific.
- uae_cpu/newcpu: Flight Recorder more configurable (see the FRLOG #defines)


2006/05/08 - milan
- JITc: cleaning, sync with BII 


2006/05/05 - joy
- uae-cpu/newcpu.cpp: improved Flight Recorder. Now can dump to a continuous
  log, skip interrupt handlers, omit register list and most important -
  it does not hang the OS when fetching the OPCODE like it used to do
  regularly.

- uae-cpu/compiler/compemu_support.cpp: adapted for passing opcode into
  flight recorder. NB! One place is unfinished - line 6710 - I don't know
  how to pass in the opcode as second parameter, sorry.


2006/05/01 - joy
- uae-cpu/memory.h: added #ifdef PROTECT2K that brings more ST/TT hardware
  compatibility to ARAnyM. When defined it protects the first 2 kB of RAM
  against read/write access in user mode. It's disabled by default
  mainly because it will kill some performance when activated.

- configure.ac: --enable-protect2k added. It's not enabled by default
  (see above, performance reasons) but it gets enabled as soon as you
  opt for full MMU emulation. In such case the additional performance
  loss will not be noticeable and it will add to more complete real HW
  emulation.

- uae-cpu/newcpu.cpp: changed the order of initialization in m68k_reset()
  otherwise the PROTECT2K falls into a recursive death. It might also
  fix the problems with rebooting with active MMU (I think it used to crash).


2006/04/13-30 - Standa
- Cygwin build: Clipboard NatFeat added. This is to be used by
  a m68k side filesystem to be committed soon.

  One would need to point the GEM environment to it by setting the
  SCRAPDIR or CLIPBRD variable in most AES configs. It is good
  to know that e.g. Thing overrides this setting with its own.
  So one need to configure Thing to the appropriate folder.


2006/04/03 - Standa
- A new BootstrapArgs [GLOBAL] section config argument that is provided
  through the BOOTSTRAP NF to EmuTOS which passes those to the kernel
  as command line arguments. This allows us to boot without the need
  of mint.ini.

  E.g. this boots directly without even showing the bootmenu:
  Bootstrap = ~/mint/freemint/sys/.compile_arad/mintarad.prg
  BootstrapArgs = DEBUG_LEVEL=1 BOOT_DELAY=0 MEM_PROT=NO 
  BootDrive = C 


2006/03/27 - Standa
- In MS Windows the window position can now be set using a command line
  argument [-P xpos xpos]. No config file entries added yet.
  The command line args are read into bx_options.video.[xy]_win_offset values.


2006/03/03 - Patrice
- nfosmesa.xdd: fixed NF pointer read for MiNT device.


2006/02/27 - joy
- tools/build-cygwin.sh: version of SDL increased to 1.2.9
- include/host_clock.h: virtual destructor added
- parameters.cpp: anonymous struct named HOTKEYS_REL


2006/02/26 - Standa
- nfvdi_soft: the remaining logical operations implemented for the
  8bit alpha expand. Adjusted to work in all TC (16bit-32bit) modes. 


2006/02/21 - Standa
- nfvdi_soft: expandBitmap() now alpha expands 8bit chunked
  (mfdb_standard = 0x0100)  data


*** CVS tagged as ARANYM_0_9_3_BETA

2006/02/20 - joy
- atari/*: binaries moved to a separate 'afros' CVS repository
- atari/fvdi: removed completely (now hosted in fVDI CVS repository)
- natfeat/fvdidrv_nfapi.h: added from fVDI CVS
- natfeat/nfvdi.cpp: renamed FVDI_TEXT enum to FVDI_TEXT_AREA (to match
  the fVDI CVS)
- src/Unix/Makefile.in: updated to not install the missing binaries
- doc/*.html: documentation moved to http://wiki.aranym.org/
- aranym.spec, README, NEWS, TODO, version.h: updated for release


2006/02/12 - Andreas
- Support compiling outside source directory.


2006/02/11 - Patrice
- nfcdrom: Merged SDL backend into base class as default implementation.


2006/02/11 - joy
- tools/arabridge: added chown $USER /dev/net/tun


2006/02/08 - Standa
- BOOTSTRAP NF added. Using this the EmuTOS bootstraps the e.g. the FreeMiNT
  kernel directly (without having to have any boot floppy or HDD image).
  More information to come later (not all info is in CVS for all parts ATM).

  Two new [GLOBAL] section config entries introduced:
  Bootstrap = path/to/the/kernel
  BootDrive = X
 

2006/02/08 - Patrice
- Merged bootos_linux and lilo.


2006/02/06 - Standa
- atari/hostfs and atari/network/ethernet .xfs and .xif stuff moved to the
  FreeMiNT CVS. The BetaDOS and src dependencies stay in their spots for now.
- atari/tools/devdos: Fixed a critical bug in the path2cookie() function.
  Now it appears to be quite stable (the fix was actually done on 2006/02/05).


2006/02/05 - Andreas
- uae_cpu/cpummu.cpp: Fix parameters of mmu_bus_error.


2006/02/04 - Patrice
- BootOs files split in parts for each bootable OS. Will merge bootos_linux
  and lilo later.


2006/02/04 - Standa
- atari/network/ethernet: updated to use nf_ops.h
- atari/network/natfeat.h removed as an obsolete file
- atari/hostfs: All the BetaDOS related code and ifdefs are now isolated
  in the metados folder only. atari/hostfs files are basically ready to go
  to the FreeMiNT cvs if we decide to do so. I also did a global aranym
  -> hostfs replace as the source is not really aranym specific.


2006/02/03 - Patrice
- atari/nfpci, atari/nfosmesa, atari/nfosmesa.xdd: updated for new nf_ops.h.
- Disable check for SDL_LoadObject function in configure, it is present in
  SDL>=1.2.6. The check fails on MacOSX for some different linker flag.
- Created an host clock class to encapsulate SDL/Unix time functions.


2006/02/01 - Patrice
- atari/nfcdrom, atari/nfjpeg: updated for new nf_ops.h


2006/01/20 - Standa
- atari/natfeat: the natfeat.h is now deprecated. A new nf_ops.h has been
  taken from the FreeMiNT (freemint\sys\mint\arch\nf_ops.h) and adjusted for
  out of mint cvs tree use.

- atari/nfstderr: converted to use the new nf_ops.h (nf_init() used to detect
  NFs and the returned 'struct nf_ops' pointer to call the features). Also
  there is the freemint\sys\xdd\nfstderr folder containing the .xdd equivalent
  of this driver for FreeMiNT. A great example how to do basic device driver
  for TOS as well as for FreeMiNT with almost the same code.

- atari/hostfs: uses nf_ops.h now.
  Binaries and further documentation is coming soon.


2006/01/29 - Standa
- atari/nfstderr: nfstderr.bos driver that provides write using the NF_STDERR
  NatFeat.

- atari/tools/devdos: dev.dos driver that provides a filesystem with all the
  .bos drivers mounted. Using this you can use 'cat x.txt x:\dev\nfstderr'
  also in TOS.
  This dev.dos is generic in the sense that it doesn't depend on aranym in
  any way.


2006/01/29 - milan
- cpummu.*, configure.ac: configurable size of ATC

- JITc: fix stack alignment, m68k_compile_execute moved to JITc, sync with BII


2006/01/28 - joy
- configure.ac: Ingo Schmidt found out that --enable-blitsdlblit binary
  crashes with double bus fault. Thus this option is marked as EXPERIMENTAL
  UNSUPPORTED and BUGGY. It should probably be either fixed or removed.

- Makefile.in: Ingo Schmidt found out that install phase fails when it is
  copying the aratapif binary. Fixed by adding one white space after 'then '.


2006/01/27 - Patrice
- aranym from scratch: started MiNT section.


2006/01/26 - Standa
- hostfs: dirent.d_ino was deprecated in the latest cygwin version. The
  stat.st_ino has to be used now.


2006/01/26 - Patrice
- host: Don't need to dynamically create HostAudio object.
- Created HostFilesys class for system-dependent paths functions.


2006/01/23 - Patrice
- host: Added reset() method for host stuff.


2006/01/20 - Patrice
- host_audio: Remove useless/crash prone num_callbacks related stuff.


2005/12/30 - Patrice
- Renamed AUDIO class to more accurate HostAudio class.
- Created a Host class, and put HostAudio in it.


2005/12/29 - Patrice
- Created aranym exception class for future classes that need exceptions.
  Also now it can be created with variable list of arguments like printf().
- BootOs uses it now.


2005/12/27 - Standa
- hostfs: fixing f2astrcpy() function migration bug. PureC now works under
  MiNT again as expected.


2005/12/26 - Patrice
- hostscreen: remove unneeded inclusion of glext.h, use included SDL one.


2005/12/18 - Patrice
- nfvdi_opengl: fixed getpixel() operation regarding host endianness. Reversed
  byte order for blits operations on big endian systems, so that GL_BGRA reads
  or writes ARGB pixels. Done for both 16 and 32 bits per pixel.


2005/12/12 - Patrice
- Filled ARAnyM specific drivers section a bit.


2005/12/11 - Patrice
- Renamed rom class to bootos, exceptions reenabled in configure.ac.
  New BootOs class used in main.


2005/12/10 - STanda
- autogen.sh: rollback to -r 1.9. You should use ACLOCAL_FLAGS to set the
  include path (to whatever folder the sdl.m4 is in using -I /path/to/sdl.m4)


2005/12/09 - Patrice
- Added Rom class and derivatives for TOS, EmuTOS and Linux. For now, this is
  disabled till a solution is found to use C++ exceptions along with JIT. Also
  if you want to try, add rom.cpp to $(SRCS) in Makefile.in, and #define
  ENABLE_CXX_EXCEPTIONS in main.cpp.

  The goal was to remove ROM/OS loading/init stuff out of main.cpp. Also, when
  resetting with TOS, the MD5 was failing because TOS was patched for ARAnyM.
  Both are nicely fixed with such a class.


2005/12/07 - STanda
- parameters: do not screw up all hotkeys if the HOTKEY config section doesn't
  exist


2005/12/04 - Patrice
- rtc: added method to read nvram keyboard setting (for future planned stuff
  in input).


2005/11/24 - Andreas
- parameters.cpp: Fix aliasing violation and format string.


2005/11/20 - Patrice
- Started 'ARAnyM from scratch HOWTO'.


2005/11/14 - Stefan
- ChangeLog: Updated ChangeLog with missing informations.
- aranym.html: Updated documentation of MaxOS X specific parts.
- configure.ac: Changed name for configurations files to 
  org.atari.aranym.conf, org.atari.aranym.nvram and org.atari.aranym.keymap.
- input.cpp: removed unneded "#ifdef darwin" for command and control key 
  change, the function was already specific to darwin.
- nfvdi_opengl.h: Changed include of GL/glu.h to OpenGL/glu.h for darwin.
- nfvdi_opengl.cpp: Changed include of GL/glu.h to OpenGL/glu.h for darwin.
- hostscreen.cpp: Changed include of GL/glu.h to OpenGL/glu.h and GL/glext.h 
  to OpenGL/glext.h for darwin.


2005/11/10 - Patrice
- dsp_disasm was not building, fixed.

- nfpci: make linux driver better subclass of nfpci, now when nfpci enabled,
  you have a default null nfpci driver for non linux systems.


2005/11/8 - Stefan
- Makefile.in: Removed building of ARAnyM.app/Contents/ARAnyM data folder, 
  in order to give precedence to Library/Application Support/ARAnyM by 
  default
- configure.ac: Fixed typing error of SDLMain.M file.


2005/11/7 - Stefan
- Makefile.in: Added targets to build an application bundle for MacOS X. 
  Added suffixes .m and .M to also compile Objective C and Objective C++ 
  sources, which are needed to build the darwin port.
- configure.ac: Splited  EXTRASYSSRCS and DEFINES for darwin with fink and 
  without. Without fink now the source files parameters_darwin.M and 
  SDLMain.M below src/Unix/darwin/ get compiled and the defines now include 
  ARANYMCONFIG, ARANYMNVRAM, ARANYMKEYMAP and ARANMYHOME. For darwin without 
  fink now also the target changed to APP_BUNDLE in order to build an 
  executable MacOS X application bundle. 
- autogen.sh: Added -I $PWD to aclocal command. This solves trouble with 
  missing macro definitions from sdl.m4, if this file is just copied into the 
  same directory.
- parameters.h: Put #ifndef around the definitions of ARANYMCONFIG, 
  ARANYMNVRAM, ARANYMKEYMAP to be able to define their values via 
  configure.ac.
- input.cpp: Switched behaviour of command and control keys for darwin. So 
  under MacOS X normal shortcuts are done as usual with the apple key also for 
  Atari/GEM applications.
- parameters_darwin.M: Objective C code to define versions of the functions 
  getHomeFolder(), getConfFolder() and getDataFolder(). They return usual 
  MacOS X pathes like ~/Library/Preferences/ and  ~/Library/Application 
  Support/ARAnyM or a path inside the bundle itself for the configuration 
  files.
- Info.plist: Updated version informations to 0.9.1alpha. With each official 
  release the version information should be updated. Can this be done 
  automatically by the build system?
- SDLMain.M: Completely cleaned up the source code and removed unnecessary 
  parts.
- English.lproj/aranym.nib: Renamed the resource file from SDLmain.nib to 
  aranym.nib. Made changes to connect menu entries to according functions in 
  SDLMain.M.
- German.lproj/aranym.nib: Made a german port of the resources.
- aranym.pbproj: Updated the XCode project to compile also with the changed 
  Makefile.
- memory.h: Removed unnecessary define of do_get_real_address for darwin port.
- fpu_uae.cpp: Added some defines and using a namespace to overcome 
  compatibility problems with names inside cmath and cstdio.


2005/10/24 - Andreas
- Makefile.in: update install target for removal of doc/documentation.txt.

- ata.cpp: fix use of uninitialized variable.


2005/10/20 - joy
- mfp.cpp: compute real TimerC frequency (linux-m68k uses 100 Hz, not 200 Hz)
- main.cpp: use the real TimerC frequency for correct time in linux-m68k
- configure.ac: "--enable-rtctimer" added. Enables /dev/rtc as main
  source of timer interrupts. Allows for precise 200 Hz Timer A interrupts.


2005/10/18 - joy
- acsifdc.cpp: corrected detection of floppy format in linux-m68k by
  reporting RECORD NOT FOUND when linux tried to read more sectors
  than there are on a track (linux tries to read 20, HD floppy has 18 spt).
  Also added some more heuristic so ARAnyM is now able to detect any
  floppy format with 80 tracks (DD/HD/ED, and also non-standard 10,11 and
  20,21,22 sectors per track).

- parameters.cpp: save only those multiple items ([PARTITION1-7], [ETH1-4])
  that are not empty (to save some space in the config file).


2005/10/16 - STanda
- hostfs: a little rollback (FS_EXT3 extensions removal) as it caused
  problems with required timezone settings (not easily possible for
  BetaDOS and FreeMiNT without mintlib-timezone package).

  * New .dos and .xfs drivers are in atari/hostfs/bin


2005/10/16 - joy
- aranym/atari/network/ethernet: updated for multiple interfaces. Tested.
  Driver (version 0.6b) now prints all found and installed interfaces.
  Updated also the binary (aranym.xif.bz2).

- parameters.cpp: default ungrab changed to left Alt+Ctrl+Shift

- TODO: updated with useful comments


2005/10/13 - joy (& Standa :-)
- natfeat/ethernet.{cpp,h}: wildly modified to allow handling more 
  ethernet devices at once.

- atari/network/ethernet/ethernet_nfapi: NFAPI version increased (XIF_IRQ is
  handled differently now to allow for more ethernet devices)

- atari/network/linux-m68k/*: linux-m68k kernel driver for our NF Ethernet

- Unix/linux+Unix/cygwin: Handler() ctor now takes ethX parameter that is
  used internally in receiveFunc for setting up proper interrupt bit mask.

- multiple ETHx sections in config file possible now (up to four currently)

- atari/network/ethernet: FreeMiNT driver updated (including binary) to
  version 0.6 (copes with the new NFAPI but doesn't offer multiple
  ETH interfaces yet).

- ethernet type renamed from "ppp" to "ptp" (point-to-point)

- ARAnyM and linux-m68k kernel driver tested with two concurrent network
  interfaces. Cool! Code updated to handle up to 8 interfaces :-)

- atari/network/linux-m68k/README: detailed HOW-TO build the NF enabled kernel


2005/10/12 - joy
- acsifdc.cpp: Atari2Host_memcpy() replaced with plain memcpy(). Previous
  code was incorrect because real ACSI DMA doesn't respect MMU.

- uae_cpu/cpu_emulation.h: Atari2Host_*/Host2Atari_* functions modified
  to allow easy switching between MMU aware/ignoring NatFeats.

  NatFeats switched to non-MMU mode. This makes it incompatible
  with the NatFeat patch for linux-m68k kernel published in August.

- include/version.h: version number changed to warn linux-m68k users
  that available aranym linux kernel will not work with this aranym.

- gui-sdl/sdlgui.cpp: MIN() defined by including #tools.h

- NF based functions moved from cpu_emulation.h to natfeats.h

- audio.cpp, audio_dma.cpp, cpummu.cpp: hidden warnings about unused
  variables.

- configure.ac: C++ exceptions disabled by default. They are causing serious
  startup lockups. It might be caused by particular gcc version, or C++ lib
  version, or something else. We don't know for sure.
  Use ./configure --enable-cxx-exceptions if you want to try it out.


2005/10/05 - joy & STanda
- input.cpp: the Alt Gr key might be reported as SDLK_MODE, not SDLK_RALT.
  Fixed. Now Alt Gr works for more people :-)


2005/10/01 - milan
- uae_cpu/newcpu.cpp: flight recorder stores the 1st word of instruction


2005/09/27 - Patrice
- various places: include "host.h" instead of redefining hostScreen extern.


2005/09/26 - STanda
- atari/hostfs/metados: warnings removed

- atari/hostfs: Cleaned up the m68k part so that the Dcntl() is now used
    to mount filesystems (which only works as expected in FreeMiNT
    kernels 1.16.x since Apr 10 2003).

  . Added the FS_NOXBIT filesystem flag back so that whatever is readable
    is also executable from the kernel point of view (not x permission
    is visible though on the files).

  . NF API extended (the version is 0.4 now): You will need to use older
    aranym build to update the drivers and after that boot using the 
    CVS aranym binary to be able to mount drives properly.

- hostfs.(h|cpp):
  . The FS_EXT_3 xfs_stat64() and Dcntl(FUTIME_UTC) added to
    speed the mintlib stat() and utime() calls.

  . Dcntl() /xfs_fscntl()/ implementation extended:
    * FS_INFO and FS_USAGE implemented (makes fsetter.app be able to
      show filesystem information).
    * FTRUNCATE implemented (needed for mintlib's truncate() and
      ftruncate()).

  . ioctl(FIONREAD/FIONWRITE/FIOEXCEPT) initial implementation.


2005/09/21 - Patrice
- input.cpp: Don't check for OpenGL enabled if not compiled in.


2005/09/20 - milan
- natfeat/ethernet.h: virtual destructor

- include/ata.h: virtual destructor

- cfgopts.cpp: made some functions static and don't link as C

- uae_cpu/cpuopti.c: argc and argv are declared explicitly


2005/09/20 - Johan
- nfvdi.cpp: Made it possible to query ARAnyM about host mouse cursor.


2005/09/19 - Patrice
- Add DSP_ prefix to some definitions.


2005/09/16 - Patrice
- Remove old fvdidrv.cpp.


2005/09/15 - Petr
- doc/documentation.html renamed to aranym.html (directly in repository)
- doc/documentation.txt removed (is superseded by aranym.html)


2005/09/15 - milan
- src/Unix/linux/sigsegv_linux_x86.cpp: added 'volatile' to struct sigcontext.
  Fixes GCC 4.x problem (crash upon startup).


2005/09/14 - Xavier
- tools/build-cygwin.sh: fixed a small bug that was preventing a warning to be
  displayed.


2005/09/12 - Patrice
- doc/documentation.txt converted to documentation.html


2005/09/10 - Petr
- uae_cpu/cpu_emulation.h: uses ReadInt/WriteInt which is wrong (regarding
  the MMU) but at least consistent with all the NF modules. The complete
  change to the direct access will require much more work.

- input.cpp: support for AltGr key like in Milan. Suggested by Ingo Schmidt,
  AltGr information provided by Gerhard Stoll.

- parameters.h: "altgr" added to ikbd struct. Should be configurable
  in the config file. TODO.

- sdl-gui/dlgKeyboard.cpp: AltGr configurable at run-time.

- TODO, BUGS: updated.


2005/09/09 - Petr - BIG ROLLBACK of changes done on 2005/09/04
- uae_cpu/cpu_emulation.h: Host2Atari/Atari2Host operations now use
  direct Atari memory access thus ignoring any MMU setup.
  Atari2HostAddr() is back.

- fakeio.cpp, videl.cpp, fvdidrv.cpp, natfeat/{nfjpeg, nfcdrom_sdl,
  nfcdrom_linux, nfaudio} rolled back to previous revision.


2005/09/06 - Patrice
- Don't open GUI when OpenGL enabled, it will crash. hostscreen class should
  be split in two parts like nfvdi: a software and an OpenGL renderer.


2005/09/04 - Petr
- uae_cpu/cpu_emulation.h: Host2Atari/Atari2Host operations now correctly
  based on ReadInt/WriteInt functions that honor MMU setup.
  Atari2HostAddr() removed. Was deprecated for a long time already, anyway.

- fakeio.cpp: Atari2HostAddr() replaced with Read/WriteHWMem functions.
  Perhaps proper solution is to move the #ifdef HW_SIGSEGV into the above
  mentioned functions? TODO: review it.

- nf_base.{cpp,h}: memory operations moved to uae_cpu/cpu_emulation.h

- natfeats.cpp, natfeat/{debugprintf, xhdi, nfcdrom, nfaudio}: fixed to
  not use Atari2HostAddr (thus direct Atari memory access) but rather
  the Host2Atari/Atari2Host memcpy functions.
  Notice: nfaudio now uses cvt buffer always for copying the sound data
  from Atari to host - even when there is no conversion needed...

- videl.cpp, fvdidrv.cpp, natfeat/{nfjpeg, nfcdrom_sdl, nfcdrom_linux}: 
  TODO: needs to be modified to not use Atari2HostAddr, see above.

- natfeat/nf_basicset.cpp: just renamed memcpy functions

- natfeat/hostfs.cpp: renamed memcpy functions, strcpy() replaced with strncpy
  TODO: review and correct the "FIXME 999" strncpy()'s

- natfeat/ethernet.cpp: mostly clean up for better source code readability

- acsifdc.{cpp,h}: fixed to not use Atari2HostAddr(). Cleaned up a bit by
  merging code for reading/writing multiple sectors with single ones.
  Added a hack that was supposed to fix floppy under linux - not working yet.

- uae_cpu/{aranym_glue.cpp, cpu_emulation.h, newcpu.cpp}: trying to make
  the FLIGHT_RECORDER a bit more useful.

- input.cpp: if FLIGH_RECORDER is compiled in then it can be enabled
  for a while by pressing and holding down both Shift keys. This is just
  a trial how to make it more useful, will be refined in future (configurable
  event launcher, accessible from SETUP GUI...)

- include/version.h: micro version increased to warn everybody that
  there were a lot of changes thus something could break...


*** CVS tagged as ARANYM_0_9_1_ALPHA


2005/09/03 - Petr
- atari/network/ethernet/ethernet_nfapi.h: (ethX) is missing in IRQ subcall

- natfeat/ethernet.cpp: XIF_GET_MAC: subcall returns FALSE if particular
  ethX is not defined in the config file, TRUE otherwise. Expected
  by Linux ethernet driver...


2005/09/01 - milan
- src/Unix/configure.ac: enforce fixed videoram for SDL blitter
- src/uae_cpu/debug.cpp: correct register size


2005/08/29 - Patrice
- nfvdi: Make usage of host mouse cursor a configurable option.


2005/08/21 - Petr
- natfeat/ethernet.cpp: do not use Atari2Host_memcpy() and similar, they
  ignore MMU setup. Fixed by replacing with a2fmemcpy() family.
  This was an essential fix. Now NF Ethernet works under Linux-m68k :-)
  Other NF drivers need similar fixes.


2005/08/18 - Petr&milan
- include/aramd5.h: portability


2005/08/18 - milan
- CPU sync with BasiliskII (better x86 types detection and JITc correction)


2005/08/14 - milan
- uae_cpu/cpummu.cpp: microoptimalization


2005/08/05 - Johan
- nfvdi*: Support for accelerated text drawing.
- nfvdi_opengl.cpp: Fix for S2S blit problem at bottom of screen.
  Also added rounding for getHwColor.
- hostscreen.cpp: Removed unnecessary dependency on glu function.


2005/07/29 - Patrice
- Trigger MFP interrupt only once per audio callback. Default format is
  16 bits stereo for audio dma.


2005/07/26 - Patrice
- mfp.h: Wrong size for irq_* values.


2005/07/25 - Patrice
- Fixed speedy replay in DMA audio. Timer A interrupt still not triggered.


2005/07/21 - Patrice
- Preliminary crossbar audio emulation.


2005/07/20 - Patrice
- Preliminary DMA audio emulation. Remove TOS check for joypad port presence
  that set DMA audio bit in _SND cookie to 0 if absent (!!).


2005/07/19 - Xavier
- INSTALL: added a pointer to tools/build-cygwin.sh for compiling on Microsoft
  Windows.


2005/07/19 - Patrice
- Splitted nfaudio driver in two parts. It is now possible to have several
  audio emulations (ym, dma, dsp) along with nf audio emulation, all mixed in
  a final audio buffer. The NF audio driver now does convert buffer from Atari
  to host format, instead of letting Atari side doing this.


2005/07/16 - Andreas
- natfeat/nfcdrom_linux.cpp: move include of linux/cdrom.h down to fix
  compilation problem.


2005/07/16 - Petr
- natfeat/nfvdi.cpp: swapped return values for the mouse event dispatch
  since default fvdidrv.cpp used value 1 as indication of unknown NF subcode.

- input.cpp: adapted for the swapped return values from the nfvdi dispatch.
  - also CHECK_HOTKEY adapted to allow hotkeys with mod keys only
  - and keysym.mod replaced with GetModState() since keysym.mod didn't return
    single mod key presses.

- dlgHotkeys.cpp: display hotkeys with mod keys only correctly


2005/07/13 - milan
- src/Unix/config.*: updated (thanks, Aurelien Jarno)

- src/Unix/vm_alloc.cpp: close(zero_fd) only when opened

- correct version of JITInlining

- JIT compilation of dispatcher enabled


2005/07/10 - Johan
- nfvdi_*: Made the base class capable of polygon filling.
           OpenGL driver makes use of that for now because of
           problems with the current polygon tesselation code.
           Software driver still uses its own polygon filler,
           but the support routines are now in the base class.

2005/07/10 - milan
- src/Unix/configure.ac: typo

- src/Unix/linux/sigsegv_linux_x86.cpp: correct type of pointers

- UAE CPU: JITc inlining and check_ticks definition


2005/07/09 - Petr
- main.cpp: added RTC device driver for real interrupts at 256 HZ rate.
  Enable #RTC_TIMER if you want to see it running. And start ARAnyM
  as root because it sets the /dev/rtc to 256 Hz interrupt which is not
  allowed to regular user (unless enabled by running the following command:
  sysctl -w dev.rtc.max-user-freq=1024)
  - startup IRQ storm corrected (more than 80 useless IRQs at power on)
  - IRQ debug statistics printed (if #DEBUG enabled)


2005/07/09 - Johan
- nfvdi_*:      Bug fix for polylines with moves.
- nfvdi_opengl: Bug fix for single pixel lines. Speedup for polylines.


2005/06/21 - Patrice
- hostscreen: Don't use SDL version of glext.h. Also fix bpp for OpenGL screen


2005/06/20 - milan
- configure.ac: needed size of LMA increased to 16 MB, should solve problem on
                some systems with autodetection


2005/06/17 - Patrice
- nfosmesa: Added nfosmesa device driver for MiNT, which now works. You can
  use it with MiNT 1.16, which was removing __NF cookie.


2005/06/16 - Patrice
- nfosmesa: Reworked interface to host, can use a MiNT device (to write) ioctl 
  or NF interface. On the Atari side, parameters are no more stacked twice.


2005/06/16 - milan
- some small cleanups and fixes in building process


2005/06/15 - Patrice
- nfosmesa: g++ 3 with -O3 was over-optimizing Atari2HostDouble to a null
  function.


2005/06/14 - Patrice
- nfvdi: Add reset method. OpenGL rendering: tesselate polygons, use non power
  of two texture or rectangle texture when available.


2005/06/13 - Patrice
- hostscreen: disabling texturing when not used. Correctly setup shadow
  texture when it is smaller than asked screen.
- nfosmesa: Don't pollute gl namespace in NFOSMesa class. Allow NFOSMesa
  to be compiled with hardware OpenGL rendering.


2005/06/12 - Patrice
- hostscreen,parameters: removed width and height parameters for OpenGL, using
  current ones or autozoom ones'.
- nfvdi OpenGL: clear alpha value read.


2005/06/11 - Patrice
- nfvdi,hostscreen: remove getComponent() stuff, useless with GL_BGRA format.


2005/06/09 - Patrice
- nfvdi: added preliminary OpenGL fillPoly() rendering. Host screen
  organization fixed on the ARAnyM side.


2005/06/08 - Patrice
- hostscreen: correct endianness of GL_RGBA shadow surface for videl OpenGL
  rendering. Updating the texture with dirty rectangles list. Added
  getComponent() function to read the real screen organization, waiting for
  Johan to sync fvdi driver.


2005/06/07 - Johan
- Report mouse events (input.cpp) to m68k fVDI driver via Natfeat "backdoor".
- Support for forced mouse positioning.
- Fix for OpenGL integer coordinates (hostscreen) according to MicroSoft tip.
- A bunch of bug fixes for OpenGL drawing. Mostly off-by-one things.


2005/06/05 - Patrice
- nfvdi: added mouse cursor rendering for OpenGL driver. Host SDL cursor can
  be enabled in nfvdi.h by uncommenting USE_HOST_MOUSE_CURSOR (experimental).


2005/06/03 - Patrice
- NF audio: close SDL audio device on exit. Closing it on Atari reset event
  hangs ARAnyM on my system, more investigation needed.
- main.cpp, Unix/main_unix.cpp: SDL_Quit() was called twice: once in ExitAll() 
  and once at exit().


2005/05/27 - Patrice
- nfvdi: revert back old mouse driver for software renderer. Will add OpenGL
  support soon, till support for host mouse cursor is usable.


2005/05/25 - Patrice
- OpenGL nfvdi: fixed line clipping.


2005/05/24 - Patrice
- OpenGL nfvdi: fixed screen to memory blits.

- hostscreen: OpenGL rendering off by 1 unit.


2005/05/22 - Johan & Patrice
- OpenGL nfvdi: more blit fixes. Added line clipping.


2005/05/20 - Patrice
- OpenGL nfvdi: preliminary blitArea() between screen and memory.

- input, ikbd: Add support for joystick hat.


2005/05/19 - Patrice
- nfvdi: Add some OpenGL logical operations for blitArea() operations, and
  preliminary expandArea() function. Updated aranym.sys FVDI driver.


2005/05/16 - Patrice
- nfvdi: Enable OpenGL rendering when opening the VDI workstation.


2005/05/14 - Patrice
- nfvdi: Missing constructor, and initialization. Swapped disable/enable
  cursor in drawMouse. OpenGL renderer: add logical operations, and screen
  to screen blits.


2005/05/13 - milan
- uae_cpu/cpu_mmu.*: experimental ATC disabling


2005/05/13 - Patrice
- nfvdi: Use host mouse cursor. Need to sync with input.cpp mouse routines.


2005/05/12 - Patrice
- Keep all OpenGL things in hostScreen and nfvdi classes.

- Split blitArea() function in 4 parts.


2005/05/11 - milan
- uae_cpu/cpu_mmu.*: a small prototype fix, debug variable disabled


2005/05/11 - Patrice
- Can dynamically choose a NF CD-ROM driver (linux or sdl one). Can also
  choose a NF VDI driver: software renderer or the non working OpenGL renderer

- Get confused with bpp (bytes per pixel) and bpp (bits per pixel).


2005/05/11 - milan
- natfeats.cpp: THROW(), not LONGJMP()


2005/05/10 - Patrice
- OpenGL rendering done regularly in Videl->renderScreen(), instead of
  hostScreen.update(): much faster!

- Added getBpp() function to FVDI driver (recompilation needed!), needed when
  using FVDI driver with OpenGL rendering.


2005/05/09 - Patrice
- Moved more driver independant stuff from nfvdi_soft.cpp to nfvdi.cpp


2005/05/08 - Patrice
- Dynamically create the natfeats. A few more work, and we will be able to
  choose between different NF drivers for the same feature.


2005/05/07 - Patrice
- NF vdi driver split in 2 parts: a base class, and an implementation class
  (software rendering driver atm).


2005/05/06 - milan
- support of old headers removed


2005/05/01 - milan
- uae_cpu/compiler: sync with Basilisk (64bit pointers fixed)

- Unix/configure.ac: C++ exceptions disabled in JIT compiler mode


2005/04/29 - milan
- Unix: a small sync with Basilisk and cleanup

- ata.*, cdrom.*: sync with Bochs and small cleanup

- uae_cpu: small sync and cleanup of non-JIT CPU

- doc/hguide.txt: actualized a bit


2005/04/27 - milan
- Unix/configure.ac: nfjpeg test corrected


2005/04/26 - Xavier
- Unix/configure.ac: nfjpeg enabled by default


2005/04/24 - Andreas
- new configuration option --enable-cxx-exceptions, implement use of C++
  exceptions instead of setjmp/longjmp for exception handling.

- ndebug.cpp: fix stdarg usage, handle NEED_TO_DEBUG_BADLY in showHistory.


2005/04/22 - Xavier
- hostscreen.cpp: SDL_WM_ToggleFullScreen does not work on some GUIs (Microsoft
  Windows GUI, for example). Added some code to implement the switch to and
  from fullscreen mode in this case.


2005/04/22 - Patrice
- nfjpeg: Save d1/a0-a1 used as scratch registers by gcc when calling JPEG
  decoding routines


2005/04/17 - Petr
- Makefile.in: fvdi.prg.bz2 was removed from archive...

- aranym.spec: %files section cleaned up. Fixes build problem with
  unpackaged documentation and makes it much easier to maintain (no need
  to track changes in Makefile.in).


2005/04/15 - STanda
- atari/hostfs/hostfs_xfs.c: some filesystem flags changed.
  this should fix the bug #1178909 (hostfs broken under linux) and
  problems with not being able to execute files with executable flag set.


* tagged as ARANYM_0_9_0

2005/04/14 - Petr
- doc/documentation.txt: [PARTITION] documented. Programming with ARAnyM
  documented (NatFeats, detection of ARAnyM presence).

- doc/config, parameters.cpp: [DISK] renamed to [PARTITION].

- build_cygwin.sh moved from doc/ to tools/.

- README, NEWS, version.h: usual release updates


2005/04/05 - Petr (actually Carlo)
- src/MacOSX/*: Carlo has updated the project (added MMU target)


2005/04/01 - Thomas Huth
- uae_cpu/newcpu.cpp: free table68k memory


2005/03/24 - Patrice
- natfeats: don't switch to supervisor mode if already in supervisor mode to
  read cookie jar pointer.


2005/03/21 - milan
- parameters.cpp: correct the previous commit


2005/03/21 - Patrice
- parameters.cpp: display custom enabled NatFeats.


2005/03/20 - STanda
- fvdidrv: fixed outstanding bug in the aranym.sys driver. The pixel sizes were
  updated recursively twice which made them wrong.


2005/03/15 - Petr
- gui-sdl/file.cpp: current dir is no longer presented as "./" but it's simply
  an empty string (fileselector had to be adapted to this change, see below).

- gui-sdl/dlgFileSelect.cpp:
  - initialized 'eol' to remove compiler warning.
  - if there is an empty path to dir the getcwd() is used to preset it
    with a reasonable value.
  - filename "." removed from the fileselector.

- gui-sdl/dlgDisk.cpp: allows entering non-existing filename (useful for
  generating new disk images). Help page updated accordingly.


2005/03/14 - Xavier
- gui-sdl/dlgFileSelect.cpp:
  - New sorting algoritm : folders at the top, files at the bottom.
  - Reformatted using GNU indent (with "-kr -nce -ts4", as suggested by Petr).


2005/03/05 - Xavier
- doc/build-cygwin.sh: added SDL_image support. Allows to compile nfjpeg on
  Windows.


2005/03/03 - STanda
- doc/documentation.txt: update on networking. Clean that up someone.
- Blaine Brysh's suggection to remove the 'tapdev' check done.


2005/02/28 - Patrice
- nfjpeg, nfpci, nfosmesa, nfcdrom: Use the correct fonction to read current
  cookie value, not a mix between internal function and mintlib's one.


2005/02/25 - Xavier
- doc/build-cygwin.sh: defaults to SDL 1.2.8.


2005/02/24 - Petr
- lilo.cpp: <elf.h> required defines copied to lilo.cpp to allow compiling
  under non-linux systems.


2005/02/23 - Patrice
- nfjpeg, nfpci, nfosmesa: Display a message when __NF cookie is missing, or
  when NF functions needed are missing in ARAnyM.


2005/02/22 - Petr
- parameters.cpp: 'RedirPrinter' removed.
  Default printer file is 'stderr'.

- aranym.spec: aranymrc.example removed.


* tagged as ARANYM_0_9_0_BETA

2005/02/20 - Petr
- atari/aranymrc.example moved to doc/config and updated with all current
  config options

- parameters.cpp: fixed wrong sizeof() for [HOTKEYS]

- doc/documentation.txt updated (networking, LILO)
  doc/aranym-lilo.txt removed

- Makefile.in: NFJPEG and NFOSMESA added

- aranym.spec: LILO added to MMU build

- README, BUGS, NEWS, include/version.h: updated for new release


2005/02/18 - Patrice
- nfosmesa: Can not autodetect which libOSMesa is loaded, so ChannelSize in
  config file is mandatory for any libOSMesa library used.
  The OpenGL contexts created by OSMesa are endianness independent, no need to
  convert them after rendering.
- nfjpeg: Correct SDL include path.


2005/02/17 - Petr
- parameters.cpp: open up SETUP if no config file found and new one is to be
  created so that users can edit the default values before saving.

- dlgAlert: flexible formatting of text to any number of lines (up to 20).
  Two types of alerts - info "OK" and confirm "OK/Cancel".

- dlgMain: dlgAbout and dlgHelp replaced with info alert.

- dlgDisk, dlgHotkeys: HELP button and page added

- TODO: updated (at last I could remove some long standing issues :)


2005/02/14 - Petr
- main.cpp: display the right key for invoking SETUP GUI in the window
  caption bar.


2005/02/13 - Petr
- gui-sdl/sdlgui: getEvent() function fetches the keyboard and mouse events
  (now also UP events) from the USEREVENT queue and converts them to normal
  SDLKey and SDLMouse events.

- include/parameters.h: hotkey struct bx_hotkeys_t defined and added to
  global bx_options.

- input.cpp: the following seven hotkeys are user-definable now: Setup,
  Quit, Reboot, Ungrab, Debugger, ScreenShot and FullScreen.

- gui-sdl/dlgHotkeys.cpp: hotkey editor added, allows for online editing
  of the seven hotkeys listed above.

- gui-sdl/dlgMain.cpp: hotkey editor activated.

- parameters.cpp: hotkeys are saved to config file, section [HOTKEYS].
  Further cleanup. [ARANYMFS] fallback dropped.


2005/02/12 - Patrice
- nfosmesa: Add support for 16 and 32 bits per channel for OSMesa, using
  libOSMesa16 or libOSMesa32.


2005/02/04 - Patrice
- Added parallel port emulation driver via Linux /dev/parport device.


2005/01/30 - Andreas
- uae_cpu/newcpu.cpp: Handle unaligned access in get_ilong_1.


2005/01/29 - Patrice
- configure.ac: Add option to add path to Mesa header files.


2005/01/28 - Andreas
- uae_cpu/newcpu.h: Handle unaligned access in get_ilong.


2005/01/26 - Patrice
- Move all parallel port implementation stuff in yamaha. Don't flush on output
  to a real file.

- Remove useless FAQ item about CD-ROM configuration.


2005/01/25 - Andreas
- uae_cpu/cpummu.cpp: Fix wrong address in mmu_get_unaligned, thanks to
  milan for tracking this down.


2005/01/25 - Patrice
- parallel: small fixes. Can redirect to a file, to stdout or stderr.


2005/01/25 - Andreas
- uae_cpu/cpummu.cpp, uae_cpu/memory.h: Fix wrong size field in ssw.


2005/01/24 - STanda
- fVDI driver
  * famous fVDI boot bug fixed! VIDEL is shut off on openwk()
    instead on the first NF(fVDI) call.
  * Changing the resolution upon openwk() again (back to what was
    in 0.8.10?)
  * cleanup in the spec.c m68k part of the driver.


2005/01/24 - Patrice
- nfosmesa: Return OpenGL version as 1.0 when extensions disabled.


2005/01/24 - Andreas
- More MMU emulation fixes.  Linux boots now.


2005/01/23 - Patrice
- Reorganized parallel port emulation. Time to write drivers for all OS.


2005/01/22 - Patrice
- configure on MacOSX does not like using AC_CHECK_HEADER.


2005/01/22 - Petr
- input.{cpp,h}: little cleanup, private things declared static
- main.cpp: little cleanup, removed unused function
- hostscreen.*, input.cpp, main.cpp, parameters.cpp: "--disable-gui" now
  disables the SDL GUI related code in these files.


2005/01/21 - Patrice
- nfjpeg: Decoding images, with width not multiple of 16 works in Brainstorm's
  viewer. Zview has a bug in its plugin.


2005/01/20 - Patrice
- nfjpeg: More fixes, now Brainstorm's JPEG viewer works, but images with width
  not multiple of 16 have a problem.


2005/01/19 - STanda
- atari/fvdi/../spec.c: bitplane modes are marked as bitplane in v_scrninfo(),
  unnecessary noshadow and assumenf options removed
- 8b_pal.c: palette setting is system wide (not per virtual workstation)


2005/01/19 - Patrice
- dsp_cpu.cpp: 64 bit fixes.
- nfjpeg: Fixed problems due to endianness and packed structure of JPEG decoder.
  Decoding works in Zview (except for images with width not multiple of 16), but
  not in Brainstorm's demo program.


2005/01/18 - milan
- gdbstub: a few fixes in communication, configuration for base pointers added


2005/01/18 - Patrice
- nfosmesa: revert back mandatory SDL 1.2.6 check. Now nfosmesa disabled if SDL
  don't have loadable libraries functions.


2005/01/17 - Patrice
- nfosmesa: libGL is also dynamically loaded now. It is easier to control which
libGL library ARAnyM will use.


2005/01/16 - Patrice
- Enable compiling ARAnyM using the Fink suite on MacOSX.
  (configure --with-fink)


2005/01/16 - milan
- cdrom.cpp: new fix for *BSD (thanks, Konrad)

- gdbstub: gdb as external debugger (still buggy)


2005/01/16 - Petr
- natfeat/xhdi: fixed scary off-by-one bug. Direct partition access works
  OK. Also implemented proper way for finding out size of block device
  (such as /dev/hda1) so we can access host disk partitions directly now!


2005/01/14 - Patrice
- Preliminary NatFeat JPEG decoder. Don't try it, it does not work atm. If you
  think you can debug it, SDL_image with JPEG support is required.


2005/01/13 - Petr
- natfeat/xhdi: direct access to partitions added (use [DISKx] in config)
  Beware: the code is not well tested. Might destroy your data!

- parameters.cpp: [DISKx] enabled in the config file


2005/01/12 - milan
- all files: "unused varible" GCC warnings can be viewed with
             ./configure --enable-full-debug
	     a few other warnings gone


2005/01/12 - Andreas
- natfeat/nfcdrom.cpp: Include <SDL_endian.h> for SDL_SwapBE16.


2005/01/12 - Petr
- ata.cpp: removed a scary hack for hiding an unused variable
- all files: "unused variable" GCC warnings are gone thanks to DUNUSED macro
- natfeat/ethernet.cpp: possibly fixed buffer overflow bug in readPacket()


2005/01/12 - Patrice
- nfcdrom.cpp: 64 bit fix.


2005/01/11 - milan (thanks Andreas Jochens)
- uae_cpu/aranym_glue.cpp: 64 bit fix for GCC 4.0 happy
- uae_cpu/newcpu.cpp: 64 bit fix for pc_offset computation


2005/01/11 - Petr
- gui-sdl/sdlgui.cpp: 64bit cleanup thanks to Debian BTS #288992


2005/01/11 - STanda
- fvdidrv.cpp: 64bit cleanup attempt
- CygWin networking tunnel NIF name taken into account
- paremeters.cpp: extra slash addition fixed


2005/01/10 - milan
- uae_cpu/gencpu.c, uae_cpu/newcpu.cpp: unswapped opcodes disabled in full MMU


2005/01/10 - Andreas
- uae_cpu/cpummu.cpp: Many MMU emulation fixes.
- uea_cpu/gencpu.c: Make sure that memory stores are performed after all
  changes visible by the emulation.
- uae_cpu/memory.h: Set wb3 for the execption routine on memory write.
- uae_cpu/newcpu.cpp: Pass wb3 fields in the access fault exception frame.
  Don't call check_ram_boundary on a virtual address.
- uea_cpu/newcpu.h: Don't call get_real_address in m68k_setpc when
  FULLMMU.  Remove autoinc stuff again.
- uae_cpu/registers.h: Add wb3_data, wb3_status, fault_pc, remove
  autoinc.  Don't use pc_p and pc_oldp when FULLMMU.

2005/01/08 - Petr
- mfp.cpp: irq handling (enable/pending/masked) copied bit-by-bit from STonC.
  And it seems to work! At last... Thanks, Laurent, for your great MFP
  emulation.

- configure.ac, TODO: linux kernel headers no longer necessary

- ikbd.cpp: when IKBD is reset it should send out the code 0xF1. Linux-m68k
  kernel checks for it. Fixed. Kernel no longer reports "WARNING: keyboard
  self test failed!" :-)


2005/01/08  Andreas Schwab
- lilo.cpp: Load ramdisk at end of ST ram.  64-bit fixes.  Copy needed
  bits from Linux/m68k kernel headers instead of including them.


2005/01/07 - Andreas Schwab
- uae_cpu/cpummu.h: Fix values of MMU_MMUSR_T and MMU_MMUSR_R.

- uae_cpu/cpummu.cpp: Fix interpretation of write bit in ptestr/ptestw
  opcodes.


2005/01/06 - Andreas Schwab
- uae_cpu/gencpu.c: Don't pop too much for format 7 exception frame in
  rte insn.


2005/01/06 - Petr
- mfp.cpp: Laurent (STonC author whose code has been used for ARAnyM
  MFP emulation) identified copy&rename_variables&paste error.
  Fixing that finally made the setGPIPbit() working (has been waiting 
  for the fix since ARAnyM version 0.1.4! :-O )

- ikbd.cpp: Laurent pointed out that IKBD should not access the MFP
  externally via the 0xfffa01 address but rather use the setGPIPbit()
  only. Fixed.

- mfp.cpp again: added floppy/SCSI/IDE IRQ and modified the ACIA IRQ
  to follow the automaticServiceEnd flag. This lets Linux-m68k detect
  the IDE devices without "hda: lost interrupt" messages.


2005/01/05 - Andreas Schwab
- uae_cpu/cpummu.cpp:
  ptestr/ptestw must never generate an exception, and always to a full
  table search, an existing ATC entry must be removed but otherwise
  ignored.

- uae_cpu/gencpu.c, uae_cpu/newcpu.*, uae_cpu/registers.h:
  when an mmu-generated access error occurs we must undo all auto-inc/dec
  adjustments to address registers, because after returning from the
  exception handler the instruction is restarted.


2005/01/04 - Andreas Schwab
- uae_cpu/gencpu.c - emulation of the moves insn fixed. It is one step further
  into being able to boot Linux/m68k on ARAnyM.


2004/12/17 - Patrice
- nfosmesa: more endianness fixes. Extensions reenabled, beware the lengthy
  compilation!


2004/12/16 - Patrice
- nfosmesa: more endianness fixes.


2004/12/15 - Patrice
- nfosmesa: more endianness fixes, small doc in doc/documentation.txt,
  added ldg to spec file.


2004/12/14 - Patrice
- nfosmesa: more bugfixes (mainly to adapt m68k arrays to host CPU endianness).


2004/12/13 - Patrice
- nfosmesa: many bugfixes. The hardest/longest part to do: converting all arrays
  (const TYPE *) to a temporary array for the host CPU. Disabled building of
  OpenGL extensions (much longer to compile and test). What is working: SDL tests
  programs, many NeHe tutorials using SDL (not all, due to disabled extensions);
  for pure Atari software: kronos, tinygl test programs. Added the osmesa.ldg for
  testers.
  

2004/12/11 - Patrice
- hostscreen.cpp: move one update function using OpenGL from .h to .cpp, needed
  for compiling for OSMesa.
  
- NF: Add Natfeat OSMesa rendering support for Atari applications using host
  CPU (highly experimental!).


2004/11/24 - STanda
- TAP-Win32 networking for cygwin builds implemented and fully functional
  The natfeat/ethernet.cpp split to natfeat card emulation and host OS
  dependent driver part. The dependent part was moved to the appropriate
  folder Unix/linux and Unix/cygwin.


2004/11/21 - milan
- CPU JIT: sync with the latest BII core, really many changes, amd64 corrected,
  cleanups


2004/11/20 - milan
- configure, vm_alloc, main_unix.cpp: a small memory management
  reorganization, 33BIT addressing, cleanups


2004/11/14 - milan
- ata.*, cdrom.*: a small cleanup, some things from Bochs (multisession read
  TOC)


* tagged as ARANYM_0_8_11_BETA

2004/11/07 - Petr
- wheel mouse support: based on discussion in mailing list and patch provided
  by Xavier. Switchable between original arrow up/down key simulation and
  new Eiffel compatible set of extended scancodes in the SETUP GUI.
  No possibility to store in config file, yet (intentionally).

- doc/documentation.txt: updated section about creating empty disk image.
  Also added more information about ARAnyM networking (mostly gathered
  from my replies in the mailing lists).

- SETUP GUI: Disk dialog has now its own Apply/Cancel buttons. The main
  Apply button in the main dialog was removed.
  Also Keyboard&mouse dialog offers first functionality: switching between
  two host mouse wheel modes.

- DOC files, aranym.spec, include/version.h: updated for a new release.


2004/11/01 - Patrice
- hostscreen.cpp: don't need to have autozoom enabled to force a screen size

- fvdidrv.cpp: forgot some break instructions.

- FVDI aranym.sys modified, for the host resolution to be read.


2004/10/31 - Petr
- Carlo provided a new keyboard translation routine that translate directly 
  mac scancodes into atari scancodes: all keys are translated correctly.
  SDL routine translate mac scancodes in their internal codes but for 
  some keys the translation is incorrect.

- fVDI driver (aranym.sys) has finally been recompiled.


2004/09/29 - Xavier
- fvdidrv.cpp: fixed a typo that prevented ARAnyM to compile here.

- uae_cpu/debug.cpp: fixed a bug in debugger that corrupted SR.

- main.cpp: added a patch that allows TOS 4.04 to detect TT-Ram without any
  AUTO folder program. FASTRAM.PRG not needed anymore.


2004/09/24 - Patrice
- Natfeat FVDI driver: added functions to read back the screen width and height
  really set on the host side


2004/09/13 - Petr
- newcpu.cpp, spcflags.h: SPCFLAGS_NMI removed, _BRK used instead (like
  seen in hatari). SPCFLAGS_MODE_CHANGE removed (it was unused).


2004/09/10 - Patrice
- hostscreen.cpp, videl.cpp, parameters.cpp: create a specific section in the
  configuration file for autozoom. You can now choose to want a constant host
  screen size for whatever the Atari screen size is.
  
  Note about FVDI: it is not aware of this "fixed size", using a bigger size
  than FVDI's one is OK, but the display is not centered. Using a smaller size
  is buggy, so don't do it!


2004/09/08 - Xavier
- src/gui-sdl/sdlgui.cpp: edit field handling cleaned.


2004/09/07 - Petr
- src/parameters.[cpp,h]: configPath added to aranymfs struct. Fixes problem
  with adding more colons on repeated saving of config file.

- src/gui-sdl/dlgDisk.cpp: fixed a problem with updating the CHS values
  when new disk image was selected.


2004/09/04 - milan
- src/parameters.cpp: don't show parameters, which aren't compiled in


2004/09/03 - Petr
- atari/network/ethernet/ethernet.c, nfeth-config.c: the idea of new IOCTLs
  was not working because inet4.xdd blocks the IOCTLs and does not pass them
  to the XIF driver. So now I am using SIOCGLNKSTATS and it works!
  Fixed more scary bugs (word alignment in parameters to nfCall can be a
  killer). nfeth-config even respects the NIF parameter (try eth1 :-)
  The XIF driver has yet to be updated to handle more NIFs at once.

- src/natfeat/ethernet.cpp: better debug message. Make use of safe strncpy.


2004/09/02 - Petr
- atari/network/ethernet/ethernet.c, nfeth-config.c: corrected some scary
  bugs, now it should work but doesn't yet. Seems like the new IOCTLs are
  blocked somewhere.

- patrice: videl.cpp: second fix for autozoom, now zoom tables recalculated
  also when host screen size changes.


2004/09/01 - Petr
- tools/arabridge: modified to allow bridging a non-defaultroute interface.
  Useful for situations when the machine is on public Internet and you don't
  want to put ARAnyM there. Also all RedHat specific things replaced so now
  it works on Debian nicely.


2004/08/31 - Petr
- atari/network/ethernet/ethernet.c:
  - updated for FreeMiNT 1.16
  - makes use of nf_ops in kerinfo for clean NatFeat usage (if available)
  - IP_AUTO configuration was plain wrong thus removed
  - implements three new control calls for the nfeth-config (SIOCGIFADDRFH,
    SIOCGIFDSTADDRFH, SIOCGIFNETMASKFH) that have also been defined
    in FreeMiNT's sockio.h
  - proper GPL headers added


2004/08/30 - patrice
- videl.cpp: with JIT, Atari video screen size was 0 for both height and width,
  with autozoom, hence the crash.


2004/08/28 - Xavier
- gui-sdl/sdlgui.cpp, input.cpp: rewrote edit field handling.

- gui-sdl/dlgFileSelect.cpp: updated for the new edit field handling.


2004/08/27 - Petr
- lilo.cpp: thanks to David Muse analysis and suggestions I corrected
  the LiloCheckKernel() simply by copy&pasting it from linux bootstrap
  properly :-)


2004/08/19 - milan
- Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp:
      cleaning, merging


2004/08/19 - Xavier
- uae_cpu/cpu_emulation.h, Unix/cygwin/sigsegv_cygwin.cpp: hwsp and pagehwsp
  address checking modes support on Cygwin.

- Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp,
  Unix/xbsd/sigsegv_xbsd.cpp: hwsp and pagehwsp address checking modes fixed
  (stacked address fault was wrong).

- NFPCI: Patrice: give access to the 256 bytes of configuration space.
  Some bugfixes.


2004/08/16 - Xavier
- Unix/cygwin/sigsegv_cygwin.cpp: fixed GCC warnings.

- Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp,
  Unix/xbsd/sigsegv_xbsd.cpp: nested sigsegv are not allowed anymore. This
  was unused since 2004/07/06 and was not supported under Windows.


2004/08/12 - Xavier
- Unix/configure.ac, Unix/cygwin/sigsegv_cygwin.cpp, uae_cpu/cpu_emulation.h :
  clean solution to avoid nested sigsegv on Windows/Cygwin and any other OS
  that would need it.


* tagged as ARANYM_0_8_10_BETA

2004/08/07 - Petr on behalf of Carlo
- added a target to generate the DMG file (inspired by bochs)
- The SDL library is inserted automatically in the application bundle;
  now it does not require any installation.


2004/08/05 - Xavier
- Unix/cygwin/sigsegv_cygwin.cpp: small cleaning.


2004/08/02 - Xavier
- Unix/configure.ac, Unix/cygwin/sigsegv_cygwin.cpp: extended sigsegv handler
  for Windows/Cygwin. The code needs some cleaning, but at least allows to
  boot Afros and TOS 4.04. We can now enjoy JIT speed on Windows too !


2004/07/29 - milan
- debug.cpp: S&!M means interupt mode, not only M


2004/07/28 - milan
- newcpu.cpp: removing "patch" from 2002/09/28 (PureC hack), it can be enabled
              with configure script

- debuggers: switch 'I' modified, debugger can ignore interupt mode


2004/07/28 - Petr
- atari/tools/pcpatch.c: verbose error handling


2004/07/28 - patrice
- Correctly read PCI devices list (inspired from pciutils code).


2004/07/26 - milan
- src/cdrom.cpp: typo bug (thanks, Konrad)


2004/07/20 - Xavier
- Unix/configure.ac: 
  - checks for direct, real and fixed addressing availability made more
    accurate.
  - direct, real and fixed addressing allowed on Cygwin.
    Real addressing won't work since Cygwin can't mmap() low memory.
    Direct and fixed addressings need a cygwin1.dll from 2004/07/16 or
    later on W2K and WXP (Available at http://www.cygwin.com/snapshots/
    until next Cygwin release - current DLL version is 1.5.10-3 at the
    time of writing).


2004/07/18 - Xavier
- Unix/main_unix.cpp: in direct addressing mode, memory must be allocated
  with only one call to vm_acquire(). Otherwise memory parts may not be
  contiguous. CPU emulation rely on this.


2004/07/14 - milan
- small sysdeps.h reorganisation


2004/07/14 - Xavier
- doc/build-cygwin.sh: updated for SDL 1.2.7 and latest Cygwin (new GCC and
  X.org/X11 packages).

- Unix/acinclude.m4: updated for automake 1.8+.

- Unix/configure.ac: fixed error message about extended segfault handler.


2004/07/13 - Petr
- natfeat/ethernet.cpp: ARATAPIF is now found in $PATH again (Standa forgot
  to remove some of his debugging stuff). Thank for the bug report goes to
  Clement BENRABAH.


2004/07/13 - milan
- macro BUS_ERROR defined in cpu_emulation.h and documented

- some other minor (mainly cosmetic) corrections


2004/07/12 - Petr
- ide.cpp: Xavier explained that Adam's open source IDE driver might use
  the f00002 register because it's mapped to the same 16-bit IDE port as
  the f00000.


2004/07/11 - milan
- lilo support corrected

- other minor (cosmetic) corrections


2004/07/09 - milan
- (sig)setjmp/longjmp corrections


2004/07/08 - milan
- minor (cosmetic) corrections


2004/07/07 - Petr
- uae_cpu/fpu/mathlib.h: Francois fixes sinh and tanh by following the cosh
  emulation example.


2004/07/07 - milan
- man page corrected


* tagged as ARANYM_0_8_9_BETA

2004/07/06 - Petr
- ikbd.cpp: write to MFP directly, don't throw nested SIGSEGV. This not only
  fixes the JIT CPU crash on keypress in linux 2.6.x but also seems to help
  booting linux-m68k (it doesn't freeze now when you press a key)

- blitter.cpp: this is probably a breaking news after years of blitter
  crashing and countless hours spent on debugging it: the source and
  destination address registers must be restored to original values upon
  finishing the job, since TOS does not always set the source and dest
  address for a new blitter job - it clearly relies on the original values
  set in previous job. This is very unexpected behaviour since Blitter
  documentation says the source and dest addr registers show increasing
  values when you read them.
  Also, now Blitter starts blitting as soon as the BUSY line (0x3c & 0x80)
  was set - this was possible after implementing the word and long wide
  register accesses and thanks to idea and support from Thomas.

- gui-sdl/dlgAlert.cpp: strdupa() is not defined in neither cygwin nor macosx
  so there is a quick workaround.

- lilo.cpp: fixed reading of gzipped files. Simply the macro is HAVE_LIBZ,
  not HAVE_ZLIB :-)

- gui-sdl/sdlgui.cpp: accept numbers on numpad. This is still not correct
  code, it should use the unicode field of the keysym struct.


* tagged as ARANYM_0_8_8_BETA

2004/07/05 - Petr
- gui-sdl/dlgAlert.cpp: an AES like AlertBox created. So far a rough code
  but does what I needed.

- gui-sdl/dlgDisk.cpp: Disk Image generation added.

- on behalf of Carlo: UAE FPU is (thanks to Francois' tests) the default
  for MacOSX target in their project builder.
  Filename expansion takes a special '*' wildcard that gets expanded to
  Data folder path (the bundle folder for MACOSX).

- parameters.cpp: Carlo corrected a bug in the relative path expansion
  routine - now if there isn't the trailing slash it's added.

- tools/createdisk/*, tools/disk_image.c: removed

- Makefile.in, aranym.spec: createdisk & disk_image removed, arabridge added

- README, NEWS, TODO, aranym.1, aranym.spec, version.h:
  standard updates for new release.


2004/07/04 - Petr
- input.cpp: iconification of fullscreen window on releasing the grabbed
  input disabled since Standa added there switching from fullscreen
  to window.

- gui-sdl/file.[cpp,h]: File_Exists() and File_Read() take const char
  parameter. Disabled the (IMHO) useless feature of File_Read - trying
  several different file extensions automagically.


2004/07/03 - Petr
- uae_cpu/fpu/mathlib.h: fixed tan() error Martin Tarenskeen reported.

- uea_cpu/newcpu.cpp, hardware.cpp: if HW_SIGSEGV is used (mainly for
  JIT compiler) then use sigsetjmp/siglongjmp to restore signal mask
  when generating BUS ERROR. This fixes the SIGSEGV during TOS 4.04
  boot when reading the $ff8e09 register.


2004/07/01 - Petr
- BUGS: FPU problems documented. We need fix even for Pentium host based
  systems!


2004/06/21 - milan
- diskimage supports images lager than 2GB (large file support)


2004/06/01 - STanda (actualy done the 2004/05/19)
- input.cpp: The capslock keyboard LED and the m68k side OS capslock state
  synchronization should be better now.
- hostfs.cpp: Small broken symlink related bugfix.


2004/05/15 - patrice
- Nfpci.prg bugfixes, and also on host side. pci_read_config_* functions work
  now. We can enumerate the host PCI devices.


2004/05/14 - patrice
- Nfpci.prg now finished. Time to implement it on the host side now.


2004/05/13 - patrice
- Added resident program NFPCI.PRG, does not work ATM: it thinks there is
  already a PCIBIOS driver installed.


2004/05/12 - patrice
- Primary framework for NatFeats PCI driver


2004/04/24-25 - STanda
- parameters.cpp,cfgopts.*: Created a Path_Tag that serves as a String_Tag
  like entry plus that there is the '~' replaced with $HOME and the
  relative paths are made absolute (to the configuration file location).
- parameters_*.cpp: separated the getDataFolder() and getHomeFolder().
  The getHomeFolder() is used for the '~' expansions in parameters.cpp.
- hostfs.cpp:
  * Petr's version of xfs_native_init() fixed, extended and used.
  * symlinks should work better now: if there is a HOSTFS mapping for the
    symlink target then it is translated as a symlink to that target else
    the real hostfs target is shown (the user doesn't notice it is a symlink
    in fact in that case).
- hostfs.dos (atari/hostfs/metados):
  * Adjusted to the recent FreeMiNT CVS state to compile and also made
    BetaDOS only. No more MetaDOS compatibility attempts.
  * Dfree() fix - for Calamus to be able to save its documents.
  * Some minor bugfix backports from the current FreeMiNTs CVS version.
  * The mountpoint entries are now shared among several hostfs.dos instances
    using a 'BDhf' cookie entry (atari/hostfs/metados/main.c).
- ethernet.cpp:
  * Alternative networking setup: aranym doesn't need to use the suid
    aratapif now. CVSROOT/tools/arabridge script is able (with root
    permissions) to establish a bridge over the tap0 tunnel and eth0 nif so
    that aranym would become fully featured LAN machine from ethernet point
    of view. E.g. you can try DHCP directly from within ARAnyM then.
  * [ETH0] type = ppp|bridge and tunnel = tap0 config options added
  * However there are still some problems: the initialization can fail
    sometimes. I got it working several times, but in some network
    configurations it simply doesn't work. I don't have a clue why ATM :(
    (tested on RH9.0).


2004/04/10 - Petr on behalf of Carlo
- acsifdc.cpp: local variable masked out class variable of same name. Bug
  was there since 2004/02/02. Fixed.


2004/04/06 - Petr on behalf of Carlo
- MacOSX/: obsolete aranym_for_library and pkg_support were removed.
  main_OSX.cpp added, with modified memory allocation routines.
  The installation package is no longer required. Now there is only a folder
  to drag to the hard-disk.

- configure.ac: added MACOSX_support define, corrected bug in vm_allocate
  test.

- uae_cpu/memory.h: scary typo error fixed

- main.cpp, parameters.cpp: these patches were not accepted as I don't like
  unnecessary polluting of main source code with #ifdef MACOSX_support.
  We need something like Unix/cygwin/cygwin_parameters.cpp for MacOSX
  to keep the main source clean.


2004/03/29 - milan
- Makefile.in: .cvsingnore not in dists

- configure.ac: flightrecorder option corrected


2004/03/04 - Carlo & milan (thank you, Carlo, for your great job)
- macro do_get_real_address() for OS_darwin corrected


2004/03/03 - Carlo & milan
- MacOS X doesn't support fixed allocation in ARAnyM, so special workaround
  needed


2004/02/28 - milan
- sigsegv handler for Linux as computed gotos (partially), disabled, slower


2004/02/22 - Petr on behalf of Carlo
- MacOSX/*: I have solved the problem with DIRSEPARATOR and ARANYM_DATADIR
  defines in my project. I have modified the shell script that call autogen.sh:
  now calls it only if it exist (on official release autogen.sh is missing),
  otherwise it calls configure.
  I have added the directory "pkg_support": in this directory there are
  instructions and files to build an installer package for aranym.
  I have removed "aranym_for_library" directory: this is not needed for the
  new installing method.

  The directories ".aranym" "usr" "etc"... are all hidden under MacOSX Finder
  so they are accessible only through the terminal window.
  I have renamed ".aranym" in "Aranym_files" and moved the data dir in
  $HOME/Documents/Aranym_files. In this manner they are accessible through the
  Finder.
  I have modified paths in configure.ac so they are correctly expanded
  in configure.


2004/02/19 - Xavier
- gui-sdl/sdlgui.cpp : SG_DISABLED state now ready for use.

- gui-sdl/dlgDisk.cpp: "Generate" buttons visible (but disabled).


2004/02/16 - Xavier
- gui-sdl/sdlgui* :
  - added SG_RADIO flag.
  - removed SGRADIOBUT objects. The exact same effect is now obtained with a
    SGCHECKBOX object with the SG_RADIO flag.
  - font is now loaded into a 8 biplanes surface. SDL has some strange reactions
    with 1 bitplane...
  - removed converted font. We now directly use the 8 bitplane font. This allows
    to choose text color and correct a bug where the font was not correctly
    converted (after a screen depth change while GUI is displayed).
  - removed SDLGui_PrepareFont() and SDLGui_FreeFont().
  - added SG_DISABLED state. Not finished yet.
  - cleaned color handling.
  - SGTEXT objects drawn differently if SG_SELECTED flag is set.

- gui-sdl/dlgMain.cpp: removed calls to SDLGui_PrepareFont() and
  SDLGui_FreeFont().

- gui-sdl/dlgFileSelect.cpp: files list elements are now SG_SELECTABLE so user
  can see which one is selected.


* tagged as ARANYM_0_8_7_BETA

2004/02/15 - Petr
- natfeat/hostfs.cpp: restore 0.8.5's xfs_init to fix the mount root bug.

- README, NEWS, TODO, aranym.1, aranym.spec, version.h:
  standard updates for new release.


2004/02/14 - Petr
- all HW chips' classes: made sure they contain function reset() that
  initializes internal variables of the objects. This will be called
  when RESET instruction is executed to provide complete hardware reset.

- hardware.cpp: added HWReset(), calls reset functions of all HW chips.

- most NatFeat classes: added reset() function (same reason as above).

- nf_basicset.cpp, debugprintf.cpp: make use of SafeStrncpy

- nf_objs.*: added NFReset(), calls reset functions of all NatFeats.

- uae_cpu/aranym_glue.cpp: RESET instruction emulation now resets all
  emulated hardware and native features.


2004/02/13 - Xavier
- gui-sdl/sdlgui.*:
  - introduced new flags : SG_SELECTABLE and SG_BACKGROUND.
  - boxes and buttons drawing improved thanks to these new flags.
  - SGTEXT and SGEDITFIELD objects are now drawn with a background.
  - removed imports from hostscreen.cpp I added when writing
    SDLGui_Get[First|Next]BackgroundRect().

- gui-sdl/dlg*.cpp: modified to take sdlgui.* improvements into account.

- src/Unix/configure.ac: removed an old hack in Cygwin's $LIB. This was not
  necessary anymore (thanks to build-cygwin.sh) and was preventing configure to
  successfully compile some tests.
  Configure tests impacted (which wrongly reported "no" before) :
  - "whether mmap supports MAP_ANON",
  - "whether mmap supports MAP_ANONYMOUS",
  - "whether mprotect works",
  - "for atanh",
  - "for isnan",
  - "for isinf", and
  - "for finite".


2004/02/09 - Xavier
- videl.cpp, uae_cpu/aranym_glue.cpp: connected virtual reset line of our
  virtual CPU to our virtual videl. ;) Moved code from videl constructor to
  init() method.
  ARAnyM video mode/display/main surface is now reseted to its default upon
  m68k RESET instruction. We won't see screens like
  http://phoenix.inf.upol.cz/~opichals/aranym/jinneeXaAES.png anymore. (You'll
  have to take your screenshots before rebooting from now on, Standa. ;) )
  This is still minimal, as with real hardware, all videl registers are set to
  0 when this event occurs (Display is turned off until TOS initialize videl
  properly.). But I suspect EmuTOS wouldn't be able to turn it on yet.
  BTW, other virtual components should be wired there, too...


* tagged as ARANYM_0_8_6_BETA

2004/02/08 - Petr
- gui-sdl/dlgAbout.cpp: RTFM AUTHORS

- gui-sdl/dlgMain.cpp: visually restructured a bit, added three buttons
  for quick access to most often used functions.

- gui-sdl/dlgHelp.cpp, Unix/configure.ac: Help page added

- hostscreen.cpp: added a comment that explains why user.code = SDL_USEREVENT

- input.cpp: GUI thread talks back to INPUT thread by SDL message as well.
  Should fix the infamous X async reply I started getting recently. Maybe
  even the problem on Mac.

- natfeat/nf_base.*: SafeStrncpy() added (respects buffer size).

- natfeat/hostfs.*: ctor/dtor added, init/exit used for clearing the allocated
  buffers. Resets the mounted points on ARAnyM Restart now. Also makes use
  of SafeStrncpy(). Perhaps EasyMiNT installation won't require aranym quit
  now.

- AUTHORS, README, BUGS, NEWS, TODO, aranym.1, aranym.spec, version.h:
  standard updates for new release.


2004/02/06 - Xavier
- gui-sdl/sdlgui.cpp: fix for resolutions smaller than the dialog size.
  Dialogs dimensions back to 40x25.


2004/02/05 - patrice
- New DSP thread killing when shutdown.


2004/02/05 - Petr (on behalf of Carlo)
- MacOSX/*: modified the project for version 0.8.6. Also included a shell
  script for calling the autogen.sh inside the project.

- blitter.cpp: updated for getVIDEL(), fixed wrong parameters in the memmove
  call (BLITTER_MEMMOVE only)


2004/02/04 2:11am - Petr (dedicated to Konrad :)
- rtc.cpp: fixed two real scary bugs. How could this code work previously??
  Weird that these bugs didn't appear under Linux for so long. Sorry guys :)
  Now Windows boot in correct resolution and without double bus errors!

- include/version.h: version 0.8.6alpha


2004/02/03 - Petr
- gui-sdl/*: dimensions made smaller (39x24) to fix the crashes in ST-Low
  (Xavier increased the dialog dimensions by a few pixels)

- rtc.cpp: few more debug messages

- main.cpp: DEBUG disabled


2004/02/02 - milan
- cdrom.cpp: Solaris support corrected


2004/02/02 - Petr
- acsifdc.cpp: when fixing my 0.8.5beta bug that Xavier has found I decided
  to clean the whole floppy code. FDC routines were included from fdc.cpp.
  Dropped emulation of second floppy drive. Fixed remounting a floppy
  with different geometry.

  The hack for auto remounting a floppy disk is now configurable with
  #define REMOUNT_FLOPPY_ON_BOOTSECTOR_READING. If it's enabled floppy access
  is very slow but exchanging real floppies is detected.
  When it is disabled then floppy access is fast but detecting of media change
  does not work.

- fdc.cpp: removed (its content is included in acsifdc.cpp)
- Unix/Makefile.in: fdc.cpp dropped
- gui-sdl/dlgDisk.cpp: better calling of the floppy functions
- main.cpp: init floppy after reboot


2004/02/01 - Petr
- MacOSX/*: some unspecified updates from Carlo, used for building the binary
  that is on download.


2004/01/30 - milan
- configure.ac: support better native debugger with gcc and gdb

- Makefile.in: small POSIX update

- ata.cpp: small sync with Bochs (set transfer mode and better controller
  init)

- compemu_support.cpp: warning "JIT disabled if you have small cache size"
  enabled

- cdrom.cpp: some corrections in the latest port from Bochs


2004/01/29 - Petr
- src/MacOSX/*: suddenly Carlo Baiocco appeared and sent me a complete
  MacOSX Project builder folder. Give it a try, perhaps it finally builds
  a binary for MacOSX? Follow the MacOSX/README.rtf for more info.


2004/01/28 - Petr
- cdrom.cpp,h: Stefan replaced it with a file from current Bochs and forgot
  to update the ChangeLog. It might break some other platforms. Beware.

- BUGS: two Windows related problems Konrad reported are documented and will
  hopefully be resolved in next release.


2004/01/26 - Xavier
- doc/build-cygwin.sh: preserve timestamps when copying ARAnyM sources. This
  allows CVS to find which files where modified when commiting from
  ${ARANYM_BUILD}.


2004/01/25 - Xavier
- gui-sdl/sdlgui.*:
  - aligned SGBUTTONs handling on other objects. They now need to have SG_EXIT
    or SG_TOUCHEXIT flag set to end dialog processing. Dialog definitions needs
    to be updated accordingly. This simplify code (and allows to use SGBUTTONs
    like SGCHECKBOXes). SG_EXIT and SG_TOUCHEXIT buttons are still deselected
    before dialog exit however. This should be removed and caller code should be
    responsible of deselecting buttons.
  - created a secondary loop to hande mouse clicks (SDLGui_MouseClick()
    function). Now, once an object is clicked, we ignore any keypress until
    mouse button is released. This fixes some underlying bugs (clicked buttons
    not deselected when user press RETURN, or when resolution change).
  - created a new function to handle keypress. First step to the full rewriting
    of SGEDITFIELD objects handling.
  - implemented SDLGui_Get[First|Next]BackgroundRect() functions. They allow
    main thread (hostscreen.cpp) to get a list of rectangles to update the
    background without erasing the opened dialog. We are ready to implement
    "flying dialogs". :) This code will need updating if we implement SG_POPUP
    handled by sdlgui, since popup menu can be higher than root box.
  - SDLGui_ObjFullCoord() now returns correct coordinates for SGEDITFIELD
    objects.
  - factorized some code ; simplified loops. This allows central loops to be
    far more readable.
  - commented a bit.
  - corrected some returns values and tests. Object #0 should be handled the
    same way as the others. Functions should return -1 when no objects found,
    and calling functions should test for ">= 0" and not "> 0".

- src/hostscreen.cpp: rewritten HostScreen::blendBackgrounds(). It now uses
  SDLGui_Get[First|Next]BackgroundRect() functions and is a bit shorter than
  before.

- gui-sdl/dlg*.cpp: added SG_EXIT flag on all SGBUTTONs object (unless they were
  already SG_TOUCHEXIT).

- gui-sdl/dlgDisk.cpp: uncommented IDE0_GENERATE and IDE1_GENERATE buttons.
  Added SG_HIDDEN flag on them for now (until SG_DISABLED flag is implemented or
  the code behind is written).


2004/01/24 - milan
- CPU: small cleanup

- JIT: blacklist opcode for debugging

- sync with BasiliskII


2004/01/23 - Petr
- gui-sdl/dlgDisk.cpp: changed floppy path was not applied to the bx_options

- doc/documentation.txt: Bjoern Spruck has contributed a network init script.


2004/01/09 - Xavier
- gui-sdl/dlgAbout.cpp: made "OK" button the default one.

- gui-sdl/dlgDisk.cpp:
  - made "Back to main menu" button the default one.
  - shortened displayed pathes to better suit new button's look.

- gui-sdl/dlgFileSelect.cpp: made "Okay" button the default one.

- gui-sdl/dlgKeyboard.cpp: made "Back to main menu" button the default one.

- gui-sdl/dlgMain.cpp:
  - made "Close" button the default one. This may not be the better choice. I
    think we could set "Apply changed settings" button as default once any
    parameter is modified, and set "Close" back when user changes are applied.
    This way pressing RETURN 2 times would apply setting, then close GUI.
  - fixed indentation.

- gui-sdl/sdlgui.*:
  - Made SDLGui_Draw3DBox() more fexible. Allows to choose width of 3D and
    black border now. It's a shame not to use it more : buttons are very nice
    with a 10 pixel wide 3D effect. ;)
  - implemented SG_DEFAULT buttons.
  - Reviewed TOUCHEXIT objects handling (fixes fileselector arrows bug
    introduced on 2004/01/06).


2004/01/08 - patrice

- dsp_disasm.cpp: many references to old 'dsp.' variable lying around, now
  replaced by 'GetDSP()->'.
- hostscreen.h: forget to include config.h for ENABLE_OPENGL value.


2004/01/07 - Xavier
- doc/build-cygwin.sh: Corrected a minor bug in error handling.


* tagged as ARANYM_0_8_5_BETA

2004/01/07 - Petr
- gui-sdl/dlgMain.cpp: show "unsupported yet" everywhere for the curious.

- NEWS, README etc: update for release

- doc/build-cygwin.sh: "bash" is in /bin/ (and rpmbuild insists on that)


2004/01/06 - Xavier
- gui-sdl/sdlgui.cpp: improved maintainability and "look'n'feel".
  - Factorized objects coordinate computation.
  - Factorized objects refreshing code.
  - Factorized objects drawing code.
  - Radio button handling simplified.
  - Dialog centered "on the fly" (root object coordinates not modified anymore).
  - Dialog centered at the pixel level instead of char level.
  - Boxes/Buttons borders more GEM-like.
  - Buttons labels centered at the pixel level instead of char level.
  - When user click on a button and move the mouse before he release mouse
    button, the state of the button is dynamicaly updated.
  - SDLGui_FindObj() takes buttons and boxes border into account.
  Since ARAnyM GUI does not use radio buttons or popup buttons, these objects
  have not been tested. Will do it ASAP. Please report any problem with them.

- hostscreen.cpp: modified GUI size to keep root box borders on screen.


2004/01/05 - Petr
- main_unix.cpp, parameters.cpp: 'program_name' is back (cygwin needs it)

- input.cpp: try to iconify fullscreen window when user wants to release
  mouse and keyboard (Hi Guido :-)

- main.cpp: NatFeats initialized at startup, de-initialized at exit and
  re-initialized at Restart. The re-init code (exit + init) is not optimal.
  Maybe we should come up with a reinit() function and let NF authors to
  define what should happen at creation time only and what should be
  refreshed upon each reboot.

- natfeat/nf_base.*: bool init() and void exit() virtual functions defined.

- natfeat/nf_objs.*: initNatFeats() calls all NF's init(). Similarly for
  exitNatFeats().

- natfeat/xhdi.cpp: the init() function is used for remembering the disk
  settings so that on-the-fly changes in SETUP don't ruin the pending
  disk operations. This was the main reason for introducing NF init/exit
  although after reviewing the code it was obvious that such functions
  were needed for a long time and will be useful for other complex modules
  (hostfs?) in future.


2003/01/04 - STanda
- fvdidrv:
   * NF API interface polished (made with a use of the enum {} like
     e.g. hostfs). The old non-NF interface dispatch routine removed.
   * Color handling rewritten to be able to support virtual workstation
     local palette. The NF API functions now take HW color values instead
     of the color index (XaAES RSC palette feature works properly now).
   * The interface version bumped to 1.100 (nfapi version constant
     0x10000960 -> 0x11000960) due to the color handling changes.


2004/01/03 - Petr
- videl.cpp, parameters.*, main.cpp, configure.ac, documentation.txt:
  DIRECT_TRUECOLOR hack removed. I don't think it was ever used.

- main_unix.cpp: code rearranged for slightly better readability.

- gui-sdl/sdlgui.*: SG_HIDDEN state introduced. Helps for context-sensitive
  display.

- gui-sdl/dlgDisk.cpp: no more confused users as all CD-ROM unrelated
  settings are hidden now when CD-ROM is selected.
  An automagic detection of C/H/S geometry for loaded disk images added.

- parameters.*, main.cpp: tos and emutos paths moved to bx_options struct.
  The goal is to keep everything in the struct for easier handling in the
  SETUP GUI.

- main_unix.cpp: 'program_name' is gone.


2004/01/02 - Petr
- gui-sdl/dlgDisk.cpp: Disk geometry added (C/H/S).
  Also, there is Insert/Eject button in each IDE set so it now supports
  mounting of two IDE CD-ROMs simultaneously :)

- gui-sdl/sdlgui.cpp,h: CHECKBOX can be placed on right side of the text.
  Same thing could/should be done for RADIO button.

- gui-sdl/font8.h: font8.bmp included in the code itself to get rid of
  problems with loading it at runtime

- gui-sdl/sdlgui.cpp: Load_XBM() for initializing the font (kindly provided
  by Martin Doering, thanks).

- parameters.cpp,h: recently added guifont_path removed :) It will come back,
  though, once the TOS font file format loading is implemented (see TODO).

- Makefile.in: font8.bmp is not installed

- configure.ac, Makefile.in: GUISDLSRCS introduced (contains gui-sdl/ files)

- TODO: one thing done (font8), another ideas arrived (floppy bootup insert)


2004/01/01 PM - Petr
- fdc.cpp: added is_floppy_inserted() (used in the config GUI). Also
  changeFloppy() called on insert_floppy() - this fixes the old reported
  problem with installing NVDI from several diskettes.

- hardware.cpp,h: getIDE() added (used in RestartAll for IDE reinit).

- ide.cpp,h: init() added - contains the conversion of some bx_options
  that was previously in parameters:postload_ide(). In init() it's better
  as we need to convert the options also after config GUI changes (where
  we don't want to call postload_* stuff).

- main.cpp: call IDE::init() in RestartAll() to reinitialize
  the IDE settings (possibly changed in the config GUI).

- parameters.cpp,h: 'floppy.inserted' removed. Instead, we'd need something
  like 'floppy.present' to indicate whether to mount the floppy on boot
  or not.
  Also the bx_options.atadevice parameters conversion moved to ide::init().

- parameters.cpp: loadSettings() now properly pre-/postinitialized by
  calling preset_cfg() and postload_cfg().

- gui-sdl/dlgDisk.cpp: rewritten, finished, tested, working.

- gui-sdl/dlgMain.cpp: load of settings from a config file now properly
  update GUI settings. Also the "Apply" button is enlarged to emphasize
  that without applying of the changes the Save Settings or Reboot/Close
  actions ignore the changes made in config dialogs.

- TODO: large update/rewrite. Get involved if you have some spare time.


2004/01/01 AM - Petr
- gui-sdl/dlgMain: adding more options

- input.cpp, main.cpp,h: RestartAll() now reinitializes the OS (in future
  it has to reinitialize also the memory and all hardware). Visible result
  of this change is the possibility of loading another config file from GUI
  in run-time and reboot with different OS (from TOS to AFROS, for example).

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 ~~ Happy New Year to all ARAnyM fans ~~
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2003/12/31 - Petr
- main.cpp: startup GUI now uses the same thread schema as the normal GUI.
  Windows SDL couldn't read mouse events in timer thread :-(

- input.cpp: small clean up in the GUI handling


2003/12/28 PM - Petr
- hostscreen.cpp: removed the scary IPC hack and switched to user SDL events

- input.cpp: same IPC hack fix, SDL keyboard and mouse events mapped to
  the user event. The event processing (in check_event()) changed from
  PollEvent to threadsafe PeepEvents().

- gui-sdl/sdlgui.cpp: IPC fix: keyboard and mouse events decoded from user
  events.

- gui-sdl/dlgMain.cpp: missing initialization of reboot/shutdown flags.
  Loading/saving of config file with editable filename implemented.

- parameters.cpp,h: loading and saving of config file from GUI works now.

- main.cpp: fixed scary bug - how could this work this morning? Use the 
  GUI timer thread _before_ the actual 200 Hz timer thread is started...


2003/12/28 AM - Petr
- sdl-gui.cpp, dlgMain.cpp: font init moved back to the main dialog,
  freeing of font surface added.

- hostscreen.cpp: color palette initialized to 16 default TOS colors

- main.cpp: startup GUI with separate timer thread for handling input
  events before the standard 200 Hz timer starts

- parameters.cpp,h: "-G" command line parameter opens the startup GUI.


2003/12/27 - Petr
- SDL GUI cleanup: first, all SDL GUI related files are in gui-sdl/ folder
  now. Then, each dialog is in its own file. At last, SDL GUI now supports
  EDIT field (have yet to add passing the keyboard info) and the FileSelect
  now supports editing the filename ("save as..."). We are basically in sync
  with hatari 0.45 now.

- sdl-gui.cpp: dialogs are now centered automagically by DrawDialog().
  May seem unnecessary at first but helps when the screen resolution is
  changed and dialogs need to be redrawn at different positions.

- input.cpp: cleaned up the way the GUI is open 

- main.cpp: prepare for the initial GUI popup

- ndebug.cpp: "char" -> "int" to get rid of a compiler warning

- sdl-gui.cpp: font init moved from dlgMain to SDLGui_Init().

- include/version.h: we are at 0.8.5alpha now


2003/12/26 - Petr
- input.cpp: cleaned up.


2003/12/25 - Petr
- hostscreen.cpp: terrific hack that lets the SDL GUI thread know about
  resolution change.


* tagged as ARANYM_0_8_4_ALPHA

2003/12/24 - Petr
- hostscreen.cpp: blendBackgrounds() added. This function updates the 
  background of active GUI with the running ARAnyM screen contents.
  I played with SDL_SRCALPHA etc. to make the background a bit greyed out
  or something but haven't succeeded.

- main.cpp: blendBackgrounds() called with 5 Hz refresh. Also the VIDEL
  renderScreen is now called even if GUI is active (naturally, otherwise
  the blendBackground couldn't work).


2003/12/19 - patrice

- bad implementation of bcopy() macro for mingw in sysdeps.h.

- changed DATADIR to ARANYM_DATADIR to make mingw and cygwin happy (not
  conflicting with their system headers).
  

2003/12/17 - Petr
- parameters.cpp: "GUIfont" config option added (as promised). Most of
  the complicated logic for guessing the right path for non-Unix systems
  can be removed soon.

- sdlgui.cpp: removed the cygwin_to_win32 conversion of the GUI font path.
  Two reasons for that: first, user can specify the path in MS-DOS format
  in the config file now (if ever needed). Second, the mingw32 compiled
  SDL does not work properly anyway so we use cygwin compiled SDL now
  (and that one surely reads unix-like paths).


2003/12/16 - Petr
- mfp.cpp: initializing the internal variables suddenly fixed all the 
  weird problems I had with booting the aranym since I converted the HW
  classes to dynamically created objects. So it's finally solved. 


2003/12/16 - Xavier
- doc/build-cygwin.sh: added a small shell script to ease compilation on
  Cygwin systems. This script is needed since SDL does not allow to build
  Cygwin applications out of the box. Please read comments at the top of
  build-cygwin.sh for detailed informations.

- doc/compiling_for_windows.txt: removed old documentation superseded by
  build-cygwin.sh.


2003/12/15 - Petr
- why to bother with demoing weird problems in extfs.cpp when the file
  is obsolete and can be removed? Good idea from Standa. ExtFS removed.
  HostFS is the only right choice now.

- emul_op.cpp: bunch of obsolete emul_op instructions was removed.

- aradata.cpp: register 0x9000a.L removed (it used to report the ExtFS
  drives bitmask but I can't recall if it was ever used in the planned
  application for auto-configuration of the BetaDOS's config file).

- hardware.cpp: the ARADATA now handle 18 bytes of HW regs only
  and I plan to convert the remaining mouse information to NatFeats
  so that ARADATA could be removed completely.

- hostfs.cpp: debugging disabled. Proper GPL header added.

- Unix/configure.ac: ZLIB is required only if LILO is enabled so the check
  for ZLIB is not performed when LILO is not enabled (Patrice's idea
  but he was too lazy to do it :)


2003/12/09 - Petr
- extfs.cpp: rewritten the initialization of rootPath a bit. And added
  #define DEMO_WEIRD_PROBLEM. That is the "AFROS does not boot" problem
  that is still there and can be easily exhibited just by allocating the
  'A' rootPath earlier in the start process. Note that it somehow affects
  the MFP interrupts which later causes EmuTOS to hang during boot. Very
  weird.

- extfs.{cpp|h}: proper GPL header (this one should be added to ALL files)


2003/12/09 - STanda
  the change from (2003/10/02):
  " Fxattr() now returns the (uint32)MAPVOIDPTO32( fc->index ) instead
    of the host OS' statBuf.st_ino. This is a problem IMO due to that
    the fc->index might change on releaseCookie()/dupCookie(). Proposals?"
  proved wrong. Rolling it back. 


2003/11/28 - Petr
- extfs.cpp: made sure the drives[].rootPaths are really initialized to
  a defined value. Also, I don't like functions in header files so moved
  constructor/destructor to the CPP. And it seems to fix the problem
  with freezing EmuTOS due to a MFP problem.


2003/11/27 - Petr
- forgotten "extern DSP" declarations removed

* interesting thing: I figured out that AFROS boots on the 0.8.4+ ARAnyM
  if the [HOSTFS] H=<path> is at least 12 bytes long.
  Example: stock AFROS contains just "H=/tmp/". The boot freezes. But if
  this path is extended to "H=/tmp/6789012" AFROS boots. Sounds like
  an encouraging thing to debug... Hopefully not a compiler bug!


2003/11/25 - Petr
- Patrice convinced me to do a two years pending rewrite of the hardware
  emulation dispatcher. This is a pretty fundamental change to the deepest
  internals of ARAnyM so please take it with great care and do backup
  all your disk drives first! It may easily destroy all your data if I made
  a mistake somewhere.
  All HW modules are now true dynamically created instances. This fixes
  a number of hidden problems including the crash of DSP emulation thread
  on OS X. It also allowed me to improve and simplify the address dispatcher
  (as has been written in TODO for a looong time).
  Almost all files are affected. Definitely all that emulate HW and a couple
  more. All HW classes are based on BASE_IO now, ICio is gone (why did I
  introduce it? I can't remember).
  The speed impact is non-measurable (on my machine, at least) and the
  source code now looks way better. I am glad I finally rewrote it.
  I also know AFROS does not boot. I have yet to figure out why.

- fdc.cpp: HWget/HWput replaced with much smarter FDC::[sg]etDMAaddr()

- aranym_glue.cpp: REBOOT_OR_HALT is set to HALT now. Rebooting was not
  a good choice (I ended up in an neverending loop of reboots).

- main.cpp: fdc_init() moved to ACSIFDC constructor. Also the ROM->RAM
  first two long words copying moved to InitOS(). HWExit() calling added.

- hardware.cpp: the special case in reading/writing words or longs
  for HW_IDE is finally gone. Now each class can override the handle***
  functions if it wants to catch the word and long access. Hopefully
  nothing breaks after this essential change.

- parameters.cpp: added zero parameters to fix compiler warning about
  missing initializers.

- *.cpp: many "unused parameter" warnings resolved by enclosing unused
  parameters in /* */


* tagged as ARANYM_0_8_3_BETA

2003/11/23 - stefanq
- added darwin folder containing all necessary files to make a Mac OS X
  port of aranym
- Makefile.in: added option -r to target APP_LIB, wich is necessary for 
  darwin.
- configure.ac: corrected the pathes for frameworks for darwin
- input.cpp: added some #ifdef OS_darwin to reflect some differences in 
  the keyboard layout of Apple computers.
- parameters.cpp: changed a %d inside an fprintf() call to %lu to prevent
  a compiler warning.


2003/10/26 - Petr
- doc/hguide.txt: written "Threads and Interrupts" chapter. I always
  wanted to document it since I myself had often hard time recalling
  how it was actually implemented.


2003/10/25 - Petr
- newcpu.cpp, aranym_glue.cpp: bus error handling code rearranged a bit:
  SDL related code should not pollute the newcpu.cpp. Also tried to fix
  the indentation (in the BUS ERROR handler of the Exception function
  at least, since Milan does not want me to reformat the whole file).

  In case of problems the ARAnyM reaction (reboot or halt) is now common
  for both EPS (exception per second) and DBF (double bus fault) and is
  configurable by defining REBOOT_OR_HALT at compile time.
  If REBOOT_OR_HALT == 1 ARAnyM reboots in case of double bus error or
  bus error loop. Else it halts CPU and quits. By default it reboots.

  EPS code now counts both EPS at same PC and also general EPS (regardless
  of the current PC). Runtime configurable limit is for EPS_PC only, so far.
  The general EPS' limit is configurable at compile time by defining
  EPS_LIMIT to a number. Should be made runtime configurable as well.

  The only missing thing is SDL dialog informing about the situation
  and offering more options. See the /* remarks */ in code.

  Bus errors are not printed on console now. The EPS and DBF patches
  should take care of problems and we are not interested in "normal"
  bus errors.

- TODO: updated (some items removed since they were done already)
- AUTHORS: slight update


2003/10/25 - Xavier
- newcpu.cpp: better fix for double bus errors - CPU restarts now
- main.cpp: display correct EmuTOS build date
- configure.ac: caddr_t final solution
- vm_alloc.cpp: caddr_t cleans the #ifdefs out


2003/10/17 - Xavier
- newcpu.cpp: real trap for double bus errors

- configure.ac: allows to "make depend" on Cygwin and correct end message
  of configure script so that user knows he should "make depend" before "make"

- Makefile.in: sed script in "make depend" more readable

- vmalloc.cpp: correct a build error on Cygwin (an mmap we forgot...)


2003/10/14 - patrice
- newcpu.cpp: added exception per second limiter, configurable in .aranymrc


2003/10/06 - milan
- nfcdrom: another cleanup (destructors) 


2003/10/06 - milan
- newcpu.cpp: Exceptions in JIT handled correctly now, grrr.


2003/10/05 - milan
- BasiliskII sync and cleanup, AMD64 as a host (in 32-bit mode)

- nfcdrom.h: some methods are abstract now

- aranym_glue.cpp: support for compiled mainloop in JIT


** ARAnyM 0.8.2beta released

2003/10/04 - Petr
- natfeat/nf_basicset: added OS_TYPE and CPU_TYPE to NF_NAME(1)
- minor TODO update
- Makefile.in: nfcdrom.bos added to install targets
- atari/network/ethernet/README: URL of site about TUN/TAP added
- doc/compiling_for_windows.txt added
- doc/aranym-lilo.txt added
- doc/aranym.1 (man page) - small typo corrected
- include/version.h: increased for 0.8.2beta release


2003/10/04 - Milan
- Bochs sync and cleanup, mainly around CD-ROM support


2003/10/02 - STanda
- Harddisk usage related documentation made up-to-date.
- HOSTFS: cleanup + some new features.
  * Fxattr() now returns the (uint32)MAPVOIDPTO32( fc->index ) instead
    of the host OS' statBuf.st_ino. This is a problem IMO due to that
    the fc->index might change on releaseCookie()/dupCookie(). Proposals?
  * The first fscntl() implementation added.
  * The convertPathA2F() method was removed. This was a legacy code from
    the times when the native implementation had the BetaDOS driver API.
    Now it has the FreeMiNT's XFS API and the BetaDOS' driver API (GEMDOS)
    emulation was stolen from FreeMiNT.
  * The ExtDrive * was added to the XfsCookie and is filled within the
    fetchXFSC() method. This was needed for the cookie2Pathname().
  * xfs_symlink() improved - still not perfect
  * open() modeMint2Host conversion introduced (for the case the stat.h
    is incompatible - not very likely)


2003/09/30 - patrice
- Natfeat CD-ROM driver splitted to ease port to other OS.


2003/09/29 - milan
- Makefile.in: APP_LIB added (hmmm, sorry, diploma thesis, thanks Francois and
  Stefan :-)


2003/09/25 - milan
- configure.ac: OS_TYPE and CPU_TYPE for future natfeat exported to sources

- hostfs.cpp: debuginfo blocked for CVS


2003/09/23 - patrice
- Audio CD players should work now. And data CD-ROMs can be read using any
 iso9660 dos Atari driver.


2003/09/21 - patrice
- Added NF CD-ROM BOS driver. Very simple Atari CD player programs work, but
  some ioctls are still not implemented correctly, and for the moment not
  usable for iso9660 fs access, and only for Linux.
  

2003/09/15 - STanda
- --enable-realstop added to the configure options (default=yes and implies
  the --enable-spcflags-excl option). The STOP condition wait and locking
  was integrated properly to the uae_cpu core.


2003/09/15 - STanda & !Petr
- STOP instruction emulation greatly improved. usleep() was replaced with
  SDL_CondWait() - better portable and what's more important - fixing
  jerky mouse movement under new FreeMiNT, fVDI and EmuTOS!


2003/09/10 - Petr (commiting patches submitted by Guy Harrison, thanks!)

- Makefile.in: fixes possible conflicts between aranym headers and system ones

- autogen.sh: shouldn't 'make depend' unless it configures...


2003/09/05 - Petr
- blitter.cpp, mfp.cpp, rtc.cpp: rid of compiler warning "comparing unsigned
  variable with signed value"

- various files: rid of compiler warning "unused parameter"


2003/09/03 - milan
- CPU flight recorder from BasiliskII ported and SR support added

- ndebug compilation warnings fixed


2003/08/29 - milan
- some compiler warnings solved

- more warnings support with GCC

- inline warnings not showed now

- MONITOR0-9 Emulops for JIT modified


2003/08/15 - milan
- new CPUDEBUG emulops, switches for new internal variable cpu_debugging,
  for CPU debugging

- make dependencies corrected

- gencomp.c: compilation warning cleaned

- md5.h -> aramd5.h : thanks, Guy Harrison

- vm_alloc.cpp: Cygwin workaround, thanks, Xavier Joubert


2003/08/06 - milan
- mingw support cleaned (added to sysdeps.h)


2003/08/05 - milan
- autogen.sh, configure.ac: cleaning, free patch from Guy Harrison for MAKE,
                            xeys problem solved

- configure.ac, lilo.cpp: zlib & lilo support standardized
                          nightmare -> bobek transfer

- Makefile.in: make depend for linux corrected


2003/07/28 - Petr
- natfeat/xhdi.cpp: XHInqTarget2 implemented. Also some little cleanup
  (error codes replaced with symbolic names)

- parameters.[cpp,h]: added floppy status ('inserted'). Floppy path correctly
  initialized

- version.h: version increased to 0.8.1 CVS

- SDL GUI: MAX_FILENAME_LENGTH defined in file.h

- newcpu.cpp: exceptions (bombs) are displayed again (dunno who and why
  disabled it)

- parameters.cpp: printing of version at startup is in main_unix.cpp


2003/07/18 - Petr
 My little cleanups:
- #ifdef OS_mingw cleaned up. Created a new Unix/mingw_include.h file that
  should be included to a generally available include file (config.h?)
  if the host OS is mingw.

- SDL locks moved from newcpu.cpp to aranym_glue.cpp (let's keep the borrowed
  modules as clean as possible).

- emul_op.cpp: activate_debugger() on 0x71ff disabled as it was crashing
  whole emulation.


2003/07/17 - Petr
- src/natfeat/hostfs.cpp: converPathA2F() tried to strip a drive letter
  from base path. Xavier debugged this and patched it to not remove
  the drive letter since it's the HostFS path (and drive letter on Windows
  is important).


2003/07/16 - Petr
- src/natfeat/hostfs: a small workaround for a bug in Cygwin's GCC allows
  extending the path buffers back to 2048 chars (thanks to Xavier)


2003/07/13 - Petr
- configure.ac: ARANYMHOME quotation mark encapsulation fixed for cygwin
  (thanks to Xavier)

- updated TODO


2003/07/11 - milan
- nice night - some stupid bugs in JIT compiler corrected:
  - compiler_dumpstate() with no previous compilation
  - not ended NEG in sigsegv handler
  - etc. (sorry, it is too late)

- Makefile.in: define -D_REENTRANT -D_THREAD_SAFE

- ata.cpp: CD-ROM product ID corrected for little endian


2003/06/26
- ARANYM_0_8_0_BRANCH merged to main and tagged as _ABANDONED.
  The merge brought just minor JIT and HostFS fixes (see 2003/04/1[25])


2003/06/12 - milan
- configure.ac: ECE support corrected


2003/06/11 - milan
- emul_op.cpp: better OP_MONX


2003/06/10 - milan
- emul_op: new instruction 0x71ff (OP_DEBUGGER) starts debugger if available
           new instructions 0x71fX (OP_MONX) display CPU registers


2003/06/01 - milan
- configure.ac, Makefile.in: MacOS X support updated (thanks, Stefan Kuhr)

- "SDL/" removed from includes, path to SDL headers must be fully defined

- sync with BasiliskII


2003/05/27 - milan
- configure.ac: MacOS X support rewritten (thanks, Stefan Kuhr)


2003/05/26 - milan
- configure.ac, fpu_ieee.cpp: Sparc problem solved, see "2003/04/23 - milan"
  and GCC bugs #8300 and #9763


2003/05/01 - patrice
- minimal ncr5380 scsi emulation to allow Linux boot. Maybe TOS harddisk drivers
  also do not hang anymore: need testing.
- lilo: ramdisk copied to FastRAM, so it is not written over when kernel boots.


2003/04/28 - patrice
- midi: Added option to output bytes sent to MIDI interface in a file.
- lilo: Bugfix, thanks to midi output.


2003/04/25 - patrice
- cfgopts modified so the value given can contain the '=' sign.
  Added Lilo to Aranym: you can boot a Linux/m68k kernel with it.
  MMU support required (and debugged!) for this option.


2003/04/23 - milan
- configure.ac: on Sparc with GCC 3.x use older FPU (UAE), GCC bug workaround

- Makefile.in,configure.ac: small update


2003/04/22 - johan
- fvdidrv.cpp: Reverse transparent mode for vrt_cpyfm corrected.


2003/04/16 - patrice
- Corrected inclusion of SDL headers.
  Removed useless glut library linking.


2003/04/15 - STanda
- hostfs:
  * constant usage cleanup.
  * xfs_creat()/xfs_dev_open() issues fixed (gunzip works properly now)
  * xfs_native_init() improved to be able to handle both the 1.15.x
    and 1.16 (new Dcntl() feature) - reacts on the 0-31 devnums when
    appropriate.


2003/04/12 - Petr
- compemu_support.cpp: unnecessary fopen("/dev/zero", O_RDWR) removed.
  This allows running aranym-jit on ARAnyM Demo CD (Knoppix based).


** ARAnyM 0.8.0beta3 released

2003/04/10 - Petr
- parameters.cpp: addFilename() has a different order of arguments
  and is able to deal with additional path separators

- cygwin support hopefully perfect now (uses registry to find out the path
  to "My Documents" folder which is used instead of the Unix-ish $HOME).

- hostfs.cpp: char a[2048] - local arrays for filenames now defined with
  MAXPATHNAME2LEN (MAXPATHNAMELEN was already used and I wasn't sure if
  it can be used in the other cases as well).

- !IMPORTANT! With MAXPATHNAME2LEN set to 2048 gcc 3.2 created incorrect
  code on cygwin. Thus both MAXPATHNAME[2]LEN were set to 255 for now.
  I realize it's dangerously low value but if we are suffering from
  stack overwrites we need to go low and re-check all issues again.
  Note that this fixes the wrong mapping of host folders under Cygwin..


2003/04/09 - Petr
- parameters.cpp: do not include emu_bochs.h - this breaks some platforms.

- tools_cygwin.cpp: Xavier submits a routine for reading the registry


2003/04/08 - Petr
- hostfs.cpp: fixed very annoying bug that was causing bus error when opening
  root of a host drive.

- parameters_cygwin: fixed a bunch of small bugs, now tested and works OK.


2003/04/08 - patrice
- Document autozoom in the [VIDEL] section, and [OPENGL] section, in
  documentation.txt and aranymrc.example


** ARAnyM 0.8.0beta2 released

2003/04/08 - Petr
- cfgopts: Thomas correctly suggested to use memmove() for overlapping
  blocks of memory.

- changes made between ARANYM_0_8_0BETA1 and 0_8_0_BETA2 merged to main.


2003/04/07 - patrice
- Preliminary support for mingw compilation suite.


2003/04/07 - STanda
- hostfs.cpp: General debug messages cleanup.
    The st2flags() and flags2st() methods fixed (a need for open()).
    The isPathValid() method removed (was only useful for aranymfs.dos).
    Dpathconf(8-9) added and 7 fixed (Thing has a bug in 1.27 here IIRC).


2003/04/07 - Petr
- configure.ac: parameters.cpp and its children updated. Should be ready
  for adding more cygwin specific functions.


2003/04/06 - Petr
- parameters.cpp: '-S' handling corrected. Small cleanup in getopt()..

- natfeat/ethernet.cpp: back to execp(), now starting of 'aratapif'
  works OK thanks to use of _exit().

- parameters.cpp: cleanup in getConf/DataFilename(). Now uses 'callbacks'
  for obtaining the folder path. These callbacks are defined for Unix
  and for Cygwin so far (Cygwin needs a different handling). Hacks 
  with "--datadir=/" removed completely. Thanks to Xavier for the Win32
  related information and ideas.

- Unix/cygwin: new folder with tools_cygwin.cpp and parameters_cygwin.cpp.
  The Makefile.in was not updated yet.. Trying to find a more flexible
  way than copying things from parameters_unix to parameters_linux...


2003/04/03 - STanda
- hostfs.*: general clean up

- tools.*: The 32bit <-> host mapping for systems with non 32bit
  void* and int. Several other functions were moved to the tools.h.


2003/04/01 - Petr & Honza/ATACK
- main_unix.cpp: segfault on gentoo (where the argv[0] does not contain
  the path (only filename)).

- natfeat/ethernet.cpp: missing ethX definition in DEBUG() statement


2003/03/30 - Petr
- cygwin gets its own folder with a tools.cpp file.

- sdlgui.cpp really needs the explicit conversion of the path. Xavier was
  right, after all.


2003/03/29 - milan
- Petr's version capabilities implemented

- infoprint as cname for panicbug, sorry Petr

- man page from debian added


2003/03/28 - STanda & Petr
- natfeat/hostfs.cpp: DIRSEPARATOR used wherever possible. Might fix HostFS
  on Windows.

- parameters.cpp: DATADIR can't be relative so now it checks for "//"
  (configure --datadir="/") and then ARAnyM uses the path to the binary
  as the DATADIR path (fixed later the same day)


2003/03/27 - Petr
- parameters.cpp: correction and clarification of "-d" command line switch

- input.cpp: a key for generating screenshots changed to "PrintScreen"
  (the Alt+PrintScreen collided with Linux kernel hacking SysRq combination)

- [ARANYMFS] config file block header changed to [HOSTFS]. The [ARANYMFS]
  is still read in case [HOSTFS] is not found in the config file. But in near
  future ARAnyM will stop reading the old [ARANYMFS]. Updating your config
  file automatically is as easy as starting aranym with -s. After that you
  may just remove the [ARANYMFS] block from your config file.

- user-specific files ("config", "nvram") are stored in subfolder ".aranym"
  in the $HOME folder. If $HOME is not defined, $USERPROFILE is used instead
  (Windows 2000). If neither $HOME nor $USERPROFILE is defined then the path
  to the ARAnyM binary is used.

- system-wide data files ("ROM", "etos512k.img", "font8.bmp") are stored
  in subfolder "aranym" in the "/usr/local/share" folder (by default). This
  folder can be changed in configure by --datadir=<path>. If this folder
  is defined as 1 char long path ("." for the actual folder) or is empty
  then ARAnyM tries to use the path to the ARAnyM binary instead.

- DIR_SEPARATOR renamed to DIRSEPARATOR and corrected (it's been already
  used in several places).


2003/03/27 - milan
- configure.ac: DIR_SEPARATOR added.

2003/03/26 - milan
- JIT games, sync with BailiskII


2003/03/24 - milan
- Solaris support updated

- one paranoia "volatile" fix in CPU


** ARAnyM 0.8.0beta1 released

2003/03/24 - Petr
- aranym.xfs renamed to hostfs.xfs

- new binary drivers (hostfs.dos, hostfs.xfs, aranym.xif, nfeth-config)
  added to CVS.

- Makefile.in: installs new hostfs (instead of old aranymfs) and also
  new aranym.xif plus utilities.

- aranym.spec: updated for new release, install new files.

- doc/documentation.txt: slight update (regarding BetaDOS only)


2003/03/23 - Petr
- nfeth-config.sh: added, calls araethip and shows how easy is to configure
  the device automagically.

- araether.c: AUTO_IP_CONFIGURE (automatical internal configuration of
  eth addr and netmask) added but is not working well, thus disabled by
  default. Also the DEBUG(()) system doesn't seem to work so I wrote
  mine for the ioctl() - can be enabled by defining MY_DEBUG.

- renamed things: "araeth*" -> "ethernet", "araethip" -> "nfeth-config"

- atari/hostfs/README, atari/network/ethernet/README: updated

- 'aratapif' started by 'execv()' from the same folder where aranym was
  started from. Also a couple of checks for file owner and setuid bit
  added so users get warnings if chown/chmod was not applied to aratapif.

- version.h updated to 0.8.0beta1

- configure.ac, Makefile.in: renamed "pif" to "ifc" and "arapif" to "tapif"

- TODO, BUGS, INSTALL, NEWS, README and other files updated.


2003/03/22 - Petr
- [ETH0] settings in the config file

- aranym_xfs.c: ifdef'ed one debug print

- araethip.c: improved and adapted for possible many eth devices


2003/03/21 - Petr
- networking: NF API extended to allow emulating more than 1 network card

- aranym.xif: added SIOCGIF modes to autoconfigure the device with its IP
  and netmask.

- natfeat/ethernet.cpp: initialization corrected. The XIF should not install
  on atari side unless the host initialization was finished OK.


2003/03/20 - STanda
- hostfs.cpp: mapping improved.

- .DOS/.XFS:  .xfs works now just like the MetaDOS's driver
  it maps all the drives under the same driver letters.
  It goes through the [aranymfs] for the mapping.
  After a conversation with Frank Naumann I conclude that
  the M(B)etaDOS/ExtenDOS would not work with the 1.16 FreeMiNT
  kernel line. So do not use the .dos driver there as the
  very same thing is provided by the .xfs there now.
  The configuration stays the same.

- aranym_xfs.c: the source can be swithed to use the Dcntl()
  to map the drives, but in that case you can't get the single
  letter mountpoints.


2003/03/19 - STanda
- hostfs.cpp: the metados hostfs.dos driver simply sets the mapping the
  same way as aranymfs.dos. No change for the user.
  NOTE: Do not use aranymfs.dos driver. It doesn't work under
  FreeMiNT 1.16 kernel

- aranym.xfs: now mounts the [aranymfs] mountpoints to U:/GG
  (need to develop a hack to map that to U:\G only /single letter mount
   point) - not via Dcntl() which looks in BIOS in this case)


2003/03/18 - milan
- P4 fix for JIT compiler

- sync with BasiliskII


2003/03/17 - milan
- FPU updated, preparation for K8


2003/03/17 - STanda
- hostfs.cpp: the chattr/chmod functions ported from STonX. Not tested.
  It just compiles ATM.


2003/03/16 - Petr
- natfeat/doc/native.txt updated (used Laurent's latest version without
  the NF_CONTROL stuff and with corrected unsigned long ID).

- TODO updated

- natfeat/ethernet.cpp, atari/network/araeth/araether.c: subIDs are now
  defined in a separate header file named araether_nfapi.h. This should
  make the connection between host side and atari side of the natfeat
  clearly visible.

- natfeat/ethernet.cpp: getting of IP addresses added. Used in a separate
  program called 'araethip'. Version of the arether_nfapi must have been
  increased so update your aranym.xif binary.

- atari/network/araeth/getparams/araethip.c added. Can be run from MiNT's
  rc.net to call the ifconfig and route with proper IP addresses.

- atari/network/araeth/README: updated with info about 'aratapif' and
  the tunnel device - simply about getting the whole thing working.
  'araethip' is not covered yet in this README.


2003/03/15 - Petr
- major rewrite of the aratapif (ARAnyM TAP IFconfig) and related
  updates in natfeat/ethernet.cpp. Now it actually works!


2003/03/14 - Petr
- dsp_cpu.cpp, araifc/inet.c: small fixes to remove GCC warnings


2003/03/13 - milan
- IDE: sync with bochs, BeOS, Cygwin, Darwin

- araifc integration


2003/03/12 - STanda
- hostfs.cpp: fake methods for chattr, chmode, chown and some more.
  The report the fakeness to the host OS console in debug mode ATM.

- araifc (ARAnyM ifconfig implementation for tuntap)


2003/03/12 - milan
- list of supported OS updated

- Makefile.in: diskimage cleaning 


2003/03/11 - STanda
- aratapif: made working even in nondebug mode. The exec() arguments
  needs to be put into the child process adress space to be able to
  execute any binary.

- BetaDOS 3.12: works correctly with the hostfs.dos driver here it
  seems. Please test the driver throughly. It gives you the long names
  also under FreeMiNT (unlike the aranymfs.dos which does not work
  at all in my 1.16 setup - it does in 1.15.12 however)


2003/03/07 - Petr
- aranym.spec: paths to share/aranym had to be corrected (though I'd say
  they were OK previously and that our Makefile install: is wrong)


2003/03/06 - Petr
- external configuration tool for the setting up the tap0 device


2003/03/05 - STanda
- small fix in hostfs/metados/main.c


2003/03/04 - Petr
- ata.[cpp|h], parameters.[cpp|h] cleaned up:  obsolete disk_options_t
  and cdrom_options_t structures removed. Everything is stored in the
  atadevice_options_t now. Nice bonus is the possibility of naming the IDE
  device with new config option "ModelName" (string, up to 40 characters).


2003/03/02 - Petr
- natfeat/atari_example_gfa.lst: example for GFA Basic programmers
- natfeat/atari_example.c: updated for Ssystem() call


2003/03/01 - Petr
- parameters.[cpp|h]: single partition devices under the SCSI nickname
  need the partition ID to be configurable

- natfeat/nf_base.cpp: added, contains Atari<->Host memcpy and strcpy
  functions (taken from hostfs.cpp).

- hostfs: major NF API clean up. Versioning added. HOSTFS is Supervisor
  only now. Also the mount point in MiNT is "U:\hostfs" now.


2003/02/28 - Petr
- natfeat/ethernet.cpp: getHWaddr takes exactly 6 bytes and it's not a string
  so no EOS should be added. Thus strncpy changed to memcpy.


2003/02/27 - Petr
- Ethernet: README of aranym.xif made clearer, IP addresses in ece.cpp
  configurable by #define and the default ATARI IP address changed to
  192.168.0.2 (to prevent users from asking a question why it was .5).

- natfeat/ece.cpp renamed to ethernet.cpp

- NatFeat "ECE" dropped, new NatFeat "ETHERNET" with different API supporting
  also versioning and allows passing the interrupt level and MAC address
  from the host side. Also the ETHERNET NF is Supervisor only (naturally).


2003/02/26 - Petr
- ETHERNET_OLD (the one from Basilisk) removed completely

- Networking now at interrupt level 3 (Audio stays at int level 5)

- parameters.cpp: "--swap-ide" command line switch added (exchanges IDE0
  and IDE1 drives). I find it useful for preparing new disk images..

- parameters.[cpp|h]: get ready for SCSI disks ([DISK0-7]) (single
  partition mounting)


2003/02/26 - STanda & Petr
- natfeat/ece.cpp: after removing hostScreen.lock and one unfortunate D(bug)
  it started working. Wonderful. TODO: change interrupt (probably to INT3).
  Also would be good if root privileges for tuntap weren't necessary.

- "araeth" -> "eth" rename


2003/02/20 - Petr
- videl.cpp: fixed wrong st_shift reset, removed VIDEL regs initialization
  (since EmuTOS now initializes VIDEL properly). Startup color depth
  of host window is 8bit now (should be enough).


2003/02/19 - STanda
- fvdidrv.cpp: the expandArea M->M for bitplanes fixed
  The only TODO for full bitplane support is to support non-word
  aligned blits and expands.
  ... next shift (evening) ... the VDI pen -> TOS colors reduced
  only to proper setting of the palette (see getTosColor() method).


2003/02/18 - STanda
- fvdidrv.cpp: the bitplane modes improved. Up to the 4bit mode
  everything works well. The 8bit mode is on the way. There is still
  some little imperfection there.


2003/02/18 - Petr
- videl.cpp: writing to f_shift resets the st_shift and that fixes
  the color depth detection routine.


2003/02/17 - STanda
- BeOS patches for extfs.cpp and natfeat/hostfs.cpp


2003/02/16 - Petr
- cleanup in src/natfeat - fundamental NF functions grouped in 'basicset'
- cleanup in emulop.cpp - removed everything that has a NF replacement
- cleanup in araobjs.cpp - removed everything that is in src/natfeat as well
- NF_SHUTDOWN added


2003/02/12 - STanda
- tools/createdisk: rewritten into 'sh' syntax and tested on
  Solaris/HPUX/FreeBSD (all due to the clarity of the FreeBSD distribution
  requested) 
  * you can create image of whatever size and pretty fast (we are using
    lseek() there now and so on ext2 you can create and image file bigger
    than your available space ;))
  * You need not to use the mbrdata file if you don't need it. See the usage
    notes for more.
  

2003/02/09 - patrice
- ikbd.cpp: corrected SendMouseMotion() which don't modify the buttons variable
  anymore.

- hostscreen.cpp, parameters.cpp: added 'Filtered' property to [OPENGL] section
  if you want do enable/disable linear filtering for screen rendering.


2003/02/04 - Petr
- input.cpp: fixed a long-standing bug with automatic mouse grab upon
  entering the ARAnyM window. This didn't work correctly when the ARAnyM
  window didn't have input focus.

- ikbd.cpp: there is a bug in the algorithm of compressing the mouse
  packets. I added a simple workaround but in the future this should be
  fixed properly.

- input.cpp: added a warning when the SDL reports weird mouse relative
  motion event. Such event is reset otherwise our mouse would get mad.
  I am wondering why SDL reports such scary values for relative motion..


2003/01/29 - milan
- Makefile.in: corrected, floppy.sh is executable

- memory.h: ISO C++


** ARAnyM 0.7.0 released

2003/01/29 - Petr
- xhdi.cpp: used off_t in fseek hoping that this would make it LFS compatible

- Makefile.in, aranym.spec: three more contrib files added for installation


2003/01/16 - milan
- configure.ac: support for large files (>2GB)
                corrected support for OpenGL


2003/01/15 - STanda

- fVDI: The drawMouse() hot_x/hot_y are stripped to 4 bits.
=       The m68k driver had a bug in the parameter passing for drawMouse()
        so DO NOT FORGET to update your disk images.


2003/01/14 - STanda

- fVDI: The drawMouse() calling fixed for the natfeat dispatch.
  The mouse color should be OK again. And... EmuTOS works with
  fVDI since now.

 
2003/01/12 - Petr

- natfeat/atari_example.c improved (using function pointers now)

- include/version.h improved (automatically appends "CVS_date_"
  to unoficial builds)


2003/01/11 - Petr

- "__NF" cookie fixed - now the structure contains pointers to nfID and
  nfCall.

- src/natfeat/atari_example.c updated - it's now based on the __NF cookie
  only.


2003/01/10 - Petr
- tools/diskimage.c: a tool for creating disk images up to 32 GB large.
  Note that our IDE emulation is limited to 2 GB disks for now. Will be
  fixed soon, hopefully.


2003/01/09 - Petr
- fixed _SND cookie value: now it contains just '4' to indicate that no
  hardware is available except of XBIOS functions. If DSP emulation is
  compiled in and active the _SND cookie contains %00001100 (according
  to recent info in mailing list the 3rd bit means DSP).

- improved the patch of TOS 4.04 again - this time added "__NF" cookie
  (untested yet) and also a nice example of how cool the boot logo may be.

- Didier updated audio driver to use NatFeats when available...


2002/12/29 - Petr
- videl: Sébastien Briais sent a patch that allows virtual screen on VIDEL
  by emulating the 'linewidth' and 'lineoffset' VIDEL registers.

- videl: the 'od_posledni_zmeny' variable translated to English, at last.


2002/12/19 - STanda
- the atari/network/araeth aranym.xif for ECE (ethernet card emulation)
  added. It doesn't work ... see the README there.
  nb: The ether_unix.cpp;emul_op.cpp;include/ether*.h may be removed
      I left them in place until it all actually runs with my
      implementation
- Installation and BUGS section added into the atari/hostfs/README


2002/12/16 - STanda
- several cleanups regarding the extfs and hostfs (main.cpp, nf_objs.cpp)
- STL bugfix in natfeat/hostfs.h (the std namespace usage)


2002/12/14 - johan
- Special handling of 32 bit vro_cpyfm D=S mode (see 2002/09/28).
- Mode handling for screen->screen blits.
- Updated fvdi.prg, aranym.sys and fvdi.sys.


2002/12/10 - STanda
- extfs: interface & debug cleanup
- hostfs: completely new NatFeat driven implementation of the host OS
  filesystem access. The m68k implementation in in atari/hostfs folder.
  Read the README placed there.


2002/11/30 - patrice
- videl: autozoom does not work correctly if target is smaller than source.
- hostscreen: added OpenGL rendering for the Atari screen.


2002/11/09 - milan
- sync with BasiliskII: some obsolete structures removed, support for Opteron


2002/11/06 - Petr
- aranym can be compiled without the DSP emulation again
- ulong in nf_stderr fixed to uint32


2002/11/03 - Petr
- XHDI - returning values corrected


2002/10/29 - Didier & Petr
- found and fixed serious buffer overflow in uae_cpu/readcpu.cpp.
  EMULOP_RETURN (unused), NATFEAT_ID and NATFEAT_CALL should behave
  better now.


2002/10/28 - Petr
- NF_STDERR added to NatFeats

- NF_VERSION corrected (should display version of NatFeat API, not version
  of aranym)

- new cmdline option "-e" (--emutos) enforces EmuTOS boot.


2002/10/22 - johan
- fVDI driver NatFeat support added.


2002/10/20 - Petr (version 0.6.8-beta)
- NatFeat instruction opcodes changed back to good old $7300/$7301.
  The LineF interface requires the $fe0x instructions to be long words
  and I am not ready to accept such change of NatFeat calling convention.


2002/10/19 - Petr (version 0.6.7-beta2 - NatFeat opcode change!)
- GFA Basic "fix" - it writes 0x16 to IKBD and then waits for a joystick
  packet in an endless loop. So we are sending a Petr packet now.

- NatFeat instruction codes changed to unused LineF ones: $fe00 and $fe01.
  Hope that this will make all future ColdFire CPU users happy ;-)

- cosmetic changes (aranym prints its version and compile date on startup)

- new "readonly" parameter to [IDE] config replaces the "xhdiWrite" but works
  generally - i.e. allows opening disk images on CD-ROMs (suitable for our
  aranym CD)

- CD-ROM in GUI features [Insert] / [Eject] button now


2002/10/15 - milan
- Mac OS X: keyboard scancode workaround

- non-cheaders support (for MipsPro C/C++ compiler)

- cleanups in classes MFP_timer, ndebug, in macros around ADDRESSING modes
  etc.

- FAQ: changes around disks


2002/10/14 - milan
- configure & etc.: generic bool, volatile and inline handling


2002/10/13 - Petr
- fixed CDROM mount/unmount support
- fixed FastRAM max size check on Linux with real addressing and no JIT
- added CD-ROM automount (like on real Atari :-)


2002/10/13 - milan
- sync with BasiliskII CVS

- JIT compiler: NOP filler based on binutils (default)
                Gwenole added some checks

- Mac OS X: some small corrections

- xBSD: sigsegv handler setting for JIT compiler corrected


2002/10/12 - milan
- sync with BasiliskII CVS

- JIT compiler: tune_alignment as configuration feature (TuneAlignment)
                new management of blockinfos

- cpuotpi "disabled" - not used now, needs reimplementig

- IDE: sync with Bochs CVS (only some small corrections in debug messages,
  result data of the ATAPI command 'inquiry' fixed, added multiple cdrom
  support for win32 - still not used)

- dialog.cpp: enabled Discs, the 1st CDROM driver mount/unmount


** ARAnyM 0.6.6 released

2002/10/10 - patrice  (version 0.6.6-beta)
- dsp: dsp nothread code removed.
- configure: DSP is enabled by default now


2002/10/09 - milan
- sigsegv_linux.cpp: x86 F6 instructions was badly decoded. NOT8, NEG8, IDIV8,
                     MUL8, IMUL8 implemented, TEST8 corrected

2002/10/08 - Petr (version 0.6.5-beta)
- the major arch change in version 0.6.0 has been reverted. CPU is running
  in the main thread again. SDL_Timer thread is back on all platforms but
  it's not doing anything but setting up a CPU flag that is being checked
  in CPU inner loop, in do_specialties().

  Advantages:
  - all SDL activity is in the main thread automagically
  - should fix all the troubles with non-Linux host operating systems

 TODO:
 - check if the overall performance of ARAnyM is not worse than before
 - make sure the keyboard is checked under all circumstances (STOP insn,
   CPU crash, deep JIT loop, ...?) so we won't lose the control over aranym.


2002/10/03 - milan
- ndebug supports breakpoints


2002/10/02 - milan
- add raw_cmp_b_mi() and raw_call_m_indexed() for generated, not used now,
  BasiliskII used translated main loop now, ARAnyM not - it's main loop is
  more complicated

- x86 calls in loops removed as in BasiliskII but for another reason, not
  enough stable for newer versions of compilers, in some cases slower

- for OpenBSD dirent.h again in sysdeps.h

- preversion of JIT compiler support for OpenBSD/i386, later I will enable
  it also for NetBSD/i38 and FreeBSD/i386


2002/10/01 - patrice
- ikbd: Joystick support bugfixed.


2002/10/01 - milan
- use off_t for file offsets in IDE emulation (from Bochs), sync with Bochs

- for SGI/Irix SystemV opendir used

- for Solaris dirent.h again in sysdeps.h


2002/09/30 - milan
- v&V commands added to ndebug, (<address>) vs. <value> operations

- typo fix in configure.ac script


2002/09/28 - Petr (version 0.6.4-beta)
- XHDI writing to disk fixed. Previously it was appending the new records
  at the end of the disk image file so it did not destroy any data but
  made the disk image larger. Now it's fixed and rewrites real data in the
  disk image so make sure you have 'XhdiWrite' set to 'No' in your aranym
  config file if you want to preserve your data intact.


2002/09/28 - Petr (version 0.6.3-beta)
- fixed #ifdef NEED_TO_DEBUG_BADLY code

- BUS ERROR loops are detected and back trace is displayed (the latter only
  if fullhistory was enabled at compile time)

- display better info when exception occurs (NPC = new PC = the exception
  handler address, SP = stack pointer)

- irritating bus error loops that occur when 68000-only application tries to
  catch bus error by its own (PureC IDE) should be fixed now.


2002/09/28 - johan (version 0.6.2-beta)
- Special handling of vro_cpyfm D=S mode for performance improvement.
  No loop unrolling yet, and only implemented for 16 bit mode.


2002/09/27 - patrice
- acia, ikbd, midi emulation updated. Preliminary joystick support (emulated
  joystick 0 on IKBD).


2002/09/25 - milan
- sync with bochs (4 internal ATA channels)


2002/09/24 - milan
- sync with BasiliskII (cleanups, jumps align corrected)


2002/09/24 - patrice (version 0.6.1-beta)
- videl: bugfixes, Atari screen centered on host screen, autozoom feature
  added (with and without integer coefficients).


2002/09/23 - patrice
- hostscreen: modified to select the nearest best video mode.
- videl: modified to render from any bpp to any bpp, using any screen pitch.


2002/09/20 - patrice
- DSP: bit-reversed addressing fixed, host port transfer when threaded fixed
       use of C++ constructor/destructor for the DSP class.


2002/09/15 - Petr (version 0.6.0-alpha)
- major architectural change: SDL_Timer stuff removed, #define USE_TIMERS
  removed. Now CPU emulation runs in a separate SDL thread and the main thread
  just loops (waits for 10ms, executes 'invoke200HzInterrupt' and loops back).

  Advantages:
  - VIDEL screen redraw runs in the main SDL thread - that should make 
    many host operating systems happier (please report)
  - immediate reaction to hotkeys (Quit, GUI etc)
  - same (or even higher) speed as previously (82 kdhrystones on XP 1G7+)

  TODO: everything that makes use of SDL functions should be moved to the
  main thread. This includes fVDI (actually hostscreen) and GUI. The GUI
  could probably simply replace the current main_loop. With fVDI the problem
  is more complicated. We will probably have to send all fVDI actions
  from the CPU thread to the main thread using some sort of IPC.


2002/09/12 - Petr (version 0.5.0-beta)
- TOS was not ready for large 68040 caches that are provided by JIT compiler.
  I added a few missing 68040 cache patches that were developed by Douglas
  originally.
- version increased to 0.5.0-beta1 (version 0.4.0 was for working DSP and
  0.3.0 for JIT CPU)


2002/09/12 - milan
- sigsegv_linux.cpp: set_eflags()

- cpuopti.c, compemu_support.cpp: workaround for gcc 3.x

- tools/memory.h.patch: for a bit better access to HW space for JIT compiler,
                        unofficial!


2002/09/10 - milan
- autoconf 2.53+ needed now

- ndebug.cpp, newcpu.cpp: ISO C++ forbids assignment of arrays, so Patrice's
                          patch completed


2002/09/07 - Petr (commiting for milan)
- newcpu.cpp - flush_icache(0) is required otherwise JIT does not work


2002/09/05 - milan
- DIV8, TEST8 implemented (not tested)
- AND8, OR8, ORIMM8 now handle flags


2002/09/01 - milan
- some small (not tested) corrections in FPU emulation code (UAE&i386 versions)


2002/08/28 - patrice
- DSP: host port read not working with thread, fixed


2002/08/27 - patrice
- Thread support for DSP bugfixed.


2002/08/26 - Petr
- JIT (actually sigsegv handler) fixed again, better this time.


2002/08/26 - patrice
- DSP emulation can be run in its own thread.


2002/08/26 - milan
- sigsegv_linux.cpp: CMP8 much better

- hardware.cpp: in_handler handled in all HW_SIGSEGV configurations

- ata.cpp, ide.cpp: real 32-bit access, word swap added for I/O operations,
                    io write to 0xf00005 handled (error register)

- uae_cpu/newcpu.cpp: jump table for distributed dispatcher generated
                      corretcly on little endian platforms now


2002/08/13 - Petr
- NF_Name() now returns the number of characters (excluding the trailing '\0')
  which would have been written to the final string if enough space had been
  available.


2002/08/12 - Petr
- nf_call changed to return a signed 32-bit number (type 'long' in C lang.)
- nf_call for invalid NatFeat ID returns an undefined value now.


2002/08/11 - Petr
- NatFeats now keep their name and SupervisorRequired flag with them.

- NatFeats main dispatcher now checks for user/supervisor mode and throws
  privilege instruction exception if appropriate.

- NatFeats main dispatcher does not copy parameters to local array. NatFeats
  themselves fetch the parameters with getParameter() call.

- final renaming: "natfea" -> "natfeat", "_rcall" -> "_call"

- various doc bits found in mailing list stored in src/natfeat/doc folder.
  It's partially obsolete but I tried to update at least the native.txt.

- example of running some basic NatFeats for (not only) PureC stored
  in src/natfeat/atari_example.c


2002/08/08 - patrice
- DSP: CCR-related stuff written, some bugfixes.


2002/08/05 - Petr
- NATFEA_ID and NATFEA_RCALL can now be used in User mode as well. Supervisor
  mode is not required. NatFeats themselves have to throw illegal instruction
  exception if they require Supervisor mode and are called from User mode.

- little clean up in the NatFeats dispatcher. It now detects wrong address
  and throws proper BUS ERROR.


2002/08/04 - Petr (version 0.3.0b1)
- Native Features implemented. The CPU recognizes two new instructions:
  NATFEA_ID (opcode $7300) and
  NATFEA_RCALL (opcode $7301).
  These instructions are privileged (can be executed in supervisor mode only).

- Two new basic NatFeats (Native Features) implemented:
  "NF_NAME" returns the name of "emulator" in a given string buffer.
  "NF_VERSION" returns the version of "emulator" encoded in long hex number.

- XHDI was adapted for NF "XHDI" (still callable also via old EmulOp but
  that's deprecated and will be removed before release).


2002/08/03 - johan
- Native part of fVDI driver updated to work with new API (dependencies
  on internal fVDI structures removed, parameters passed on the stack).
- Some internal fixes and cleanups in the native part of the driver.
- New binaries for both the fVDI engine and the m68k part of the driver
  are needed, and are also checked in.
  

2002/08/02 - Petr
- EmuTOS loading fixed again - it can be any (>0) size now.
- EmuTOS loading routine display the date when the EmuTOS was built.
- XHDI support moved to separate xhdi.[ch] file and XHDIDriver class.
  XHReadWrite() implemented. Old DMAread EmulOp is deprecated now.
- XHReadWrite() writes to disk only if XdhiWrite switch in config file.
- nearly all compile time warnings removed!


2002/08/01 - Petr
- EmuTOS image size can be either 256 or 512 kB long
- two serious bugs in linux sigsegv handler fixed: OR and MOV. There are
  more bugs in the ia32 emulated routine, unfortunately. JIT won't work
  until all of them get fixed.


2002/07/31 - patrice
- DSP emulator: Many bugs fixed (end of dsp_*.cpp files for complete changes)


2002/07/31 - Petr
- bug in fresh IDE emulation code fixed (thanks Johan and Standa)


2002/07/26 - patrice
- dsp_cpu.cpp: lua operation and read_memory fixed
- dsp_disasm.cpp: Added missing '\n' in disasm output


2002/07/23 - patrice
- ndebug.cpp: Make it gcc-3 friendly.
- dsp.cpp: Added mu-law table generator
- dsp_disasm.cpp: Changed all output from D(bug()) to fprintf()
- yamaha.cpp, dsp_cpu.cpp: Removed useless #include "config.h"


2002/07/23 - milan
- support for cdrom under MacOS X ported from Bochs, not tested yet
- updated IDE emulation, some error states detected more correctly now


** ARAnyM 0.2.0 released

2002/07/20 - Petr
- saving/restoring screen background under SDL GUI fixed

- SDL GUI now survives resolution change without a crash but the dialog
  is not redrawn correctly yet.

- hostScreen::update() now always update the mainSurface (the physical one).
  Updating the logical (when GUI is opened the background) surface is IMHO
  not required and it also caused problems when updating the screen upon
  GUI closing.

- OS loading changed: first TOS 4.04 is tried and if fails then EmuTOS
  is tried. If even that fails (which should not since we include EmuTOS
  in ARAnyM binary distribution now) then a warning and an advice for 
  obtaining the EmuTOS is displayed.

- the window mover now displays an advice for pressing the Pause key
  for opening the GUI.


2002/07/20 - patrice
- Dsp: more bugfixes, see end of dsp_[cpu|disasm].cpp file for complete
  changelog


2002/07/19 - Petr
- SDL GUI now stores background to another (cloned) surface. Also fVDI
  does not draw into the physical video surface when GUI is visible.

- GUI Reset option works.

- if GUI font8.bmp is not loaded the GUI is not accessible


2002/07/18 - Petr
- DSP host code is disabled when DSP_EMULATION is not defined. This was
  required to get Alt+Ctrl+Del warm boot working again (there must be a bug
  in current DSP emulation).

- trying to enforce releasing the Alt+Ctrl keys after Alt+Ctrl+Esc combo
  that causes ARAnyM to drop the mouse/keyboard exclusive control.


2002/07/16 - Petr
- fixed pretty scary bug in yamaha.cpp. As a direct result PARCP started 
  working reliably.


2002/07/16 - milan
- hguide.txt: updated, added section 9 (Checking memory boundary)

- hwsp possibility of checking memory boundary corrected

- linux_sigsegv.cpp: Added support for MOVSX8, MOVZX8, OR8, MOV8


2002/07/16 - patrice
- Host port reworked. More bugfixes and completion of the emulator.
  DspDebug can be started, it finds the DSP.


2002/07/15 - milan
- main.cpp: SDL_Delay on exit increased (for slower machines)

- sigsegv_linux.cpp, memory.h, fakeio.cpp: extended sigsegv handler upgraded


2002/07/10 - patrice
- I finished nearly all intructions. I also added a disassembler
  (disabled by default but you can enable it with --enable-dspdisasm)


2002/07/09 - Petr
- DSP integrated properly in the autoconfig system. By default it's disabled
  but you can enable it with --enable-dsp in configure phase.


2002/07/08 - patrice
- DSP 56001 emulation started. It is not finished, but I think it has
  a good shape. I wanted to do this because I would like to be able
  to run DSP development tools under Aranym, to assemble DSP programs.
  I used the Motorola DSP56000UM/AD book as documentation.
  Consider this as v0.000000001 stuff (unstable, bugged, incomplete).


2002/07/03 - milan
- JIT compiler: some minor corrections in JIT

- sigsegv_linux.cpp, memory.h: new memory access for x86/linux added
    - without direct check of memory boundary (extended sigsegv handler)


2002/07/01 - STanda
- The filename -> 8.3 format transformation adjusted. Now it should handle
  also the filenames ending with a dot (.). These should be appended with
  a hash code as an extension.


2002/06/26 - Petr
- SDL GUI integrated properly: it is now running in its own SDL thread
  so it's able to run in parallel with Atari emulation. The input events
  are still fetched in the Timer thread and are passed to the GUI thread
  via a couple of global variables (should be reworked to a FIFO buffer).
  Still needs to fix the screen double buffering...
  A whole set of dialogs should be designed for ARAnyM now (see dialog.cpp).

- TOS loading routine now requires the original TOS 4.04 only - the other
  patched flavors of TOS 4.04 are not accepted since now on. The prepatched
  versions made it harder for us to add or remove various patches. Thus
  we won't support them.

- romdiff.cpp does not patch out the RESET instruction anymore. It was patched
  out on Afterburner040 because that machine didn't really like the RESET.
  ARAnyM handles reset gracefully so there's no reason to patch it out.

- aranym_glue.cpp: added hardware initialization on the RESET instruction.
  So far only IKBD is initialized (as there were problems with IKBD after
  reset).


2002/06/24 - Petr
- do_get_real_addr() replaced with Atari2HostAddr() in fdc.cpp and audio.cpp
- ExitAll()/QuitEmulator() reworked to allow clean exit from debugger even on
  slow machines (the timer thread must be stopped first before the Atari
  memory is released).


2002/06/24 - STanda
- fvdidrv.*, videl.*, extfs.* cleanup. The memptr usage introduced. There
  should be no (or at least less) problems with the ia64 compilation.


2002/06/09 - Petr
- SDL GUI restores original background (see hostScreen.save_bkg/restore_bkg)
- SDL GUI "Quit" works


2002/06/07 - Petr
- ScrollLock switches between fullscreen and windowed mode
- in window mode you'll get a 'heart beat' - an activity indicator
- SDL GUI is enabled by default now (can be disabled with --disable-gui)
  press Pause key to invoke it.


2002/05/27 - milan
- vm_alloc.*: the lastest changes discarded, problems during configure

- newcpu.cpp: SDL_mutex for exclusive spcflags handling initialised


2002/05/24 - Petr
- as suggested by Heiko I added a complete locking to the virtual IKBD queue.
  Let's see if it works OK or if the mouse/keyboard is not working properly.


2002/05/22 - STanda
- The aranymfs atari sources updated. The MetaDOS part was converted
  into the gcc compilable code (Makefile created) and the mint .XFS
  source was added.
  The binaries (.bz2 packed) was updated with the newly compiled files.
  You might want to try them to test whether they work as the previous
  ones.
- atari/fvdi/utility/fvdicout: The Ptermres should be now filled with
  a correct value IMHO. 


2002/05/20 - Heiko Achilles
- when a mouse movement package is fetched from the ACIA/IKBD buffer this
  patch puts all movements of the same type, which are currently in the
  buffer, into one. So the fetching is quicker and there's no noticeable
  mouse delay anymore.
  TODO: replace bool inGet with proper semaphores


2002/05/14 - milan
- vm_alloc.cpp: better structure, not own OS dependent includes

- main.cpp, main_unix.cpp, aranym_glue.cpp, cpu_emulation.h:
    some debug outputs added for JIT compiler
    a small reform in memory allocation
    one stupid bug (of course, I'm the author) found in QuitEmulator
    (vm_release(nil))

- JIT compiler: one debug output added for segfault handler of JIT compiler


2002/05/12 - milan (record in ChangeLog by Petr)
- ata.cpp: updated to bochs' latest source (supported SEEK and something else)


2002/05/10 - milan (record in ChangeLog by Petr)
- input.cpp: hack for remounting CD on Ctrl+SysRq, needs to be removed!
- gencpu.cpp: lotsa weird changes, probably related to distributed dispatcher
- newcpu.cpp: minor distributed dispatcher related changes
- JIT compiler: one segfault fixed


2002/04/29 - Petr
- ErrorAlert() has been replaced with panicbug() as I needed sprintf
  like parameter parsing. Now all file errors in main() report also
  the problematic filename.


2002/04/25 - STanda
- The fvdicout.app added to atari/fvdi/utility. This is the Johan'si
  bconout.gtp replacement. It is built using the FreeMiNT CVS tree
  and with heavy utilization of the TosWin2 vt52 emulation sources.
  It needed only a slide changes in TosWin2 sources. This should not
  be the final solution. The real one would by to implement the vt52
  emulation into the fVDI engine itself which is on the TODO list in
  the fVDI remainings. 
  Using this I don't have problems here with TOS applications here.
  It needs to be started after the VDI initialization (e.g. from the
  desktop). There might be some code to initialize the VDI later in it.
- AraEther made compilable. nearly no code check or test done.

 
2002/04/21 - milan
- header files reform
- distributed dispatcher rewroted
- JIT compiler integrated


** Version 0.1.7

2002/04/21 - milan
- pre-support of FreeBSD


2002/04/21 - Petr
- ExtFs: Dpathconf(DP_XATTR) disabled altogether. It was causing problems
  in Thing (Thing didn't refresh source window of 'move' operation).
- $7135 illegal insn (debug print) was not printing until LF was sent.
  fflush added.
- SDL GUI, taken from hatari. Not working yet, but soon will be.
- atari sound driver (from Didier) included in atari/sound CVS folder.
- EmuTOS loading: now checked for proper file length.


2002/04/20 - Petr
- audio.cpp - wrong memset() addr fixed. No more crashes, sound works
  like a charm.

2002/04/20 - STanda
- PurePascal and its debugger snapshot added.
- ExtFs: Small general code cleanup


2002/04/19 - Didier MEQUIGNON & Petr
- audio driver: Atari side uses ZMAGXSND.PRG, a slightly modified
  MagiCMac sound driver. The communication is based on illegal instruction
  $712c and IRQ 5 used as a callback from host to Atari. Aniplayer is
  supposed to play sound nicely but so far it's crashing on me (Petr).

2002/04/19 - STanda & Petr
- ExtFs: Petr has discovered that ExtFs:Fxattr should probably _not_
  take the DTA structure. This bug was originating in the Julian
  Reschke's cookfs01 driver sources that I started to program from
  (he uses DTA in the Fxattr signature, although he never uses this
  argument - most probably cut&paste bug).
  Now the Fxattr works properly which means:

  * The Dpathconf() DP_XATTR return value works also good for Thing
    to refresh the destination window. The access time and originating
    time was masked out here to let it work for more hostfs filesystem
    types properly. It is subject to change. The hostfs mounted to the
    particular hostfs path is to be investigated whether it supports
    the features and the flags should be set appropriately.
  * QED save and load problems fixed.

  Here it seems that the most ExtFs MetaDOS problems on Linux host
  OS are gone. Please test heavily. Thanks goes to Petr and his hacker's
  history! ;)

- ExtFs namespace method/function recognition doesn't work under
  FreeMiNT because mintbind.h are only macros..... The names were changed 
  to have the ExtFs suffix.


2002/04/18 - STanda
- ExtFs bug in Fsnext fixed. If the path for Fsfirst doesn't contain
  wildcards then many applications don't call the Fsnext. We need an
  array of paths for mutiple Fsfirst/Fsnext called with a different
  DTA buffer pointer. We also need to free the paths if they are not
  used any more (Fsnext with -49 or Fsfirst without wildcards and 0).
  If the path was freed from the array then we return -49 from Fsnext
  now.
  This fix causes LZHSHELL.APP be able to extract an archive to the
  MetaDOS driven filesystem.
- The Patrice's patch adjusted to be only namespace distiguished
  calls. No _emu suffix. Needs to be tried to compile under FreeMiNT.


2002/04/13 - Petr
- AranymFS: we can't rely on error codes returned by hostfs functions.
  For example TOS Fcreate() returns -34 if the path to file does not exist.
  The fix I put there helps ST-Zip to unpack folders onto host fs.

- AranymFS: Dpathconf(DP_XATTR) disabled (because I didn't know the correct
  parameter). Suddenly Thing is able to refresh the destination window
  correctly.

- new experimental spec file for building RPM package.

- new TOS patch for redirecting printer Xconout vector to host console

- new function "Reboot" that does hard restart of the machine.


** Version 0.1.6

2002/04/12 - Petr
- newcpu.cpp: NMI will break out of the STOP jail. From user point
  of view - if EmuTOS happens to crash you'll be able to quit ARAnyM
  now.

- newcpu.cpp: STOPped CPU did not generate 200 Hz system interrupt
  when compiled with --disable-sdltimer. Fixed.


** Version 0.1.5

2002/04/10 - Petr
- fixed bug in Reset insn emulation that caused EmuTOS crash

- uae_cpu/spcflags.h cleaned up. NMI flag introduced.
  I also added the MFP|VBL|NMI into periodic flags check (wondering
  how it could work before).

- clean Quit implemented. No more killed SDL or X threads. Using NMI
  like on real machine :-)


2002/04/10 - milan
- IDE: synced with Bochs CVS (concat_image_t(), not used in ARAnyM now, but
       who knows)
- CPU: instr. Reset calls now AtariReset()
       cleaning in JIT integration
       synced with BasiliskII CVS (DOTRACE x STOP)


** Version 0.1.4

2002/04/09 - Petr
- fixed my own stupid bug in acsifdc.cpp that broke floppy support.
  Thanks Martin for reporting it.


2002/04/04 - STanda
- MetaDOS Fopen implementation shoudn't be able to open a directory.
  Fixed due to the Olivier Landemarre <Olivier.Landemarre@utbm.fr>
  and the CharView author who provided a source of the application
  that had this problem. The EasyGEM library tries to open directory
  entries using Fopen. Thanks for EasyGEM beeing open-source.

- Newly created files specified with all letters in upper case will
  be automatically converted to lowercase ones. This follows a small
  limitation that there is no way to create e.g. PC.PRG on halfsensitive
  fs (it will be pc.prg... but the Pc.prg and any other combination
  would work). This can be made optional.

- m68k part of the MetaDOS driver was pretty printed and converted
  to correct (DOS mode newlines). No need to update the binary here.

- PureC (PC.PRG) patch to let it working on MetaDOS driven filesystem
  (src/atari/tools/pcpatch.*).


2002/04/03 - milan
- sync with BailiskII-JIT (25.3.2002)


2002/04/02 - Patrice Mandin & milan
- pre-patched for Atari MiNT :-)


2002/04/02 - Petr
- MFP and ACIA/FDC/ATA updated to be ready for major MFP rewrite.


** Version 0.1.3 - don't forget to update your Atari fVDI driver

2002/03/27 - STanda
- extfs.cpp/transformFileName rewritten nearly from scratch. Now it should be
  more readable source than before.
  A simple findFirst function fix: no error on the stat() failure. E.g.
  an invalid symbolic link on the host fs.
- fVDI driver: floating Videoram bug fixed.


2002/03/26 - milan
- MMU returns logical address during bus error
- IEEE FPU is default only for i386


2002/03/26 - Petr
- transformFileName in extfs.cpp fixed three times. ARAnyM will not crash
  when it encounters a long filename. ST-Zip will not crash when browsing
  MetaDOS drive. Maybe that PureC works now as well?


2002/03/22 - Petr
- IEEE FPU emulation fixed: 68040 specific insn (like FSMOVE) don't throw
  illegal opcode exception anymore.
- IEEE FPU is now the default FPU emulation in configure phase.


2002/03/21 - milan & Petr
- forgot to set the faulty address when invoking BUS ERROR from hardware
  registers access.
- Exception 2 panicbug displays the faulty address now.
- wrong bus error stack frame format 7 fixed.


2002/03/20 - Petr
- MFP and RTC tweaking to get Linux-m68k running


2002/03/15 - milan
- Exception() is called only from main loop, not from trans. function.


2002/03/14 - Olivier Landemarre <Olivier.Landemarre@utbm.fr> & STanda
- ExtFs: ugly bug in flags2st fixed. This might affect some problems
  we had with the MetaDOS driver, but unfortunatelly PureC still refuses
  to compile a project.
  Preprocessor flag to use creat() instead of open() in Fcreate
  implementation... no improvement here though (just suggestion from Olivier).


2002/03/12 - milan
- Irix among supported platforms


2002/03/11 - milan
- MMU is back, based on Wez Furlong's patch (UAE)


2002/03/06 - STanda
- ExtFs: xfs_getname implemented. The Pure C now finds the project file, but
  it crashes on assembler compilation.
  The ExtFs::cookie2Pathname() now uses getHostFileName to be able to work
  case insensitively.


2002/03/05 - milan
- memptr for addressing in Atari memory out of uae_cpu
- sync with Bochs CVS 2002/03/02 11:31:18 GMT
  o ReadCDSector() (for win32 ASPI) returns 1 if target status is okay
  o win32 ASPI version of insert_cdrom() checks media status using
    ReadCDSector()
- gencpu.c patched for MMU (based on Wez Furlong's MMU patch 0.8.20.2 for UAE)


2002/03/03 - Gwenole Beauchesne & milan
- fpu_x86 debug mode corrected


2002/02/28 - milan
- get_i*_1 moved to newcpu.cpp
- probably last sync with aranym2 (unofficial CVS) before MMU and pre-JIT
  support (new gencpu.c and subdirectory compiler)


2002/02/27 - milan
- corrections of types in hostscreen.h and memory.h (using uintptr instead of
  uae_u32 with Host addressing)


2002/02/26 - milan
- Native Feature instruction framework added
- address validation in CPU interface
- exceptions.h removed, interface moved to CPU interface, include file in
  sysdeps.h
- error handling of CD-ROM eject on Linux


2002/02/25 - milan
- fp_extended, fp_single, fp_double -> fpu_extended, fpu_single, fpu_double
- spcflags handling rewritten
- original PC handling, must be converted to ARAnyM's after stabilisation
  (slower)
- exception stack handling is for 68040 now
- table68k based on JIT BasiliskII
- EmulOp (0x71XX) is handled as usual instruction


2002/02/25 - Petr
- web updated (Ctirad wrote new About)
- simplified most of the presentation.xlst but it's still not good enough.
- limited the text size to 600 pixels for more pleasant reading on wide screens


2002/02/23 - Petr
- separated input related code from main.cpp into input.cpp
- all open() functions have "O_BINARY" flag appended so that Cygwin
  binaries won't mess CRLF in files (cdrom.cpp, extfs.cpp, fdc.cpp)


** Version 0.0.22 so you can see new IDE code is there.

2002/02/21 - milan & Petr
- cdrom.cpp sync with Bochs (CD-ROM eject supported)
- ata.cpp sync with Bochs (32-bit data access supported)
- CD-ROM eject in Linux added
- hardware.cpp + ide.cpp updated for 32-bit IDE data access.
  It did not work so it is disabled in ide.cpp for now.


2002/02/20 - Petr
- config file is created with proper default values
- IDE devices are disabled by default
- CONFGUI obsolete #ifdef stuff removed from parameters.cpp


2002/02/20 - milan
- new FPU (based on JIT BasiliskII)


2002/02/19 - milan
- src/ <-> CPU interaction cleaned
- memory access cleaned


2002/02/18 - milan
- floating VideoRAM


2002/02/18 - Olivier Landemarre <Olivier.Landemarre@utbm.fr> & STanda
- Compilation problem under Cygwin fixed. In extfs.c for Cygwin
  MFSNAMELEN is undefined should replace by buf.f_namelen. The condition
  was added due to the BSD systems so I've changed it to if OS_*bsd then...


** ARAnyM 0.0.21 released

2002/02/12 - Petr
- IDE emulation adapted for Falcon: $f00039 is recognized but ignored.


2002/02/12 - milan & Thomas Huth
- ARAnyM support only 68040 only. Other CPUs aren't generated


2002/02/11 - milan
- synced with Bochs IDE
- new version of CPU interface


2002/02/01 - Frank Naumann & Petr & milan
- PAGE_MASK renamed on ARAM_PAGE_MASK (ARAnym Memory PAGE_MASK), PAGE_MASK is
  defined in /usr/include/machine/param.h on OpenBSD
- PAGE_CHECK renamed on ARAM_PAGE_CHECK
- ndebug doesn't use ioctl() now for any switching tty's setting
- support for statfs on [Net|Open]BSD


2002/02/01 - Petr
- fixed long-standing bug in ATA.cpp that made ARAnyM stuck when no IDE disk
  drive was found (or defined in config).


2002/02/01 - milan
- the 1st step of rewriting CPU/Memory <-> HW interface, look at
  cpu_emulation.h


2002/02/01 - STanda
- MiNT aranym.xfs added. This is the preliminary version working with HostOS
  root in u:\nativefs just like stonx.xfs does. The mapping to other folders
  is possible and is going to be done later.
  There are several unimplemented functions there, but the basic functionality
  is implemented.
  The m68k part is available only as a binary in src/atari/aranymfs.
  The sources were grabbed from the STonX directly and hacked just to work and
  needs cleaning.
  The whole ExtFs should be rearchitectured. It was designed for MetaDOS and
  now it is getting very, very unclean. Better not to look into the code.
  I will rewrite this nearly from scratch during the planed shift to a portable
  library.
  CAUTION: There might be crude bugs in it, so please test it on some not very
  essential files on the mounted host filesystem.


2002/01/30 - Petr
- emul_op.cpp: OP_DEBUGUTIL made more secure (wrong addr will not crash aranym)


2002/01/29 - Petr
- two EmuTOS screenshots added
- unsupported Windows binary available in download section


** ARAnyM 0.0.20 released

2002/01/28 - Petr
- tools/clocky.prg.bz2 updated - the hotkey combo is back at LShift+RShift
  (the Alt+LShift collided with Thing).
- updated aranymrc.example
- updated most documentation and web pages


2002/01/27 - Petr
- XHDI dispatch added to emul_op
- XHGetCapacity() implemented
- DMAread() improved


2002/01/26 - STanda
- extfs.[ch]* cleanup from non needed arguments


2002/01/24 - Olivier & Petr
- on Windows the host operations (fVDI, aranymfs) block the timer thread
  so we have to call the invoke200HzInterrupt() manually as soon as the
  host operations finish.
- download.html offers nightly snapshots now.


2002/01/18 - milan
- FixedSizeFastRAM fixed
- no debugger fixed
- install part of Makefile fixed


2002/01/17 - milan
- cleaning in ./src - memory access etc.


2002/01/15 - Petr
- you can undefine USE_GETTICKS in main.cpp to replace SDL_GetTicks()
  with gettimeofday(). This might help on platforms where SDL_GetTicks()
  is slowed down by aranymfs or fVDI driver.


2002/01/13 - STanda
- fVDI driver patches for expandArea in 24 and 32bit depth.
  Also the 1, 2, 4 bit depth modes were made available.
  There are still bugs in the expandArea Mem->Mem. Also blits are word
  aligned when they shoud not be.


2002/01/13 - Petr
- DMAread() added to emul_op interface (used in current EmuTOS)
- faq.xml updated by Ctirad
- configure.in: SDLTIMER and PAGE_CHECK are enabled by default.


2002/01/11 - Olivier Landemarre & Petr
- fixed bug in time sync (signed long is bad for GetTicks())
- fixed bug in TimerC disabling (wrong bit mask for &)


2002/01/10 - Rodolphe Pineau & milan
- vm_acquire_fixed corrected, configure script also


2002/01/09 - Rodolphe Pineau & milan
- 1st step for SGI/Irix
- aranymfs more portable (Solaris supported now also)
- corrections in configure script, memory allocation, memory access


2002/01/08 - STanda
- The aranymfs config file setting finished (thanks to Petr)
- fVDI driver doesn't destroy palette setting on resolution change
  The SDL_SetVideoMode clears the palette setting -> the palette is stored
  and restored after change (hostscreen.cpp/setWindowSize()) 
- the driver has also correct 8bit inverse color handling.
- up and running


2002/01/08 - Petr
- the config file format and location has changed (now at $HOME/.aranym/config)
- most global config variables moved to bx_options struct
- NVRAM (formerly CMOS) file is stored in the aranym config folder as well now.
- fixed many bugs in the parameters.cpp code. It should be quite usable now.


2002/01/07 - Petr [ ARANYM_0_0_17 tag ]
- NVRAM RTC getting current year fixed.


2002/01/07 - Patrice Mandin <pmandin@caramail.com> & STanda
- Patrice: I did a simple patch for the vdi color mapping.
  The following ugly piece of code removed.
  #ifdef __PUREC__
     short vdi2pix[1];            /* Of course really 256... */
  #else
     short vdi2pix[0];            /* Of course really 256... */
  #endif


2002/01/05 - Petr
- floppy geometry detection fixed. It could never work before!


2002/01/03 - Petr
- Blitter now calls Do_Blit() on reading status register only. Doesn't seem
  to fix the errors during Bconout, though.
- Xconout redirected to host console using poor VT52 emulation.


2002/01/03 - STanda
- fVDI driver: the resolution is changed during the virtual workstation
  creation. Copyright notes updated (synchronized with Johan's).


2001/12/30 - Petr
- Johan increased PAGE of PAGE_CHECK to 1MB (for nonMMU mode). This greatly
  improved the performance - 36k5 dhry on my machine now. For the MMU040
  the PAGE is 4kB.


2001/12/29 - Petr (tagged as ARANYM_0_0_16)
- Johan Klockars' PAGE_CHECK (dividing address space into 4k blocks) added.
  It produces slightly better dhrystones than 0.0.14 (34k2 vs 33k5) but
  real-life gcc benchmark didn't show any speed up. Perhaps this is a great
  idea for the MMU040 implementation but without MMU040 it doesn't help much.
- parameters.cpp and main.cpp cleaned up a bit.


2001/12/27 - Petr (tagged as ARANYM_0_0_15)
- FastRAM can be fixed size ("./configure --enable-fastram=X") - that makes the
  check_ram_boundary() even faster (comparing with constant instead of fetching
  the value of a global variable). 35k2 dhry now (this is probably the fastest
  possible solution before splitting the RAM into 4k blocks as Johan suggested.
- TOS 4.04 patched to enable FastRAM check.
- fullmmu is disabled by default now.


2001/12/26 - Petr (tagged as ARANYM_0_0_14)
- handling of MFP interrupts moved from CPU to MFP module
- checking for VBL and MFP joined in one 'if' - another nice speedup (33k5 now)


2001/12/25 - Petr (tagged as ARANYM_0_0_13)
- ACIA IRQs are not buffered (like TimerC IRQs are) - it was causing bad
  keyboard&mouse lockups. Apparently TOS can read several scancodes from IKBD
  in one IRQ and our poor implementation fits that feature :-)
- TimerC interrupt fired only if enabled in MFP IRQ enable reg.


2001/12/22 - Petr (tagged as ARANYM_0_0_12)
- most video related parameters moved to bx_options.video struct
- added "--refresh <x>" cmdline option. Default value is 2 = 50/2 Hz screen
  refresh. Allowed values are 1 - 200 (50Hz - 1/4 Hz)
- check_ram_boundary() allows direct access to physical videoram
- check_ram_boundary() now makes FastRAM equally fast as ST-RAM (30k5)


2001/12/21 - STanda
- RH gcc 2.96.98 preprocessor bug workaround: The remarks in multiline macros
  are before the linetrailing backslash.


2001/12/20 - Petr
- cleaned up newcpu.cpp do_specialties()
- STOP instruction handling really works and gives CPU time slices back
  to host OS!


2001/12/19 - Petr
- check_ram_boundary() cleaner now - no default value for 'write' parameter
  and the 'size' parameter contains the natural value - 1 for byte access,
  2 for a word access and 4 for a long (doubleword) access.
- you can define NO_MEMORY_CHECK in memory.h to see the original
  speed of old unsafe, often crashing ARAnyM (Dhry: 27k -> 31k)


2001/12/17 - Petr
- SDL Timers are back! --enable-sdltimer
- VBL timer runs at precise 50 Hz now
- VIDEL screen refresh at fixed 25 Hz now


2001/12/16 - Petr
- check_ram_boundary() takes an additional parameter that sets the size 
  of memory access. Now finally all memory accesses are checked and nothing
  can escape from ARAnyM allocated memory.

- acceleration for blitter configurable: --enable-blitmemmove turns the
  memmove acceleration on and --enable-blitsdlblit allows the SDL_blitsurface
  to be used.

- check memory by array experimental code removed altogether. It was not
  faster unfortunately and it didn't allow the size check that has just been
  added to check_ram_boundary.


2001/12/11 - STanda
- fVDI driver patch to not disable the DEBUG. There was the debug.h included
  from another .h file which wasn't correct. Some Johan's methods were moved
  to the .cpp file.

- framebuffer driver detection to force the fullscreen mode and therefore
  no mouse pointer redraw problems when using Clocky(TM). The mouse cursor
  was trying to leave the window (actualy the screen surface in fb, which
  was causing troubles)

- The SDL_WarpMouse is now called after the HWInit() (actualy SDL_SetVideoMode)
  where doesn't cause floating point exceptions and aranym crashes in fbcon.
 

2001/12/07 - Petr
- first two long words (addresses 0..7) are readonly now like on real Atari.
  Thanks to Patrice for forcing us to fix it :-)


** ARAnyM 0.0.11 released

2001/12/05 - Petr
- "-N" or "--nomouse" added to cmdline options. It basically disables
  the auto mouse grabbing at startup. Suitable especially for debugging.

- one more illegal/emul_op instruction enabled: 0x7135 can be used for
  debug prints - especially for EmuTOS debugging.

- CMOS/NVRAM now starts with English/UK/USA keyboard layout. Thus you get the
  right keys even without Clocky on most regular PC keyboards.


2001/12/05 - milan
- "initialization" of 0-7 moved to reset routine, more secure solution

- patched ins. BFINS (uae 0.8.19)

- sync with my "Pragues versions"

- buffer in newm68k_disasm cleared after every ShowEA/fprintf, disasm in
  ndebug corrected


2001/12/03 - Olivier Landemarre <Olivier.Landemarre@utbm.fr> & STanda
- ExtFs: Frename fix.


2001/12/02 - Petr
- keyboard conversion code rewritten again. As the SDL returns different
  scancodes for same keys under different OSes I created a heuristic
  analysis of pressed keys that tries to detect the offset between the
  SDL scancode and the physical one. Tested under framebuffer and X11 on Linux.


2001/11/30 - Johan Klockars <rand@cd.chalmers.se> && STanda
- fVDI: improved and made fit into fVDI CVS repository directory structure.
  General speedup of line and polygon drawing. 
  New copy of m68k part sources. Since now you should use the aranym.sys.bz2
  m68k binary along with current aranym CVS sources.
  The old m68k part source will be removed later.


2001/11/28 - Petr
- new keyboard conversion code: now based on pure scancodes. Clocky for Aranym
  now distributed with English PC101 keyboard. With Clocky loaded you have real
  WYSIWYG. Feel free to submit other .KBD files for Clocky (French, German,..?)

2001/11/25 - Petr
- new FastRAM.PRG with automatic size detection and _FRB buffer.

2001/11/21 - milan
- cleanning in includes


2001/11/21 - Olivier Landemarre & milan
- problems with new Cygwin corrected

- FullScreen tag in ARANYMRC


2001/11/20 - milan
- small correction in ATCs (MMU), not enough, grr


2001/11/20 - Francois LE COAT & milan
- better support for Solaris


2001/11/20 - Olivier Landemarre & milan
- the 2nd step for Cygwin


2001/11/19 - Petr
- MD5 should be OK on big endian machines (Sparc)

- new TOS 4.04 patches - cleaned up a lot thanks to the disassembly made by
  Patrice. Nemesis init routines removed. Reboot code not moved to $600.
  Movem patch removed. The whole additional code moved behind the TOS end
  so French and other RSCs are OK now.
  You are encouraged to drop the previously patched TOS versions and to use
  just plain original TOS 4.04.

- parallel port emulation added. This is the lowelevel stuff - Yamaha and MFP
  are mapped to IBM EPP parallel port. Several things are hardcoded and
  the whole stuff is disabled by default for now. But when I tested it PARCP
  ran quite well!


2001/11/02 - STanda
- fVDI: The driver handles some bitplane functionality. It works somehow, but
  it still has many bug in this mode. The color palette is correct only if
  booted in the same color depth.


2001/11/14 - Petr
- corrected XML->HTML compilation

- made the IDE f00039 alternate status register same as the main IDE status reg.


2001/11/13 - milan
- web/Makefile corrected

- saxon.jar not in CVS now (downloaded with wget from ftp.sophics.cz/pub/aranym/tools)

- gemram removed from Makefile.in


2001/11/13 - Olivier Landemarre & milan
- support for Cygwin


2001/11/11 - Petr
- during configure you can "--enable-directcolor" which is the infamous TOS
  and Aranym patch for direct truecolor with VIDEL. I made it configurable
  in compile time to simplify the memory boundary checks in uae-cpu/memory.h.
  The default is no direct truecolor (it's a hack, after all).

- during configure you can "--enable-boundaryarray" which is a different
  method for checking the memory boundaries. It's based on an array of bool
  flags - each bool represents 1 MB of memory. There are separate tables
  for reading and writting because you can't write to the ROM area.
  Advantages:
    o FastRAM is finally no slower than ST-RAM
    o ST-RAM and FastRAM size can be configured in runtime very easily
    o you can even simulate memory windows (FastRAM SIMM banks, e.g.)
    o regular memory access gets a higher priority over HW reg access
    o the code might be faster than the original 5 comparisons
  Disadvantages:
    o the whole megabyte of ROM area is readable (so including 0xe8-0xefffff)
    o the code might be slower than the original due to indexing in 4 kB array

- a change in IKBD emulation that fixes the problem with slow mouse motion
  in Videlity Config prg.


2001/11/07 - milan
- new correction in mmu_decode_addr, I suppose still not enough


2001/11/06 - milan
- corrections of PFLUSH, PTEST (I found my old corrections on hd, grr, 2 months
  old, grr)

- MMU address decoding works now (after set_mmu Desktop runs, sometimes),
  but still MiNT (and not only MiNT) gives Bus error/illegal instruction, I
  know about one bug, I'll correct it later.

- mmusetup.cnf example added to reposity

- make install and Debian package corrected

- the 1st step for Solaris


2001/11/06 - Petr
- TOS was patched with WinX by a mistake. Fixed. GEMRAM 1.0 from Aratools
  does not work correctly as the ROM area is not writeable. Use real GEMRAM
  instead.


2001/11/05 - STanda
- VIDEL: Since now we are using 8bit SDL surface for all VIDEL depths
  less than 16. The blitting routines were optimalized (the destBPP checks are
  done outside the main blit loop). The #define SUPPORT_MULTIPLEDESTBPP enabled
  to let support VIDEL definitely 8, 16, 24 and 32 bit destination depths.


2001/11/02 - STanda
- fVDI: The driver now normally initializes to 16bit when no mode option
  is provided in the fvdi.sys. The screen size remains the same as before
  fvdi.prg initialization then.


2001/11/01 - Petr
- mouse behaviour much improved. Automatic grab is configurable now. You can
  ungrab the mouse by Alt+Ctrl+Esc and grab it back by left mouse click.

- new command line option "--save" will save the config file with actual
  values.


2001/11/01 - STanda
- fVDI: The 16,24 and 32bit modes works now.


2001/10/31 - STanda
- fVDI: The resolution change works now with the current driver. Do not try
  to compile the m68k part, it's just full of hacks, but it works for me.
  Just use the binary from CVS. The only useable is the 16bpp in any resolution
  in X11. I didn't try it in framebuffer or so.


2001/10/30 - STanda
- The HostScreen support for 8,16,24 and 32 BPP finished. Many optimalizations
  done in getting the switches out from loops. There should be some speedup, but
  this I can't see on my computer and I didn't even try to make any benchmarks.


2001/10/29 - Petr
- --floppy <path> added to the command line options

- --rom <path> removed

- EmuTOS=<path> in the config file. EmuTOS gets a higher priority over the TOS.

- updated aranymrc.example


2001/10/29 - milan
- ARAnyM can be used now without support of debugger (--enable-debug=no)

- ndebug can be activated now also if you send SIGINT to ARAnyM (and that's
  why it cannot cooperate with cxmon)

- ndebug is now default debugger

- support for gmake

- --config FILE command line option added

- the command line options are scanned for version/help/config before
  parsing of a configuration file


2001/10/26 - milan
- support for instruction history now also in ndebug

- small change in m68k_run_1


2001/10/25 - Petr
- when the aranym catches segmentation fault it releases mouse and keyboard
  and shows last 20 instructions prior the segfaulting instruction (only
  if compiled with --enable-fullhistory).

- InitROM() asks for 512 kB long file (on the net there are just 256 kB ROM
  images).

- Floppy stuff moved to fdc. Automatic mounting - first read/write with
  fallback to read only. Media Change trick prepared but disabled for now
  because the floppy does not read past 499 sector (try e.g. Diskus Read Test).
  Dunno what's wrong. Wonder if the floppy ever worked correctly?


2001/10/24 - STanda
- fVDI: Essential bugfixes added. Now the driver works properly except for the
  bugs in the fVDI engine. These are discussed with the fVDI author.
  The lines with a negative y coordinate are drawn properly now.


2001/10/23 - STanda
- Screenshot added to the website.
- fVDI: Mouse Is not hidden at the right and bottom screen edge.
  Is colorized properly. The shape's hotspot shift implemented.
  Shouldn't crash on higher resolutions than 640x400.
  Put pixel fixed to take the pattern in mind.
  The lineClipping fixed. The lines that starts and ends out of the screen
  are not drawn due to the fVDI.PRG beta engine.. the beta crashes sometimes too)
  The v0.95 works quite well, but with display bugs like no pictures in
  ST-Guide, wrong colors of Thing's keyboard cursor.
- the hardcoded screen resolution changed to the hostScreens one
  in mouseOut handling.


2001/10/19 - STanda
- fVDI: The driver updated to work with FVDI.PRG beta. This beta enables
        e.g. the monochrome images in ST-Guide and fixes many bugs.
        There is still a bug in new line clipping, but I just don't have
        time to fix it now. I know exactly what is the problem.


2001/10/18 - Petr
- MD5 class added
- InitROM() detects both our ABTOS and the original TOS 4.04.
- InitROM() patches TOS 4.04


2001/10/17 - STanda
- README The sophics.cz replaced by atari.org for http access. The ftp
         and email addresses was left. (I don't know wheter aranym@atari.org
         works and the ftp must stay @sophics, the absolute path problems)
- ExtFs: Small bug fix. The Fsfirst&next returns the . and .. dirs too.
         (according to Julian Reschke's advice)
- Tools: The changes that were made and uploaded to Petr's ftp are in CVS now
         The README was modified a bit.


2001/10/16 - STanda
- fVDI:  The segfault bug in gfxLineColor removed.
- VIDEL: The 16, 24 and 32 destBpp are supported when #define SUPPORT_MULTIPLEDESTBPP
         in videl.cpp (the SDL surface depth setting is in hostscreen.cpp).


2001/10/16 - milan
- support for BasiliskII's monitor cxmon
- aranymrc now supports FastRAM's size.


2001/10/16 - STanda
- fVDI: The driver should be working now in TC (I finally got the Thing
        executed and looking correctly)


2001/10/09 - milan
- some changes in memory allocation, now support for malloc on dummy platforms


2001/10/08 - STanda
- fVDI: the blitting works on destination 16bpp (still no shadow buffer used).


2001/10/08 - STanda
- ALT+PrintScreen generates a snapshot file using the SDL_SaveBMP.

- Host OS dependent objects moved to the host.cpp(h) and aranym specific
  objects like ExtFs and FVDIDrv moved to araobjs.cpp(h)

- general cleanup of unused variables (fdc.cpp)

- the WEB pages updated


2001/10/02 - milan
- the first "public" version of "ndebug", some modes still disabled

- platform's independent memory allocation, if ARAnyM doesn't know better


2001/10/02 - Petr
- ROM file reading back in main.cpp
- TTRAM renamed to FastRAM everywhere
- --ttram renamed to --fastram, -T renamed to -F
- --grab_mouse switch removed
- added 'cookie_MCH' config option, it holds hex long value
- maxInnerCounter in main.cpp should be tuned to your CPU speed.
  The lower your CPU is the lower the value should be.


2001/10/02 - STanda
- fVDI: blitArea screen2screen & mem2screen (TC) works now.

- fVDI, VIDEL: bitplane to chunky conversion is move into the HostScreen
  inline - should cause no performace penalty

2001/10/01 - STanda

- fVDI: drawLine supports the logical operations now.


2001/09/25 - milan
- cleaning of memory allocation


2001/09/21 [ARAnyM 0.0.8] - Petr
- in a fVDI session (when VIDEL rendering is disabled) if VIDEL VideoRAM address
  is changed the VIDEL rendering is enabled again. This is essential for example
  when you reset the Atari machine (you want to see the Fuji logo, don't you? :)

- MFP TimerC emulation simplified - no more double TimerC interrupts as we
  are now calling the invoke200HzInterrupt each 5 milliseconds.

- hardware.cpp helper functions removed. Now modules call their public functions
  directly. It's better readable and faster this way, I think.


2001/09/20 - STanda
- fVDI: Off by one bug fixed in fillArea.

- fVDI: Separate functions for transparent and opaque background. gfxPrimitives
  methods moved to the HostScreen. Several methods made inline.
  fVDI driver Shouldn't cause BUS ERROR now.


2001/09/20 - Petr
- fixed very annoying bug in direct_tc mode (no more segfaults at $e08ba8 I hope!)

- mouse code for host-client transformation is now conditional (only when not running
  in fullscreen).


2001/09/20 - STanda
- The fVDI driver update: colors work correctly, expandArea implemented
  to display icons and texts, putPixel speedup. Now it seems pretty fast
  when DEBUG is 0 ;)

- gfxprimitives cleanup


2001/09/19 - Petr
- TT-RAM (or FastRAM) size entered on command line (--ttram) is in MB now.
- new .aranymrc option named "FastRAM", acts as the --tram switch.
- first release of aratools.tgz, available at ftp.sophics.cz/pub/aranym.
  FastRAM (or TT-RAM?) can be anything from 0 to about 112 MB (then it
  crashes, I suspect it's due to the weird Milan's virtual memory management).


2001/09/18 - Petr
- keys remapped: Atari Help is on the F11 host key, Atari Undo is on F12 key.
  Keys PageUp/PageDown are mapped to Atari combo Shift+ArrowUp/Down which
  should work in most GEM programs (handy stuff, you get used to it fairly
  quickly).

- mouse behavior changed: first, it's grabbed automatically and centered
  on standard screen size (640x480). Second, with special tool support
  (right now modified Clocky - you find it in ftp.sophics.cz/pub/aranym)
  you are able to move the mouse out of the Atari aranym window. Works
  just like in vmware. Pity it has hardcoded GEM screen size right now.
  Needs to be fixed - made more flexible.

- ARADATA I/O registers are ready to support arbitrary FastRAM size and
  automatic StandaFS config.sys updating, I just need to write the tools
  for that.


2001/09/11 [ARAnyM 0.0.7] - Petr
- real hard fight with Aniplayer. I found that it checks whether there's
  a $CAFEFADE number at $F4000014. This check was killing aranym since
  my check_ram_boundary() was broken (due to a number of stupid bugs).
  Anyway, this CAFEFADE signals that there can be a hardware located at
  that address already (it is flash ROM of Centurbo2 according to Didier)
  and that is a bad sign for us since we wanted to have the host videoram there.


2001/09/10 [ARAnyM 0.0.6] - Petr
- proper check_ram_boundary in memory.h. Has to be always enabled, otherwise
  programs like e.g. Aniplayer can kill the whole aranym..
  FastRAM works again (still fixed to 32 MB).

- SDL_Timer is not used anymore. CPU now checks once in a while (currently
  each 100 m68k instructions) whether it's time to emulate an interrupt.
  The original behavior with timers may be enabled with -DUSE_TIMERS.


2001/09/09 - Petr
- direct TrueColor works again
- clicking in fullscreen X11 works again (generally mouse grabbing works again)
- disabled the shit in main_unix.cpp (the memory management)
- fixed a few little bugs


2001/09/04 - Petr
- milan's port of ata.cpp and cdrom.cpp from Bochs v1.2 now enables direct
  access to CD-ROM! Use "IsCDROM = Yes" in your [IDE1] section of aranym
  conf file.


2001/09/01 - milan
- switch for enabling full opcode's history for debugger


2001/08/31 - milan
- other small corrections for MMU

- memory access now a bit quicker


2001/08/29 - milan
- stupid buggy preversion of TV conf. GUI aranymrc, needs to rewrite in
  better form, something as powertweak's text mode conf. Output in
  aranymtest.rc file. Also needed to find problem with size of strings
  (buffer overflow).

- directive DebugOnStart from ARANYMRC changed to Bool_Tag

- patched stupid mistake by entry of debugger (Alt x Alt+Pause)

- some small corrections for MMU

- newm68k_disasm hasn't any problem with memory addressing now
  (set/longjmp problem)


2001/08/29 - STanda

- VIDEL got the doRender flag with setter setRendering().
  The host_colors_uptodate variable name was changed to hostColorsSync.

- HostScreen got the doUpdate flag cleared upon initialization if the HWSURFACE
  was created.

- fVDIDriver got first version of drawLine and fillArea (thanks to SDL_gfxPrimitives).


2001/08/20 - milan

- support for autodetection of a real disk's geometry in Linux, also for
  createdisk.sh's disks, but new version of parameters.cpp needs reorganization
  in IDEx part

- patched ins. SBCD, ABCD, NBCD (uae 0.8.17), BDcc, Scc in table68k patched

- UAE FPU as default FPU (now better than i386 opt!)

- devdist in Makefile


2001/08/16 - Petr

- config file taken from PARCP. Feel free to extend the global_conf struct in parameters.cpp
  with more options.


2001/08/15 - STanda

- the videl.cpp ST compatible color palette handling added (thanks to Ctirad)


2001/08/13 - milan

- bindist in Makefile

- aranymrc example

- IDE x's settings from aranymrc file


2001/08/10 - milan
- real addressing now working correct

- the first step for reintegration of BasiliskII's CPU API

- Makefile depends repaired

- new sync with BasiliskII (CVS 24.7.2001)

- memory allocation back in main_unix.cpp - better for portability of real
  addressing, also ROM reading back there, not only POSIX, we have also
  non-POSIX OS's


2001/08/09 - Petr

- added ata-new.cpp and cdrom.cpp from Bochs. Compilable but don't work yet (dunno why).


2001/08/08 - STanda

- no atexit crash ( atexit(ExitAll) called )

- numblock key mapping fixed. (/,*,-,+ keys fixed)

- bitplane to chunky conversion speedup (enrolling the conversion loop etc.)


2001/07/24 - Petr
- portable stuff moved from Unix folder up to the main.cpp (should be cleaned up)

- bx_options moved from ata.cpp to parameters and should become global structure
  for aranym options

- floppy is not inserted automatically upon start - this is because my machine does not
  have a floppy connected and it caused aranym to hang. Should be a command line parameter
  like -floppy or something.


2001/07/20 - milan
- signals & pthread removed, now only SDL needs pthread

- mmu_op patched, setjmp/longjmp only, no exceptions

- some warnings "killed"

- "ndebug" integrated (only dbprintf), now D(bug()) without \n


2001/07/13 - STanda
- BLITTER function table restored. (the only - bad - thing is that all
  BLITTER member data must be public to be able to work like this)

- direct_truecolor mode made working again (was not probably since the
  HostScreen creation)

- note: the original fVDI driver sources compiled as they are and got
  corrupted (parachute) one. fVDI author notified and requested the
  whole source tree again.


2001/07/09 - STanda
- SDL comunity solved our mouse problem in Xs! Get the newest SDL cvs,
  make & install

- the grab_mouse is set by default when in fullscreen


2001/07/02 - milan
- new UAE CPU port from BasiliskII (CVS 25.6.2001)

- more portable


2001/06/18 - STanda - version increased to 0.0.5
- the SDL dependent parts of the code were moved to the HostScreen class.
  The HostScreen hostScreen; object is created statically in the hardware.cpp.
  (Most of the methods are inline and thus put into hostscreen.h file)

- several methods were renamed again (one example for all: getVideoMode() ->
  getScreenBpp()).

- some copyright (and CVS) comments added. Please - authors - put the CVS
  comments to the beginning and to the bottom of each source file conforming
  the template provided in the projects root directory (template.cpp).


2001/06/18 - STanda
- videl renderScreen() fix (lock & unlock screen added - again)

- the Shift+Pause combination is now used to exit the emulator immediately
  (this was Petr's code change, but forgotten to tell us ;))... anyway thanks
  for really good working videl now. I seem not to have any problems with
  color palette here :).


2001/06/17 - Petr
- System Timer (200 Hz Timer C) should be precise even under heavy load now.
  The MFP stuff needs to be rewritten from scratch. My C++ OOP knowledge sucks.

- implemented virtual destructor in ICio class. Thanks to that the desctructor
  of RTC is called and saves the settings to disk (file "cmos" - actual folder,
  needs to be fixed - "$HOME/.aranym/cmos" looks like a good idea).

- NVRAM is read from disk/stored to disk automatically. You can use your
  favorite NVRAM editor now.

- system date/time is restored from RTC (host local time is used, not GMT).
  Year needs to be fixed yet.

- a lot of work on mouse cursor, still not as good as STonX's one.
  Mouse is grabbed automatically when you move the cursor over Aranym window.
  To release it hold Control and right click. Then you can leave the aranym
  window - when you move the mouse pointer back over the window it's grabbed
  again.

- it seems that Videl uses different color register sets for different color
  depths (as 4 and 16 color depth's colors are incorrect). Scary. Probably
  some compatibility nightmare.

- fixed too early SDL_Video initialization. Do not init stuff in constructors
  as they are invoked before main(). Fix the ExtFs stuff (install "A" ???)


2001/06/15 - Petr
- VIDEL finished. Hardware color palette registers are used properly now.


2001/06/13 - STanda
- some VIDEL public routins adjusted to provide fVDI driver needed methods.
  (lockScreen(), unlockScreen(), getHostVideoramAddress())

- updateScreen() semantics was updated to SDL_UpdateRect... (only). The
  original method functionality was captured in new renderScreen() method


2001/06/12 - Petr
- VIDEL rewritten using the new BASE_IO class. Got proper getVideoMode()
  and getWidth/Height (all stolen from Linux-m68k source code).
  Extended resolutions (using BlowUP030) work now perfectly (e.g. 1024x768).

- new DSP module is based on the new BASE_IO - you see, it's easy to write
  HW emulation stuff now.


2001/06/08 - Petr
- highly unfinished, very preliminary, often crashing support for extended
  VIDEL resolutions. I know how to fix it, just give me some time.


2001/06/06 - Petr
- '--grab_mouse' command line switch for X-Windows

- floppy can be inserted and removed in run-time. Press F11 to insert
  a floppy read-only. Hold Shift and press F11 to insert the floppy read-write.
  Make sure you have rw permissions on /dev/fd0 for this.
  Press F12 to remove a floppy. It seems to be unnecessary to manually remove
  the floppy each time since the writting should be synchronized (O_SYNC).

  This is not a final stage yet - if we stopped supporting disk images we
  could make the floppy inserting/removing fully automatic.


2001/06/05 - STanda
- extfs: the drives are assignable from commandline option -disk (-d)
  The AUTO/CONFIG.SYS must still contain the conresponding drive-letter
  assignment with the -d options on the commandline.

- the paramenters.cpp contains the drive assignment which is read by
  ExtFs.init() method (called from main_unix.cpp)

- the short -debug option was redesigned to -D


2001/05/29 - Petr - version increased to 0.0.3
- major speed up (22 -> 27 thousand dhrystones) thanks to moving setjmp()
  out of main CPU loop

- excep_no var removed from memory.cpp and newcpu.cpp

- fixed VBL invocation (main_unix.cpp)


2001/05/29 - Petr - version increased to 0.0.2
- uae_cpu/memory.h - you can enable or disable CHECK_MEMORY_END.
  When enabled, direct_truecolor bombs out in early stage of TOS boot (because
  TOS cannot write to videoram).
  When disabled, FastRAM works (just run FASTRAM.PRG from the desktop and
  you'll get 32 MB of additional fast ram).

- 'boot_color_depth' switch works now thanks to late initializing of RTC module
  in HWInit().

- 'monitor' switch allows you to choose between VGA and TV connected on Videl
  output.

- 'direct_truecolor' switch allows you to patch TOS so that Videl VideoRAM
  is set directly to host's VideoRAM. Thus VIDEL writes directly to host's
  VGA card video memory (if framebuffer is used as the SDL_VIDEODRIVER).


2001/05/28 - Petr
- implemented proper Bus Error (hardware.cpp and others). This helps
  in a number of places, namely in FPU detection routines.

- fixed floppy emulation (fdc.cpp). STonX code contained wrong HW register
  addresses. I found it when I enabled FastRAM - the FDC was crashing
  the virtual machine.

- added memory bounds checking (memory.h). Ill behaving programs (and bad FDC
  emulation, as mentioned above :) won't crash the virtual machine anymore!

- new memory allocation (main_unix.cpp), enables 32 MB of FastRAM.
