Skip to content

Releases: BSVC/bsvc

This is BSVC version 2.4.6.

15 Oct 13:25
Compare
Choose a tag to compare

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.

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:

This is BSVC version 2.4.5.

15 Oct 13:22
Compare
Choose a tag to compare

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.

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:

This is BSVC version 2.4.4

15 Oct 12:41
Compare
Choose a tag to compare

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.

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:

This is BSVC release 2.4.3.

08 Oct 17:41
Compare
Choose a tag to compare

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.

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.4.2

29 Jun 20:00
Compare
Choose a tag to compare

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.

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.3

13 Oct 11:52
Compare
Choose a tag to compare

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

15 Jun 18:00
Compare
Choose a tag to compare

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

30 Apr 19:12
Compare
Choose a tag to compare

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: