CHANGES BETWEEN RELEASE 0.9.9 AND RELEASE 0.9.9.1

There was only one change, to fix a major bug in EmuDesk: if a desktop
shortcut for a file/folder was dragged to the trash or a disk icon or
an open window, then all the folders at the same level as the selected
file/folder were included in the operation, causing unwanted deletes/
moves/copies.


CHANGES BETWEEN RELEASE 0.9.8 AND RELEASE 0.9.9

Major changes:
- AES: Allow mouse cursors to be loaded at boot time
- EmuDesk: Add 'Desktop configuration' dialog
- EmuDesk: Allow configuration of window/desktop backgrounds
- EmuDesk: Allow desktop window file mask to be specified
- EmuDesk: Omit unused desktop menu items
- EmuDesk: Open new window with Alt+doubleclick on folder
- General: Automatically build snapshot releases when a commit is pushed
- VDI: Add blitter support for horizontal line drawing
- VDI: Add blitter support for filled rectangle drawing
- VDI: Add blitter support for raster graphics

Other changes:
- AES: Add growbox/shrinkbox effects to form_dial()
- AES: Allow AES USERDEFs to clobber a2/d2 (improve compatibility)
- AES: Call dsptch() on every AES call (improve responsiveness)
- AES: Ensure all DAs see AC_CLOSE before app exits
- AES: Fix problem with mouse clicks being ignored
- AES: Improve mouse cursor images
- AES: Only wait for interrupts when nobody is ready to run
- AES: Replace icons used in alerts
- BIOS: Do not use stack until memory is initialized
- BIOS: Ensure ST MMU register contains valid value
- BIOS: Ensure GetBPB() returns NULL for non-FAT partitions
- BIOS: Fix Mega STe boot problem
- BIOS: Fix XHDrvMap() to return correct value
- BIOS: Fix bug in memset/bzero clearing only 16MB at most
- BIOS: Implement XHDOSLimits (read only)
- BIOS: Amiga/Vampire V2: do not enable Fast IDE by default
- EmuDesk: Add blitter menu item to desktop
- EmuDesk: Add support for desktop drag-and-drop in window
- EmuDesk: Allow any character as date separator
- EmuDesk: Allow copy/move to desktop shortcut for a folder
- EmuDesk: Always issue alert if no windows are available
- EmuDesk: Do not open desktop directory if error occurs
- EmuDesk: Dragging to desktop shortcut for program now launches it
- EmuDesk: Fix 'Install application' bug w/ desktop shortcut
- EmuDesk: Fix alignment of desktop icons on a grid
- EmuDesk: Fix bug: desktop didn't open window for empty drives
- EmuDesk: Fix default dir for programs launched from desktop
- EmuDesk: Fix tail passed by desktop to shel_write()
- EmuDesk: Highlight file shortcut when dropping file on it
- EmuDesk: Improve launching of programs via desktop shortcut
- EmuDesk: Include wildcard spec in desktop window name
- EmuDesk: Make the desktop shel_write() the full pathname
- VDI: Add support for lineA TextBlt write modes 4-19
- VDI: Fix VDI crash when running MiNT + memory protect
- VDI: Fix crash when font scaling in lineA text_blt()
- VDI: Handle bad rotation value in gdp_justified()
- VDI: Translate text_blt() high level code to C
- XBIOS: Fix EsetColor() when color < 0
- The usual source code cleanup and minor bug fixes


CHANGES BETWEEN RELEASE 0.9.7 AND RELEASE 0.9.8

Major changes:
- Amiga: New boot floppy target
- Amiga: Rewrite floppy routines
- Amiga: Support multiple video modes
- BIOS: Autodetect IDE interface with twisted cable at run-time
- EmuDesk: Add support for desktop shortcuts
- EmuDesk: Add support for formatting floppies
- EmuDesk: Add support for user-assignable desktop icons

Other changes:
- AES: Adjust file selector scroll bar width according to resolution
- AES: Allocate Alt-RAM instead of ST-RAM where possible
- AES: Do not use shel_find() to find autorun program
- AES: Fix bug in rsrc_load() that affected PixArt4
- AES: Fix error message if autorun program is not found
- AES: Fix possible data corruption when launching accessories
- AES: Increase min height of slider in file selector
- Amiga: Add support for IKBD keyboard/mouse/joysticks on RS-232
- Amiga: Fix interlaced display with fast CPU
- Amiga: Add target to build ROM optimized for Vampire V2
- Amiga: Add XBIOS joystick support
- Amiga: Improve IDE performance on Vampire V2
- Amiga: Improve IDE support
- Amiga: Add proper floppy media change support
- BDOS: Allow environment to be allocated in Alt-RAM
- BDOS: Fix bug in updating date when month rolls over
- BDOS: Fix Fsfirst(): wrong name format in DTA for label
- BDOS: Speed up Dfree() for 16-bit FATs
- BIOS: Add movep emulation for 68060
- BIOS: Enable data cache on 68040 & 68060
- BIOS: Enable instruction & branch caches on 68060
- BIOS: Fix ACSI bug: non-word-aligned transfers failed
- BIOS: Fix bug in IDE detection of slower devices
- BIOS: Fix crash with unaligned IDE R/W buffer on 68000
- BIOS: Fix floppy bug: non-word-aligned I/Os failed
- BIOS: Improve IDE performance
- BIOS: Improve mediachange detection
- ColdFire: Add RAM TOS target for ColdFire Evaluation Boards
- EmuDesk: Add documentation for new features
- EmuDesk: Add read-only indicator for show-as-text display
- EmuDesk: Allocate Alt-RAM instead of ST-RAM where possible
- EmuDesk: Fix various bugs in desktop copy/move
- EmuDesk: Handle desktop move/copy of folder to itself
- EmuDesk: Holding Control at startup now bypasses all initialisation files
- EmuDesk: Lookup desktop shortcuts directly in menu
- EmuDesk: Make alt-X open the root of X in a window
- EmuDesk: Make desktop keyboard shortcuts use Ctrl modifier
- EmuDesk: Make desktop shortcut keys work for all keyboards
- EmuDesk: Split preferences dialog to allow longer text
- General: Allow EmuTOS static RAM to be allocated in Alt-RAM
- The usual source code cleanup and minor bug fixes


CHANGES BETWEEN RELEASE 0.9.6 AND RELEASE 0.9.7

Major changes:
- BIOS: add support for extended MBR partitions
- BIOS: add support for MonSTer board
- BIOS: configure & size ST-RAM on TT
- BIOS: add support for Eiffel on CAN bus on ColdFire EVB
- BIOS: add _5MS cookie to support FreeMiNT on non-Atari hardware
- BIOS: add support for Apollo Core 68080
- BDOS: set archive flag when file is created/modified
- EmuDesk: allow disk delete via desktop File menu item
- EmuDesk: implement desktop 'Install devices'
- EmuDesk: implement desktop 'Install icon'
- EmuDesk: implement desktop 'Remove desktop icon'
- EmuDesk: rewrite 'Install application'
- EmuCON2: provide a standalone version of EmuCON2

Other changes:
- AES: allow autorun program to start in character mode
- AES: fix bug when File Selector accesses empty drive
- AES: fix loop in file selector if filemask is too long
- AES: fix bug: the file selector modified the DTA pointer
- AES: rewrite wildcmp() to fix bug
- BDOS: fix GEMDOS standard handle numbers
- BDOS: rewrite Fsfirst/Fsnext to fix design problem
- BDOS: use single pool for all internal memory requests
- BDOS: fix I/O status for redirected character devices
- BDOS: fix date stamp in . and .. directory entries
- BDOS: fix return code for Fsfirst()
- BDOS: make EmuTOS respect user-assigned FRB
- BDOS: make ctl-C interrupt Cconin
- BDOS: return EOF indicator on redirected char devices
- BDOS: validate attribute bits passed to Fattrib()
- BDOS: validate handles for Fseek()/Fread()/Fwrite()/Fdatime()
- BIOS: add Norwegian & Swedish keyboard support
- BIOS: add support for byte-swapped IDE cable (disabled by default)
- BIOS: allow configuration of max logical sector size
- BIOS: fix VDI->hardware colour calculation
- BIOS: fix os_conf value and usage in multilanguage ROMs
- BIOS: improve performance of Rwabs() on floppy disks
- BIOS: make Ikbdws()/Midiws() handle 'cnt' like Atari TOS
- BIOS: set density for read/write/format of HD floppies
- BIOS: fix boot on Amiga with 68000 CPU
- BIOS: fix RAM size with BaS_gcc on ColdFire EVB
- BIOS: fix _FPU cookie for 68060 without FPU
- BIOS: fix values returned by VgetRGB()/vq_color()
- EmuDesk: make desktop shift-click behave the same as TOS
- EmuDesk: prompt if folder name conflict during move/copy
- EmuDesk: make many desktop and AES dialogs more concise
- EmuDesk: fix desktop icon drag and drop positioning
- EmuDesk: allow 'Too many windows' alert to be issued
- EmuDesk: always issue extra alert if deleting entire disk
- EmuDesk: always keep part of the mover gadget onscreen
- EmuDesk: avoid unnecessary window refreshes
- EmuDesk: handle name conflict during copy like Atari TOS
- EmuDesk: support additional keys during "Show file"
- EmuDesk: add copyright year in EmuDesk about dialog
- General: display total RAM on welcome screen
- General: fix _drvbits tests for drives > P
- VDI: fix rectangle drawing errors
- VDI: fix bug: v_bar() draws perimeter wrongly
- VDI: fix vq_curaddress(), vs_curaddress()
- Lots of source code cleanup and minor bug fixes


CHANGES BETWEEN RELEASE 0.9.5 AND RELEASE 0.9.6

Major changes:
- AES: fix pattern problem in window title line
- AES: prevent crash when NVDI is installed
- BDOS: fix bug: memory allocated by a TSR could be freed
- BDOS: implement etv_term()
- BIOS: clean up pending IRQ from flopunlk(), fixes some ACSI problems
- BIOS: clear data cache after DMA read, fixes ACSI problem on TT
- BIOS: do not clear the free ST-RAM on startup
- BIOS: enable MIDI input
- BIOS: initialise DMA sound matrix on Falcon
- BIOS: fix Flopxxx XBIOS calls to work with FastRAM
- BIOS: fix floppy motor-on problem during initialisation
- BIOS: fix memory bank detection to work on ST and STe
- BIOS: prevent reset vector being called on cold reset
- EmuCON2: add 'mode' command
- EmuCON2: fix EmuCON crash if system call is intercepted
- EmuDesk: allow TT desktop to select TT medium res
- EmuDesk: fix bug: copy/move could target the wrong folder
- EmuDesk: fix display of numeric values in desktop dialogs
- EmuDesk: fix rubber-banding for text-mode desktop windows
- EmuDesk: hide Shutdown if the machine can't shutdown
- EmuDesk: improve desktop move performance by using rename if possible
- EmuDesk: change menu bar to be more like Atari TOS
- General: fix EmuTOS to run on real TT hardware
- General: merge boot.prg + ramtos.img into emutos.prg
- VDI: fully implement VDI support for TT video

