Version 0.18

From ES40 Emulator
(Redirected from Latest Version)
Jump to: navigation, search

Release Date and Download Link

Version 0.18 was released on March 4th, 2008, and can be downloaded here.

Changelog

Changes from Version 0.17 are:

  • Merged Brian Wheeler's New IDE code into the standard controller. NewIde class has disappeared. (04-mar-2008, Camiel Vanderhoeven)
  • Support some basic MP features. (CPUID read from C-Chip MISC register, inter-processor interrupts) (04-mar-2008, Camiel Vanderhoeven)
  • Allow memory sizes over 1 GB. (02-mar-2008, Brian Wheeler)
  • Natural way to specify large numeric values ("10M") in the config file. (02-mar-2008, Camiel Vanderhoeven)
  • Add BREAKPOINT INSTRUCTION command to IDB. (29-feb-2008, Brian Wheeler)
  • Restart serial port connection if lost. (29-feb-2008, Brian Wheeler)
  • Fix RMC reported psu and temperature status. (29-feb-2008, Brian Wheeler)
  • Compute SROM checksum for network interface. Tru64 needs this. (29-feb-2008, Brian Wheeler)
  • Fix vms boot problems from ide cdrom and make Tru64 installation possible by: a) Clearing the busmaster active bit when the bit 1 is written to the busmaster status register; and b) Attempting to refire the interrupt if the driver seems to have missed it. (27-feb-2008, Brian Wheeler)
  • Major rewrite of NIC code. Real internal loopback support, ring queue for incoming packets, and various other improvements. (26-feb-2008, David Hittner)
  • Improvements to backtrace functionality on GNU systems (26-feb-2008, Brian Wheeler)
  • Better config file syntax checking and error reporting. (26-feb-2008, Brian Wheeler)
  • Moved DMA code into it's own class (CDMA). (26-feb-2008, Camiel Vanderhoeven)
  • Shut down display refresh thread when emulator exits. (20-feb-2008, David Leonard)
  • Return SYSTEM RESOURCE FAILURE sense if dato/dati buffer size is exceeded in SCSI operations. (20-feb-2008, David Leonard)
  • Support MSF in READ TOC scsi command. (20-feb-2008, Brian Wheeler)
  • Show disk creation progress. (20-feb-2008, David Leonard)
  • Avoid 'Xlib: unexpected async reply' errors on Linux/Unix/BSD's by adding some thread interlocking. (20-feb-2008, David Leonard)
  • GNU compiler support on Windows. (20-feb-2008, Alex)
  • HCI register space for UISB added. (18-feb-2008, Brian Wheeler)
  • Added vital product data page 0 (Required for Tru64). (18-feb-2008, Brian Wheeler)
  • The READ CAPACITY scsi command now properly returns the number of the last LBA (n-1); not the number of LBA's (n). INITIALIZE now works properly on a scsi disk. (18-feb-2008, Camiel Vanderhoeven)
  • Added READ_LONG scsi command, and support for MODE_SENSE changeable parameter pages. (last bit needed to get SCSI working on OpenVMS) (16-feb-2008, Camiel Vanderhoeven)
  • The owner of the SCSI bus is allowed to re-arbitrate for it. (16-feb-2008, Camiel Vanderhoeven)
  • Added Symbios 53C810 SCSI controller. (16-feb-2008, Camiel Vanderhoeven)
  • Moved keyboard code into it's own class. (CKeyboard). (12-feb-2008, Camiel Vanderhoeven)
  • Show originating device name on memory errors. (08-feb-2008, Camiel Vanderhoeven)
  • Set default keyboard translation to scanset 3 (PS/2). (08-feb-2008, Camiel Vanderhoeven)
  • On GNU systems, display a backtrace when a segmentation fault occurs, and DEBUG_BACKTRACE has been defined. (07-feb-2008, Brian Wheeler)
  • Fixed registration of ROM expansion address. (06-feb-2008, Camiel Vanderhoeven)
  • Check for FPEN in old floating point code. (06-feb-2008, Camiel Vanderhoeven)
  • Proper interrupt handling in serial port device. Fixes an initialization bug spotted by David Hittner. (06-feb-2008, Camiel Vanderhoeven)
  • Disable unaligned access check alltogether; it doesn't work properly for some reason. (05-feb-2008, Camiel Vanderhoeven)
  • The new floating point code (21-jan-2008) has some unidentified problems. The OpenVMS installation routine fails with this new code. For now, the old floating point code has been restored, and the new floating-point code is used only when HAVE_NEW_FP has been defined. The new code should be fixed, so we can take advantage of floating point exceptions. (05-feb-2008, Camiel Vanderhoeven)
  • Display a message when system initialization has failed. (05-feb-2008, Brian Wheeler)
  • Put X64 around 64-bit constants in DO_CVTQL. (compilation issue on some Linux'es) (05-feb-2008, Camiel Vanderhoeven)
  • Corrected a typo in the definition of PCI_PTE_SHIFT (2 should be 12) that caused an OpenVMS procgone bugcheck. (04-feb-2008, Camiel Vanderhoeven)
  • Completed LPT support so it works with FreeBSD as a guest OS. (02-feb-2008, Brian Wheeler)
  • Avoid unnecessary shift-operations to calculate constant values. (01-feb-2008, Camiel Vanderhoeven)
  • Improved speed by remembering the number of instructions left in current memory page, so that the translation-buffer doens't need to be consulted on every instruction fetch when the Icache is disabled. (30-jan-2008, Camiel Vanderhoeven)
  • Remember separate last found translation-buffer entries for read and write operations. This should help with memory copy operations. (29-jan-2008, Camiel Vanderhoeven)
  • Avoid interrupts from the new IDE device that originated while interrupts were disabled. (29-jan-2008, Brian Wheeler)
  • Improved floating-point exception handling. (28-jan-2008, Camiel Vanderhoeven)
  • Lifted hardcoded file-size limit of 10,000 bytes for config file. (26-jan-2008, Camiel Vanderhoeven)
  • Bugfix in the VAX floating point STF and the IEEE floating point STS instructions. (26-jan-2008, Camiel Vanderhoeven)
  • Don't repeat interrupts from the new IDE controller too soon. (26-jan-2008, Brian Wheeler)
  • Do unaligned trap only when a page boundary is crossed. Something is causing alignment traps in the SRM console, with the DAT bit set to false, and no OS handler in place. Also, when OpenVMS boots there are alignment traps that shouldn't happen. None of these cross page boundaries, so we're safe for now. (26-jan-2008, Camiel Vanderhoeven)
  • Trap on unaligned memory access. The previous implementation where unaligned accesses were silently allowed could go wrong when page boundaries are crossed. (25-jan-2008, Camiel Vanderhoeven)
  • Allow specifying autocreate_size on a disk image to have it created if it doesn't exist. (25-jan-2008, Camiel Vanderhoeven)
  • Added an option to disable the processor Icache. The emulator runs faster when this is disabled, but that might lead to problems with some OS'es. (25-jan-2008, Camiel Vanderhoeven)
  • Added do_pci_write and do_pci_read functions to the PCI base device. (24-jan-2008, Camiel Vanderhoeven, David Hittner)
  • Fixed overflow-detection. (24-jan-2008, Camiel Vanderhoeven)
  • Added missing integer /V instructions (22-jan-2008, Camiel Vanderhoeven, Bob Supnik)
  • win32 GUI made compatible with older windows SDK. (22-jan-2008, Camiel Vanderhoeven)
  • New floating-point code (21-jan-2008, Camiel Vanderhoeven, Bob Supnik)
  • Fixed misinterpretation of the INT bit in integer overflow traps. (21-jan-2008, Camiel Vanderhoeven)
  • Limited the maximum number of sectors, as the OpenVMS IDE driver doesn't like 255 sectors. (Camiel Vanderhoeven, 21-jan-2008)
  • Added X11 GUI. (20-jan-2008, Camiel Vanderhoeven)
  • Added win32 GUI. (19-jan-2008, Camiel Vanderhoeven)
  • Run CPU in a separate thread if CPU_THREADS is defined. NOTA BENE: This is very experimental, and has several problems. (19-jan-2008, Camiel Vanderhoeven)
  • Replaced sext_64 inlines for performance reasons (18-jan-2008, Camiel Vanderhoeven, David Hittner)
  • Process device interrupts after a 100-cpu-cycle delay. (18-jan-2008, Camiel Vanderhoeven)
  • Added ADDL/V instruction (16-jan-2008, David Hittner, Bob Supnik)
  • Fixed some timeouts on new IDE controller. (16-jan-2008, Brian Wheeler)
  • When a keyboard self-test command is received, and the queue is not empty, the queue is cleared so the 0x55 that's sent back will be the first thing in line. Makes the keyboard initialize a little better with SRM. (15-jan-2008, Brian Wheeler)
  • Bugfix regarding double deletion of disk device objects. (13-jan-2008, Brian Wheeler)
  • New IDE-controller working on big-endian host architectures. (13-jan-2008, Fang Zhe)
  • Support additional CD-ROM commands. (13-jan-2008, Brian Wheeler)
  • Smart algorithm for determining optimal cylinder/head/sector disk layout. (13-jan-2008, Camiel Vanderhoeven)
  • End debugger run on Ctrl-C. (12-jan-2008, Brian Wheeler)
  • SCSI Engine added to Disk class. SCSIBus class and SCSIDevice base class added. (12-jan-2008, Camiel Vanderhoeven)
  • bugfix to ATAPI code in new IDE controller. SRM can now boot from IDE CD-ROMs. (09-jan-2008, Brian Wheeler)
  • ATAPI improvements to new IDE controller. (09-jan-2008, Brian Wheeler)
  • Put filename without path in disk model number. (09-jan-2008, Brian Wheeler)
  • Save disk state to state file. (09-jan-2008, Camiel Vanderhoeven)
  • Use Brian Wheeler's CNewIde class instead of the CAliM1543C_ide class if HAVE_NEW_IDE is defined. This change will be undone when the new ide controller will replace the old standard one. (08-jan-2008, Camiel Vanderhoeven)
  • "Old" IDE-controller working on big-endian host architectures. (08-jan-2008, Fang Zhe)
  • S3 Trio VGA-card working on big-endian host architectures. (08-jan-2008, Fang Zhe)
  • Removed last references to IDE disk read SRM replacement. (08-jan-2008, Camiel Vanderhoeven)
  • Added NewIde class. Due to replace the current IDE controller implementation. (08-jan-2008, Brian Wheeler)
  • PCI scatter/gather DMA memory mapping support added. (07-jan-2008, Camiel Vanderhoeven)
  • Default blocksize set to 2048 bytes for CD-ROM devices. (06-jan-2008, Camiel Vanderhoeven)
  • Allow changing block-size on disk devices. (06-jan-2008, Camiel Vanderhoeven)
  • Fixed typo in network-code (05-jan-2008, Fausto Saporito)
  • Do 64-bit file I/O properly for FreeBSD and OS X. (05-jan-2008, Fang Zhe)
  • Added CDiskDevice class to allow using raw devices. (05-jan-2008, Camiel Vanderhoeven)
  • Made MAC-address of network-card configurable (04-jan-2008, David Hittner)
  • Make telnet work on Apple OS X. (04-jan-2008, Fang Zhe)
  • Improved compatibility with SDL on Apple OS X (including keyboard). (04-jan-2008, Fang Zhe)
  • Added swap_xx macro's for use in places where bytes need to be swapped regardless of endianess. (04-jan-2008, Camiel Vanderhoeven)
  • Support for larger disk images by using 64-bit file I/O. (04-jan-2008, Camiel Vanderhoeven)
  • Cirrus VGA-card working on big-endian host architectures. (03-jan-2008, Camiel Vanderhoeven)
  • PCI base device working on big-endian host architectures. (03-jan-2008, Camiel Vanderhoeven)
  • Compatibility with SDL on Apple OS X. (03-jan-2008, Fang Zhe)
  • Compileable on Apple OS X and FreeBSD. (03-jan-2008, Fang Zhe)
  • CPU working on big-endian host architectures. (02-jan-2008, Camiel Vanderhoeven)
  • Recognize endianess on more architectures. (02-jan-2008, Fang Zhe)