Dear Atari Community!


We are happy to announce a new public release of EmuTOS:

EmuTOS 0.9.6 -- May 21, 2016



INTRODUCTION

EmuTOS is a single-user single-tasking operating system for 32-bit Atari
computers, clones and emulators. It can be used as a replacement for the
TOS images typically needed by emulators and can also run on some real
hardware, including the Atari ST(e), TT, and Falcon, and the FireBee. It
can even run on non-Atari hardware such as Amiga and ColdFire Evaluation
Boards. All the source code is open and free, licensed under the GNU
General Public License (GPL).



CHANGES SINCE RELEASE 0.9.5

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


For a detailed list of changes, refer to the git repository.



DESCRIPTION

EmuTOS is basically made up of the following:

- The BIOS, which is the basic input output system
- The XBIOS, which provides the interface to the hardware
- The BDOS, which are the high level OS routines, often known as GEMDOS
- The VDI, the virtual device interface, i.e. the screen driver
- The AES, the application environment services or window manager
- The EmuDesk desktop, which is the graphical shell to the user
- EmuCON2, the command-line interpreter

The BIOS and XBIOS code is our own development. It is written from
scratch and implements all relevant TOS 1.0 Bios & XBIOS functionality,
and a bit more, e.g. hard disk access. See doc/status.txt for details.

The GEMDOS part is based on Digital Research's GEMDOS sources, which were
made available under GPL license in 1999 by Caldera.

The graphical parts like VDI and AES are now more or less fully
implemented up to TOS v1.04 level. They work in all the graphics modes
of the original Atari ST, with some extensions. For example, systems with
VIDEL support 256 colours and 640x480 screen resolution. Some emulators
can patch EmuTOS to work with much bigger screen resolutions.

The desktop is somewhat better than the original one, but not as nice as
the one in TOS 2 or higher. It is still quite usable, and of course you are
always free to use a more advanced desktop replacement like TeraDesk.

EmuCON2 is a basic but useful command-line interpreter, written from scratch
by Roger Burrows in 2013 to replace the original CLI.

Since EmuTOS just implements TOS functionality, you might want to use
MiNT on top of it in order to run more modern software. EmuTOS is not
an alternative to MiNT, but it's the only free base OS to boot MiNT.



EMULATION AND FUTURE PLATFORM

EmuTOS and MiNT cooperate well. Both can utilize Native Features
(NatFeats) interface for emulators:
    http://wiki.aranym.org/natfeats/proposal

EmuTOS uses this new standard interface for all the relevant native
functions supported by an emulator on which it's running. This interface
proxies the calls to the underlying host OS so that these features don't
need to be emulated. This is both faster and can provide features that
would be infeasible on a real machine. It may allow using modern graphics
cards, provide fast native filesystem access and enable you to use
networking with all bells and whistles - and many other things you might
not have even dreamed of.

The ARAnyM emulator has the most extensive support for NatFeats.
The Hatari emulator supports the basic NatFeats facilities.



HARDWARE

Making EmuTOS run natively on a new hardware platform is more or less just
a question of driver support for EmuTOS. The same for MiNT, if you'd like
to have it running on top of EmuTOS.

This is the currently supported Atari hardware:

- CPU support for m68000, m68010, m68020, m68030, m68040, m68060, ColdFire V4e
- FPU detection
- 68030 MMU and cache
- Memory controller (both ST and Falcon)
- TT FastRAM
- Monitor type detection (mono, RGB or VGA)
- DMA controller
- WD 1772 / AJAX Floppy disk controller
- MFP, MFP #2
- PSG
- ST shifter
- STe shifter
- TT shifter
- VIDEL
- ACIAs, IKBD protocol, mouse
- MegaST Real-Time Clock (set clock not tested)
- ICD AdSCSI Plus ST Real-Time Clock
- NVRAM (including RTC)
- Blitter (Blitmode() just returns HW status)
- Microwire
- SCC
- IDE
- ACSI
- SD/MMC
- The Native Features interface to some degree

Currently unsupported hardware features:
- DSP
- SCSI

EmuTOS is also available on some non-Atari hardware:
- Amiga (WinUAE, Amiga 1000, Amiga 1200 with Blizzard 1260)
- ColdFire Evaluation Boards (M5484LITE, M5485EVB)



AVAILABILITY

The EmuTOS home page is:

    http://emutos.sourceforge.net/

The project home is on SourceForge:

    http://sourceforge.net/projects/emutos/

The latest releases can be downloaded from:

    http://sourceforge.net/projects/emutos/files/emutos/

Development snapshots allow you to test the current development progress:

    http://sourceforge.net/projects/emutos/files/snapshots/

The latest sources are always available from our Git server at:

    http://sourceforge.net/p/emutos/code/

If you are just curious or would like to help us develop this nice little
OS, you are invited to subscribe to our mailing list for developers at:

    https://lists.sourceforge.net/lists/listinfo/emutos-devel


We hope that you like EmuTOS. If you have any suggestions or comments, we
always appreciate hearing both the good and the bad things about it.


The EmuTOS development team.

-- 
Originally written by Martin Doering
http://emutos.sourceforge.net/
