V0.7 (alpha) - Source tree imported into CVS - Unix: "basilisk_ii_keycodes" renamed to "keycodes", default location of keycodes file is now /usr/local/share/BasiliskII/keycodes - Unix: improved the install target - Unix/sys_unix.cpp: Sys_open() checks whether an HFS volume is currently mounted under Linux and tries to unmount it - Unix/sys_unix.cpp: implemented SysAddDiskPrefs() for Linux (scans /etc/fstab to find HFS volumes) - Unix/sys_unix.cpp: implemented Sys(Prevent/Allow)Removal() [Ryan Cumming] - Unix/main_unix.cpp: added call to gtk_set_locale() before gtk_init() [Toshimitsu Tanaka] V0.7 (alpha) - 25.Jul.1999 - with 32-bit clean ROMs, the CPU type is now reported as a 68030 (for those OpenTransport fans :-) - added new prefs item "nosound" to disable sound output - sound output implemented for BeOS, Linux, Solaris and AmigaOS (requires Sound Manager 3.x) - dummy/audio_dummy.cpp: created - dummy/prefs_dummy.cpp: created - dummy/xpram_dummy.cpp: created - macos_util.cpp: added FileDiskLayout() - video.cpp: removed useless BlankMousePointer flag - uae_cpu: updated to UAE 0.8.9 - uae_cpu/gencpu.c: fixed bug in CAS2, OpenTransport works now - Unix: moved Linux- and FreeBSD-specific files to their respective directories - Unix: added 64-bit data types (needed by timer_unix.cpp) - Unix: added keyboard translation method using raw keycodes instead of keysyms (controlled by "keycodes" and "keycodefile" prefs items) which doesn't depend on the selected keymap - Unix: when running as root, Basilisk II tries to assign real-time priorities to some threads - Unix: calls to nanosleep() protected by autoconf define - Unix/main_unix.cpp: tick thread replaced by POSIX.4 timer when possible - Unix/timer_unix.cpp: uses POSIX.4 timing facilities when possible - Unix/video_x.cpp: all X calls during emulation are now done from the redraw thread which is also active in DGA mode; as a result, XLockServer()/XUnlockServer() are no longer necessary - Unix/sysdeps.h: changed C++ comments to C comments as this file is included by some *.c files in uae_cpu [Brian J. Johnson] - Unix/sysdeps.h: added unaligned access functions for SGI MIPSPro compiler [Brian J. Johnson] - Unix/Irix/unaligned.c: created [Brian J. Johnson] - Windows: updated sources V0.6 (alpha) - 12.Jul.1999 - Unix: Basilisk II now accepts a "-display " argument to specify the X display to use - Unix: mounting floppies with Ctrl-F1 now works - Unix/ether_linux.cpp: now works when ethertap is configured for multicast support - Unix/main_unix.cpp: XOpenDisplay() is now called from main() - Unix/scsi_freebsd.cpp: added support for FreeBSD 2.x [Orlando Bassotto] - Unix/posix_sem.cpp: updated [Orlando Bassotto] - Unix/prefs_editor_gtk.cpp: serial pane recognizes FreeBSD serial/ printer devices [Orlando Bassotto] - Unix/serial_unix.cpp: FreeBSD printer devices are recognized [Orlando Bassotto] - Unix/sys_unix.cpp: FreeBSD CD-ROM/floppy support, correct default serial prefs for FreeBSD [Orlando Bassotto] - Unix/sys_unix.cpp: fixed SysIsDiskInserted for Linux floppy - Unix/FreeBSD/scsidump.cpp: added [Orlando Bassotto] V0.6 (alpha) - 5.Jul.1999 - fixed mouse for Classic ROM and MacOS 6.x/7.x - Unix/ether_linux.cpp: added ethertap support (see README for details) - dummy/clip_dummy.cpp: created V0.6 (alpha) - 2.Jul.1999 - rom_patches.cpp: added CheckROM() which has to be called before PatchROM() - rom_patches.cpp: started ROM patches for Classic/SE ROMs - adb.cpp: ADB handlers get ADBBase passed in a3 - adb.cpp: moved temporary data area to ADBBase+0x163 (Mac Classic mouse handler wants it there) - emul_op.cpp/EMUL_OP_CLKNOMEM: reading from the RTC time registers yields the correct time and date - uae_cpu/cpu_emulation.h: added FLAYOUT_NONE to disable frame buffer mapping - uae_cpu/basilisk_glue.cpp: RAMBaseMac/ROMBaseMac are now set in Init680x0() (instead of main_*.cpp) - uae_cpu/memory.cpp: added support for Mac Plus/II memory maps and 24 bit addressing - uae_cpu/newcpu.cpp: re-implemented support for 68000/010 emulation - uae_cpu/cpuopti.c: patched for egcs [Orlando Bassotto] - main_*.cpp: added TwentyFourBitAddressing flag - main_*.cpp: CPU type and addressing mode depends on ROM version - main_*.cpp: tick thread changed to use new TimerDateTime() function - include/video.h: VideoInit() takes "classic" parameter to select "Classic" video mode (512x342, 1-bit) - include/timer.h: new function TimerDateTime() to get local date/time in Mac format - Unix: support for FreeBSD [Orlando Bassotto] - Unix/scsi_freebsd-cam.cpp: created [Orlando Bassotto] - Unix/posix_sem.cpp: created [Orlando Bassotto] - Unix/main_unix.cpp: added call to XF86DGAForkApp() - Unix/video_x.cpp: support for Classic video mode and display on 1-bit screens - Unix/video_x.cpp: added check whether screen is really DGA capable - Unix/video_x.cpp: added check for image endianess - Unix/sys_unix.cpp: added replacement for Linux llseek() for platforms that don't have it - Unix/*.cpp: replaced sleep()/usleep() by nanosleep() - Amiga/prefs_editor_amiga.cpp: ROM file selection via file requester didn't work V0.6 (alpha) - 22.Jun.1999 - fixed small compilation problems on BeOS/x86 - rsrc_patches.cpp: fixed for MacOS 7.6.1 - dummy/scsi_dummy.cpp: scsi_send_cmd() was missing timeout parameter - Unix/video_x.cpp: fixed compilation problem on systems without DGA - BeOS/prefs_editor_beos.cpp: it is now possible to drop ROM files on the "ROM File" control - BeOS/sys_beos.cpp: Basilisk II will not try to unmount volumes (from BeOS) that are to be mounted read-only V0.6 (alpha) - 20.Jun.1999 - scsi.cpp: added "timeout" parameter to scsi_send_cmd() - scsi_*.cpp: fixed S/G table processing bug in scsi_send_cmd() (every entry was written to/read from the same buffer address) - Unix/scsi_linux.cpp: implemented - Unix/video_x.cpp: new hotkeys: Ctrl-Esc = emergency quit from DGA mode, Ctrl-Tab = suspend DGA mode - Unix/video_x.cpp: implemented VideoQuitFullScreen() (used by ErrorAlert()) - BeOS/video_beos.cpp: implemented VideoQuitFullScreen() (used by ErrorAlert()) V0.6 (alpha) - 19.Jun.1999 - sys_*.cpp: 400K DiskCopy disk images are now recognized (84 byte header) - user_strings.cpp: added strings for GTK preferences editor - Unix: implemented preferences editor (requires GTK) - Unix: added "install" target to Makefile - Unix: created minimal man page - Unix/main_unix.cpp: ErrorAlert() and WarningAlert() pop up dialog boxes when GTK is present - BeOS/prefs_editor_beos.cpp: added "Create" button to volume list - BeOS/prefs_editor_beos.cpp: "About" dialog added V0.5 (alpha) - 13.Jun.1999 - prefs.cpp: added ZapPRAM() - prefs.cpp: PrefsReplaceString() can now take an index - user_strings.cpp: added strings for preferences editor - prefs_editor_*.*: created - sys.h: SysCDStop() now takes the MSF address of the lead-out track as a parameter - AmigaOS: start offset and size of devices is now given in blocks, not bytes - AmigaOS: implemented preferences editor - BeOS: implemented preferences editor - AmigaOS/sys_amiga.cpp: added checks for NSD and 64-bit TD commands (not yet used) - AmigaOS/sys_amiga.cpp: implemented CD audio commands - Unix/sys_unix.cpp: CD-ROM devices are opened with O_NONBLOCK flag - Unix/sys_unix.cpp: using CDROM_DRIVE_STATUS to check for inserted disks if drive supports it - Unix/sys_unix.cpp: CD-ROM devices are closed and reopened on eject to clear the driver's internal buffers - Unix/video_x.cpp: added incremental refresh mode [David Lawrence] - Unix/video_x.cpp: small changes to the DGA code V0.5 (alpha) - 17.May 1999 - new "fpu" prefs item to enable/disable the (buggy) UAE FPU emulation - Defaults for platform-specific prefs items can be set in the new AddPlatformPrefsDefault() function which gets called by PrefsInit() - added dummy audio component, so MacOS versions >=7.5 should be more stable when running programs that try to do something with sound - adb.cpp: relative mouse mode should work a bit better - macos_util.cpp: new function HasMacStarted() to check Mac warm start flag - macos_util.cpp: new function MountVolume() to aid implementation of manual volume mounting - cdrom.cpp: added CDROMMountVolume() - BeOS: replaced "Mount floppy" menu item by submenu with list of all removable volumes - Win32: many fixes and improvements [Lauri Pesonen] V0.5 (alpha) - 8.May 1999 - added information about GPL to all source files - rom_patches.cpp: fixed one unaligned access problem (Sparc) - replaced "off_t" by "loff_t" to allow 64 bit disk access under Linux - created "dummy" platform directory containing generic "do-nothing" versions of certain files to aid in testing and porting - Unix: improved autoconf stuff and sysdeps.h - Unix: now compiles under Solaris - Unix/video_x.cpp: automatic SHM detection, fallback to XPutImage V0.5 (alpha) - 26.Apr.1999 - main_*.cpp: ramsize is rounded down to 1MB boundary - uae_cpu/memory.h: added "REGPARAM2" in more places [Lauri Pesonen] - uae_cpu/memory.cpp: changed "Diff" variables from "uae_8 *" to "uae_u32" [Lauri Pesonen] - uae_cpu/memory.cpp: added "REGPARAM2" in more places [Lauri Pesonen] - uae_cpu/newcpu.h: added "REGPARAM2" in more places [Lauri Pesonen] - uae_cpu/newcpu.cpp: added "REGPARAM2" in more places [Lauri Pesonen] - Windows/*: integrated updated Windows sources from Lauri Pesonen V0.5 (alpha) - 25.Apr.1999 - prefs.cpp/PrefsRemoveItem(): deleting the last item now works - uae_cpu/memory.cpp: changed "uae_u8 REGPARAM2 *func()" to "uae_u8 *REGPARAM2 func()" - Unix/ether_unix.cpp: implemented - Unix/Linux/NetDriver: created - Unix/video_x.cpp: added support for 32 bit screens, cleaned up VisualInfo code - BeOS/ether_beos.cpp: cleaned up the code - BeOS/video_beos.cpp: full screen video mode and color depth can now be set via prefs("scr/") V0.4 (alpha) - 15.Apr.1999 - Added some literature references to the source files - Modularized CPU engine: the interface of the CPU engine is now defined in cpu_emulation.h, so different CPU engines can be substituted more easily [as requested by Bill Huey] - uae_cpu/gencpu.c: duplicate_carry() was missing in SUB and NBCD routines - Unix: added autoconf stuff - Unix: modified the makefile so it won't fail if cpuopti didn't work [Daniel Thompson] V0.4 (alpha) - 11.Apr.1999 - cdrom.cpp: find_hfs_partition() bailed out too soon when finding no "PN" signature [Lauri Pesonen] - prefs.cpp: prefs file allows more whitespace between keyword and value [Lauri Pesonen] - prefs.cpp: remodeled to allow platform-specific prefs items (list of keywords is kept in table) - video.cpp/cscSetEntries: luminance mapping uses integer instead of floating point math - video_*.cpp: on most systems, the frame buffer is allocated with two additional lines as some ROM versions seem to write behind the frame buffer proper - BeOS/Unix/sysdeps.h: defined X86_ASSEMBLY on i386/GCC systems - BeOS/Unix/sysdeps.h: redefined get/put_mem() functions to take and return an uae_u32 value, added some more x86 optimizations - Unix/serial_unix.cpp/kSERDBaudRate: rates between 57600 and 65535 result in a rate of 57600 [Lauri Pesonen] V0.4 (alpha) - 10.Apr.1999 - upgraded to UAE 0.8.8 CPU, CPU is now built with "gencpu", UAE sources moved to "uae" directory - new preferences item "rom" to specify the path of the ROM file - new preferences item "ether" for Ethernet driver - new INTFLAG_ETHER interrupt flag - main_*.cpp: added ChoiceAlert() - main_*.cpp: disabled UAE FPU (as it is buggy) - serial_*.cpp: device_name is now a "const char *" - serial_*.cpp: implemented monitor (#define MONITOR 1 to activate) - *.h: changed "#ifdef _XXX_H_" to "#ifdef XXX_H" as symbols starting with an underscore are reserved - rom_patches.cpp: icon data moved to sony/disk/cdrom.cpp - rom_patches.cpp: removed unnecessary a0/a1 save/restore from drivers - slot_rom.cpp: removed unnecessary a0/a1 save/restore from drivers - serial_defs.h: added error codes - AmigaOS: the Kickstart ROM is no longer used to redirect NIL pointer accesses as this crashes some machines (especially 68040-based); a scratch memory block is used instead - AmigaOS/serial_amiga.cpp: implemented - AmigaOS/ether_amiga.cpp: implemented - AmigaOS/sys_amiga.cpp: SysAddSerialPrefs() now returns real defaults - AmigaOS/main_amiga.cpp: when the memory for the Mac RAM and ROM cannot be allocated, an error message is displayed (instead of crashing) - AmigaOS/main_amiga.cpp: interrupts are disabled during execution of an EMUL_OP routine - AmigaOS/asm_support.asm: the CTRL-C handler checks for pending AmigaDOS operations - AmigaOS/asm_support.asm: the interrupt signal exception is rethrown when the interrupt level in EmulatedSR gets lowered while interrupts are pending - BeOS: switched from project files to Be supplied makefile system - BeOS/ether_beos.cpp: implemented - BeOS/serial_beos.cpp: modem status of parallel device is returned as (dsrEvent | dcdEvent | ctsEvent) - BeOS/serial_beos.cpp: implemented kSERDBaudRate - BeOS/serial_beos.cpp: serdtDCE is set in PrimeIn()/PrimeOut() - Unix/serial_unix.cpp: added support for parallel ports - Unix/serial_unix.cpp: serdtDCE is set in PrimeIn()/PrimeOut() - Unix/video_x.cpp: pressing F12 and q will quit Basilisk II in DGA mode (useful when it crashed) V0.3 (alpha) - 14.Mar.1999 - Unix/video_x.cpp: added 15, 16 and 32 bit window modes [Bill Huey] - BeOS/video_beos.cpp: "screen" prefs item is now either "win//" for window mode or "scr" for full-screen mode - added documentation of preferences file format to README V0.2 (alpha) - 11.Mar.1999 - tested with ROM versions 19 and 26 - prefs.cpp: renamed TYPE_BOOL to TYPE_BOOLEAN beacuse of name clash on BeOS R4.1 - uae_memory.cpp: added support for frame buffer pixel type conversion in virtual addressing mode, the Mac frame buffer layout now has to be specified in MacFrameLayout (video.h) - Unix/video_x.cpp: the "screen" prefs item is now read to select window mode (with a specified window size) or DGA mode - Unix/video_x.cpp: DGA mode supports 15, 16 and 32 bit modes (packed 24 bit pixels don't work) - Unix/Makefile.linux: added -D_REENTRANT to compiler flags V0.2 (alpha) - 23.Jan.1999 - first alpha release