Other changes:
- AES: clean up if program fails to issue appl_exit()
- AES: fix loop when deleting non-existent object
- AES: fix handling of Delete key by objc_edit()
- AES: fix value returned by evnt_button()/evnt_multi()
- AES: reset the default drive on resolution change
- BDOS: fix volume label handling to conform to TOS standards
- BIOS: add new cookie _MCF to the cookiejar
- BIOS: add support for RTC on ICD AdSCSI Plus board
- BIOS: add support for TT MFP (MFP #2)
- BIOS: add support to run "reset-resident" code
- BIOS: allow EmuTOS floppy to boot other floppies
- BIOS: clear system variables if EmuTOS loads into RAM
- BIOS: fix console font height with Hatari extended video modes
- BIOS: fix ide_identify() on Amiga
- BIOS: fix NVRAM year on TT
- BIOS: fix return codes for dmasound functions on ST
- BIOS: fix return codes for TT shifter functions
- BIOS: fix some NVRAM reset problems
- BIOS: fix sound volume on TT
- BIOS: fix _screenpt processing for TT, Falcon
- BIOS: flush the data cache before a warm or cold reset
- BIOS: initialize the IKBD clock on first boot only
- BIOS: rewrite MegaST(e) real time clock handler
- EmuCON2: fix EmuCON welcome message for ST-Low
- EmuDesk: add 'No sort' to desktop sort options
- EmuDesk: add desktop shortcuts for scroll-by-page
- EmuDesk: ensure desktop menu bar fits within screen
- EmuDesk: fix display of volume label in disk info dialog
- EmuDesk: improve EMUDESK.INF error checking
- EmuDesk: show the emulated machine name on Hatari even with --natfeats yes
- General: always use STOP instruction in 'wait for interrupt' loops
- General: create valid filesystem with hidden EmuTOS image on auto-booting floppy
- General: do not wait for a key at EMUTOS.PRG startup
- General: pretend to be TOS 1.04 in 192k ROMs
- General: use country id as part of emutos.prg/emutos.st name
- VDI: fix v_curtext()
- VDI: implement vq_curaddress()
- VDI: improve performance of cursor display routine
- VDI: rewrite vr_trnfm() to fix bugs and save space
- Lots of source code cleanup and minor bug fixes


CHANGES BETWEEN RELEASE 0.9.4 AND RELEASE 0.9.5

Major changes:
- AES/BIOS: implement critical error handler
- BDOS: fix file not found issues with Steem hard disk emulation
- BDOS: implement Pexec mode 7
- BIOS: add alt-arrow support (mouse actions via keyboard)
- BIOS: add dual keyboard support (for Greek/Russian keyboards)
- BIOS: allow user to specify boot partition at startup
- BIOS: allow EmuTOS to recover from program exceptions in user programs
- BIOS: auto-detect multiple IDE interfaces
- BIOS: fix detection of C: drive with Steem
- BIOS: fix early stack initialization on Amiga
- EmuDesk: improve text object alignment for translated strings
- VDI: add line-A flood fill; all line-A opcodes are now supported

Other changes:
- AES: increase button spacing in alerts
- AES: increase AES stack size for ColdFire machines
- BDOS: evaluate TPAsize flags in Pexec processing
- BDOS: fix bug in cross-directory rename
- BIOS: use interrupts for serial console instead of polling
- BIOS: fix FPU detection: 68881/68882 are now differentiated correctly
- BIOS: fix delay_loop() timing for M548X machines
- BIOS: fix key repeat bug when entering values via alt-keypad
- BIOS: implement XHInqDriver() XHDI function
- BIOS: fix some XHDI return codes (EDRIVE and EWRPRO)
- BIOS: add explicit delay for parallel port strobe (fixes printing on fast systems)
- BIOS: fix nationality code in ROM header
- EmuCON2: translate text (note: some country codes use English by choice)
- EmuDesk: allow folders being displayed in an open window to be moved/deleted
- EmuDesk: allow desktop "rubber-banding" in all directions
- EmuDesk: display year as 4 digits where possible
- EmuDesk: use _IDT cookie for EmuDesk date/time formatting
- EmuDesk: fix bug in "sort by date" for directory display
- EmuDesk: allocate screen objects dynamically
- General: convert source code repository to Git
- General: implement error checking for translated alerts
- General: replace "make release-version" with "make version"
- VDI: ignore lineA variable 'multifill' for linea_rect() and linea_polygon()
- VDI: speed up drawing of horizontal lines by v_pline()
- VDI: fix lineA rectangle fill bugs
- VDI: fix gap in circle drawn by v_arc()
- VDI: fix VDI wideline display in 320x480 resolution
- Lots of source code cleanup and minor bug fixes
