1BSVC Changes 2============ 3 42.2 to 2.1 (Apr 30, 2015) 5------------------------- 6BSVC 2.2 is the first major release since 1998, and is an update for modern 7systems. This is a "first pass" release to get BSVC running on modern host 8machines. Specific changes include: 9 10* Relicensing under the GPL v2.1. 11* Converting the assembler to ANSI C11, adding function prototypes, and 12 reformatting the source code. 13* Converting the rest of the system to ANSI C++ and starting to use C++ 11 14 features (auto, lambdas, etc). 15* Replacing some custom linked-list code with STL containers. 16* Replacing most uses of C-style strings with std::string objects. 17* Reformatting the C++ code with 'clang-format' and removing lots of extraneous 18 comments. Copyright information is now centralized in a file in the 19 distribution top-level. 20* Replaced the recursive Makefile build system with a single non-recursive 21 Makefile. The build system now does real dependency analysis. 22* Many code-cleanups throughout the system: it now builds C++ code with -Wall 23 and -Werror. 24* Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc). 25* The sim68000 and sim68360 code was reogranized under a single directory tree 26 and now share devices and the S-record loader. 27 28Additionally, several serious bugs in the simulator were fixed: 29 30* Updating for 64 bit host systems: Negative offsets in address register 31 indirect with displacement mode would cause bus errors on systems with 32 64-bit 'unsigned long', since the sign-extension code assumed 32-bit longs 33 on the host and the result did not overflow properly (thus yielding an 34 'address' outside of the 32-bit address space). 35 Fixed by using a properly sized type for simulator addresses. 36* Events were being lost in the event handling code due to the 'myIterations' 37 variable quickly growing so large that the number of microseconds to use when 38 searching for the next event to handle became negative. 39 Fixed by rewriting the event handler in terms of nano-seconds and clamping 40 the minimum time delta per Check() invocation to 1ns. 41 42The system is now working well enough that it can run the distributed samples, 43as well as boot a port of the Xinu (http://www.xinu.cs.purdue.edu) operating 44system. 45 46### Administrivia 47 48BSVC hosting has shifted to github and, as stated, the system has been 49relicensed under the GPL v2.1. 50 51Additionally, the mailing list has moved and been split into separate 'users' 52and 'announce' lists: 53 54* bsvc-announce@googlegroups.com: 55 [Announcements (low traffic)](https://groups.google.com/forum/#!forum/bsvc-announce) 56* bsvc-users@googlegroups.com: 57 [Questions and general discussion](https://https://groups.google.com/forum/#!forum/bsvc-users) 58 592.0 to 2.1 (11/08/98) 60--------------------- 61* Some minor changes were made to the user interface to support Tcl/Tk 8.0 62* Some minor changes were made to the C++ code to support compiling with GCC 63 2.8.1 64* Jorand Didier's Motorola 68360 (sim68360) simulator has been added 65 to the distribution. It doesn't contain all of the 68360 devices 66 but it does provide a CPU32 based simulator. 67* Xavier Plasencia's timer device has been added to the 68000 68 simulator (modeled after the 68230 PI/T timer) 69* Fixed a bug with the MOVEA instruction in the Motorola simulators 70 - Thanks to Jorand Didier for pointing this problem out to me 71* Added support for the ABCD and MOVEP instructions to the 72 Motorola simulators 73 - Thanks to Trappel Martin and Xavier Plasencia for this code 74* Fixed bug in 68000 assembler when using $FFFF as an immediate operand 75 - Thanks to Craig A. Haynal for pointing this problem out to me 76 77 782.0 Beta 1 to 2.0 (08/08/96) 79---------------------------- 80* Modified the BSVC C++ framework to use "standard" C++ libraries 81 (STL). Most of this work was done by Seunghee Lee so the 82 framework could be ported to Windows 95. 83* Some minor changes were made to the user interface to support 84 running it under Tcl/Tk for Windows 95. This work was done 85 by Seunghee Lee. 86* Modified Sim68000 to work with the new version of the C++ framework 87* Removed the Hector 1600 and MIL-STD-1750A simulators until they 88 can be ported to the new framework 89* Fixed a problem with the predecrement and postincrement addressing 90 modes when the stack pointer and a byte size operation was specified 91 - Thanks to Jorand Didier for pointing this problem out to me 92 931.0.4 to 2.0 Beta 1 (02/10/96) 94------------------------------- 95* User interface has undergone a major revision 96* Oliver M. Kellogg's MIL-STD-1750A simulator has been added 97 to the distribution 98* Breakpoints set using Tutor under Sim68000 work correctly 99* Support for GCC 2.7.2 and Tk 4.0 added 100 1011.0.3 to 1.0.4 (07/31/95) 102------------------------- 103* Stack pointer bug in the ADDA, SUBA, CMPA, and LEA instructions fixed 104 - Thanks to James Yuill at NCSU for reporting this bug 105 1061.0.2 to 1.0.3 (07/25/95) 107------------------------- 108* Bug in Sim68000's DIVS, BCHG, BCLR, BSET, and BTST instructions fixed 109 - Thanks to Robert Woodside at NCSU for reporting the DIVS bug 110 - Thanks to John R Potter at Penn State for reporting Bit instrution bug 111* M68681 interrupt level bug fixed 112* Sim68000 interrupt servicing modified so breakpoints at a service 113 routine are handled correctly 114 - Thanks to Jonathan Bredin at the University of Pennsylvania for 115 making me check the interrupts out 116* Font resources changed for the GUI 117* Insert registers in trace window bug fixed 118 - Thanks to Stephanie Watson at NCSU for reporting the bug 119 1201.0.1 to 1.0.2 (02/18/95) 121------------------------- 122* Added support for the SUBX instruction to Sim68000 123* Bug in Sim68000's CMPM and RTR instructions fixed 124 - Thanks to John R Potter at Penn State for reporting the bug 125* Mailing list for BSVC has been setup 126 1271.0 to 1.0.1 (02/11/95) 128----------------------- 129* Memory viewer's dump utility fixed 130* Bug in Sim68000's CMP and CMPA instructions fixed 131 - Thanks to John R Potter at Penn State for reporting the bug> 132* Solaris support added 133 1341.0b3 to 1.0 135------------ 136* The memory viewer has been made larger and faster 137* WWW Home Page selection has been added to the help menu 138 This starts a WWW browser pointed at the BSVC Home Page 139* Added code to handle the STOP instruction 140* Fixed a problem with the RTS instruction 141* Unimplemented intructions cause an illegal instruction exception 142* Fixed the 68000 assembler's INCLUDE directive so that it can 143 be in any case 144* Compiles with GCC 2.6.2 145 1461.0b2 to 1.0b3 147-------------- 148* Added an INCLUDE directive to the 68000 assembler 149* Fixed a bug in the Program Listing window that caused it to 150 only work for programs listed in ascending order 151* Corrected a small problem with the file selector that caused it 152 to "grab" the mouse while reading a directory (This causes problems 153 with networked file systems that take a long time to read) 154* Fixed bugs in two of the Framework classes that caused them not 155 to compile under GCC 2.6.0 156 1571.0b1 to 1.0b2 158-------------- 159* Added a BREAK instruction to the 68000 simulator and assembler 160 that acts like a breakpoint. When the simulator executes this 161 instruction while "running" it will stop running like it 162 hit a breakpoint. 163* Added a new file selector to the user interface 164* Fixed several small bugs in the HECTOR 1600 simulator 165