Releases: BSVC/bsvc
This is BSVC version 2.4.6.
This is BSVC version 2.4.6
This is a maintenance release, fixing a typo in a Makefile.
BSVC 2.4 is the fourth major release since 1998, and is an update for
modern systems. This release fixes major bugs in the assembler and
makes it compile without warnings. -Wall and -Werror are now enabled
for C code as well as C++. This point release also fixes a bug deleting
non-dynamic member variables at exit, starts using C++11 smart pointers
and fixes permissions on installed data files so that they are not executable.
Specific changes since the 1998 release include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes,
and reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use
C++11 features (auto, lambdas, etc). - Replacing custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of
extraneous comments. Copyright information is now centralized in a
file in the distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C and C++
code with -Wall and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory
tree and now share devices and the S-record loader. - Move the page up and page down buttons in the memory viewer closer to
left side of the window. - Fix an uncaught exception in updating listing code in the UI when
there is no listing. - Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit
longs on the host and the result did not overflow properly (thus
yielding an 'address' outside of the 32-bit address space). Fixed by
using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the
'myIterations' variable quickly growing so large that the number of
microseconds to use when searching for the next event to handle became
negative. Fixed by rewriting the event handler in terms of nano-seconds
and clamping the minimum time delta per Check() invocation to 1ns. - Interrupts received when masked by the processor were lost, as
the interrupt request handling member function would acknowledge the
interrupt immediately instead of marking it pending. Fixed by changing
the interrupt request routine to place the incoming interrupt onto a
priority queue of pending interrupts, and changing the service routine
to take the top entry off of the queue on each invocation. This matches
the 68000 specification. - The system is now working well enough that it can run the
distributed samples, as well as boot and reliably run a port of the
Xinu (http://www.xinu.cs.purdue.edu) operating system. Code compiled
with GCC and coverted to S-records using objdump runs trivially.
- Updating for 64 bit host systems: Negative offsets in address register
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1. BSVC remains copyright Bradford Mott.
Additionally, the mailing list has moved and been split into separate
'users' and 'announce' lists:
- [email protected]: Announcements (low traffic)
- [email protected]: Questions and general discussion
This is BSVC version 2.4.5.
This is BSVC version 2.4.5
This is a maintenance release, modifying the comoon Makefile to aid
packaging for different operating systems.
BSVC 2.4 is the fourth major release since 1998, and is an update for
modern systems. This release fixes major bugs in the assembler and
makes it compile without warnings. -Wall and -Werror are now enabled
for C code as well as C++. This point release also fixes a bug deleting
non-dynamic member variables at exit, starts using C++11 smart pointers
and fixes permissions on installed data files so that they are not executable.
Specific changes since the 1998 release include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes,
and reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use
C++11 features (auto, lambdas, etc). - Replacing custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of
extraneous comments. Copyright information is now centralized in a
file in the distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C and C++
code with -Wall and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory
tree and now share devices and the S-record loader. - Move the page up and page down buttons in the memory viewer closer to
left side of the window. - Fix an uncaught exception in updating listing code in the UI when
there is no listing. - Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit
longs on the host and the result did not overflow properly (thus
yielding an 'address' outside of the 32-bit address space). Fixed by
using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the
'myIterations' variable quickly growing so large that the number of
microseconds to use when searching for the next event to handle became
negative. Fixed by rewriting the event handler in terms of nano-seconds
and clamping the minimum time delta per Check() invocation to 1ns. - Interrupts received when masked by the processor were lost, as
the interrupt request handling member function would acknowledge the
interrupt immediately instead of marking it pending. Fixed by changing
the interrupt request routine to place the incoming interrupt onto a
priority queue of pending interrupts, and changing the service routine
to take the top entry off of the queue on each invocation. This matches
the 68000 specification. - The system is now working well enough that it can run the
distributed samples, as well as boot and reliably run a port of the
Xinu (http://www.xinu.cs.purdue.edu) operating system. Code compiled
with GCC and coverted to S-records using objdump runs trivially.
- Updating for 64 bit host systems: Negative offsets in address register
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1. BSVC remains copyright Bradford Mott.
Additionally, the mailing list has moved and been split into separate
'users' and 'announce' lists:
- [email protected]: Announcements (low traffic)
- [email protected]: Questions and general discussion
This is BSVC version 2.4.4
This is BSVC version 2.4.4
This is a maintenance release, modifying Makefiles to aid packaging for
different operating systems.
BSVC 2.4 is the fourth major release since 1998, and is an update for
modern systems. This release fixes major bugs in the assembler and
makes it compile without warnings. -Wall and -Werror are now enabled
for C code as well as C++. This point release also fixes a bug deleting
non-dynamic member variables at exit, starts using C++11 smart pointers
and fixes permissions on installed data files so that they are not executable.
Specific changes since the 1998 release include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes,
and reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use
C++11 features (auto, lambdas, etc). - Replacing custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of
extraneous comments. Copyright information is now centralized in a
file in the distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C and C++
code with -Wall and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory
tree and now share devices and the S-record loader. - Move the page up and page down buttons in the memory viewer closer to
left side of the window. - Fix an uncaught exception in updating listing code in the UI when
there is no listing. - Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit
longs on the host and the result did not overflow properly (thus
yielding an 'address' outside of the 32-bit address space). Fixed by
using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the
'myIterations' variable quickly growing so large that the number of
microseconds to use when searching for the next event to handle became
negative. Fixed by rewriting the event handler in terms of nano-seconds
and clamping the minimum time delta per Check() invocation to 1ns. - Interrupts received when masked by the processor were lost, as
the interrupt request handling member function would acknowledge the
interrupt immediately instead of marking it pending. Fixed by changing
the interrupt request routine to place the incoming interrupt onto a
priority queue of pending interrupts, and changing the service routine
to take the top entry off of the queue on each invocation. This matches
the 68000 specification. - The system is now working well enough that it can run the
distributed samples, as well as boot and reliably run a port of the
Xinu (http://www.xinu.cs.purdue.edu) operating system. Code compiled
with GCC and coverted to S-records using objdump runs trivially.
- Updating for 64 bit host systems: Negative offsets in address register
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1. BSVC remains copyright Bradford Mott.
Additionally, the mailing list has moved and been split into separate
'users' and 'announce' lists:
- [email protected]: Announcements (low traffic)
- [email protected]: Questions and general discussion
This is BSVC release 2.4.3.
This is BSVC version 2.4.3
This is a maintenance release, fixing behavior in the assembler's handling
of INCLUDE
directives that trigger an error in modern versions of Clang.
BSVC 2.4 is the fourth major release since 1998, and is an update for
modern systems. This release fixes major bugs in the assembler and
makes it compile without warnings. -Wall and -Werror are now enabled
for C code as well as C++. This point release also fixes a bug deleting
non-dynamic member variables at exit, starts using C++11 smart pointers
and fixes permissions on installed data files so that they are not executable.
Specific changes since the 1998 release include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes,
and reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use
C++11 features (auto, lambdas, etc). - Replacing custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of
extraneous comments. Copyright information is now centralized in a
file in the distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C and C++
code with -Wall and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory
tree and now share devices and the S-record loader. - Move the page up and page down buttons in the memory viewer closer to
left side of the window. - Fix an uncaught exception in updating listing code in the UI when
there is no listing. - Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit
longs on the host and the result did not overflow properly (thus
yielding an 'address' outside of the 32-bit address space). Fixed by
using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the
'myIterations' variable quickly growing so large that the number of
microseconds to use when searching for the next event to handle became
negative. Fixed by rewriting the event handler in terms of nano-seconds
and clamping the minimum time delta per Check() invocation to 1ns. - Interrupts received when masked by the processor were lost, as
the interrupt request handling member function would acknowledge the
interrupt immediately instead of marking it pending. Fixed by changing
the interrupt request routine to place the incoming interrupt onto a
priority queue of pending interrupts, and changing the service routine
to take the top entry off of the queue on each invocation. This matches
the 68000 specification. - The system is now working well enough that it can run the
distributed samples, as well as boot and reliably run a port of the
Xinu (http://www.xinu.cs.purdue.edu) operating system. Code compiled
with GCC and coverted to S-records using objdump runs trivially.
- Updating for 64 bit host systems: Negative offsets in address register
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1. BSVC remains copyright Bradford Mott.
Additionally, the mailing list has moved and been split into separate
'users' and 'announce' lists:
- [email protected]: Announcements (low traffic)
- [email protected]: Questions and general discussion
BSVC version 2.4.2
This is BSVC version 2.4.2
BSVC 2.4 is the fourth major release since 1998, and is an update for
modern systems. This release fixes major bugs in the assembler and
makes it compile without warnings. -Wall and -Werror are now enabled
for C code as well as C++. This point release also fixes a bug deleting
non-dynamic member variables at exit, starts using C++11 smart pointers
and fixes permissions on installed data files so that they are not executable.
Specific changes since the 1998 release include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes,
and reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use
C++11 features (auto, lambdas, etc). - Replacing custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of
extraneous comments. Copyright information is now centralized in a
file in the distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C and C++
code with -Wall and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory
tree and now share devices and the S-record loader. - Move the page up and page down buttons in the memory viewer closer to
left side of the window. - Fix an uncaught exception in updating listing code in the UI when
there is no listing. - Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit
longs on the host and the result did not overflow properly (thus
yielding an 'address' outside of the 32-bit address space). Fixed by
using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the
'myIterations' variable quickly growing so large that the number of
microseconds to use when searching for the next event to handle became
negative. Fixed by rewriting the event handler in terms of nano-seconds
and clamping the minimum time delta per Check() invocation to 1ns. - Interrupts received when masked by the processor were lost, as
the interrupt request handling member function would acknowledge the
interrupt immediately instead of marking it pending. Fixed by changing
the interrupt request routine to place the incoming interrupt onto a
priority queue of pending interrupts, and changing the service routine
to take the top entry off of the queue on each invocation. This matches
the 68000 specification. - The system is now working well enough that it can run the
distributed samples, as well as boot and reliably run a port of the
Xinu (http://www.xinu.cs.purdue.edu) operating system. Code compiled
with GCC and coverted to S-records using objdump runs trivially.
- Updating for 64 bit host systems: Negative offsets in address register
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1. BSVC remains copyright Bradford Mott.
Additionally, the mailing list has moved and been split into separate
'users' and 'announce' lists:
- [email protected]: Announcements (low traffic)
- [email protected]: Questions and general discussion
BSVC version 2.3
This is BSVC version 2.3
BSVC 2.3 is the third major release since 1998, and is an update for modern
systems. This release fixes a major bug in interrupt handling; BSVC can now
reliably run a port of the Xinu operating system.
Specific changes since the 1998 release include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes, and
reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use C++ 11
features (auto, lambdas, etc). - Replacing custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of extraneous
comments. Copyright information is now centralized in a file in the
distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C++ code with -Wall
and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory tree
and now share devices and the S-record loader. - Move the page up and page down buttons in the memory viewer closer to left
side of the window. - Fix an uncaught exception in updating listing code in the UI when there is no
listing.
Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit longs
on the host and the result did not overflow properly (thus yielding an
'address' outside of the 32-bit address space).
Fixed by using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the 'myIterations'
variable quickly growing so large that the number of microseconds to use when
searching for the next event to handle became negative.
Fixed by rewriting the event handler in terms of nano-seconds and clamping
the minimum time delta per Check() invocation to 1ns. - Interrupts received when masked by the processor were lost, as the interrupt
request handling member function would acknowledge the interrupt immediately
instead of marking it pending.
Fixed by changing the interrupt request routine to place the incoming
interrupt onto a priority queue of pending interrupts, and changing the service
routine to take the top entry off of the queue on each invocation. This matches
the 68000 specification.
The system is now working well enough that it can run the distributed samples,
as well as boot and reliably run a port of the Xinu (http://www.xinu.cs.purdue.edu)
operating system. Code compiled with GCC and coverted to S-records using objdump
runs trivially.
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1. BSVC remains copyright Bradford Mott.
Additionally, the mailing list has moved and been split into separate 'users'
and 'announce' lists:
BSVC version 2.2.1
This is BSVC version 2.2.1
BSVC 2.2.1 is the second major release since 1998, and is an update for modern
systems. This is a minor bug-fix update to 2.2, which was a "first pass"
release to get BSVC running on modern host machines. Specific changes include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes, and
reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use C++ 11
features (auto, lambdas, etc). - Replacing custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of extraneous
comments. Copyright information is now centralized in a file in the
distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C++ code with -Wall
and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory tree
and now share devices and the S-record loader. - Move the page up and page down buttons in the memory viewer closer to left
side of the window. - Fix an uncaught exception in updating listing code in the UI when there is no
listing.
Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit longs
on the host and the result did not overflow properly (thus yielding an
'address' outside of the 32-bit address space).
Fixed by using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the 'myIterations'
variable quickly growing so large that the number of microseconds to use when
searching for the next event to handle became negative.
Fixed by rewriting the event handler in terms of nano-seconds and clamping
the minimum time delta per Check() invocation to 1ns.
The system is now working well enough that it can run the distributed samples,
as well as boot a port of the Xinu (http://www.xinu.cs.purdue.edu) operating
system. Code compiled with GCC and coverted to S-records using objdump
runs
trivially.
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1.
Additionally, the mailing list has moved and been split into separate 'users'
and 'announce' lists:
BSVC version 2.2
This is BSVC version 2.2
BSVC 2.2 is the first major release since 1998, and is an update for modern
systems. This is a "first pass" release to get BSVC running on modern host
machines. Specific changes include:
- Relicensing under the GPL v2.1.
- Converting the assembler to ANSI C11, adding function prototypes, and
reformatting the source code. - Converting the rest of the system to ANSI C++ and starting to use C++ 11
features (auto, lambdas, etc). - Replacing some custom linked-list code with STL containers.
- Replacing most uses of C-style strings with std::string objects.
- Reformatting the C++ code with 'clang-format' and removing lots of extraneous
comments. Copyright information is now centralized in a file in the
distribution top-level. - Replaced the recursive Makefile build system with a single non-recursive
Makefile. The build system now does real dependency analysis. - Many code-cleanups throughout the system: it now builds C++ code with -Wall
and -Werror. - Removing Makefiles for obsolete platforms (Ultrix, HP-UX, etc).
- The sim68000 and sim68360 code was reogranized under a single directory tree
and now share devices and the S-record loader.
Additionally, several serious bugs in the simulator were fixed:
- Updating for 64 bit host systems: Negative offsets in address register
indirect with displacement mode would cause bus errors on systems with
64-bit 'unsigned long', since the sign-extension code assumed 32-bit longs
on the host and the result did not overflow properly (thus yielding an
'address' outside of the 32-bit address space).
Fixed by using a properly sized type for simulator addresses. - Events were being lost in the event handling code due to the 'myIterations'
variable quickly growing so large that the number of microseconds to use when
searching for the next event to handle became negative.
Fixed by rewriting the event handler in terms of nano-seconds and clamping
the minimum time delta per Check() invocation to 1ns.
The system is now working well enough that it can run the distributed samples,
as well as boot a port of the Xinu (http://www.xinu.cs.purdue.edu) operating
system.
Administrivia
BSVC hosting has shifted to github and, as stated, the system has been
relicensed under the GPL v2.1.
Additionally, the mailing list has moved and been split into separate 'users'
and 'announce' lists: