Skip to content

Latest commit

 

History

History
163 lines (105 loc) · 5.73 KB

CHANGELOG.md

File metadata and controls

163 lines (105 loc) · 5.73 KB

Change History for wsim and rexsim

3.3.4

  • Add a warning notice to the status bar if low performance is detected.
  • Can be clicked to open a dialog with some tips about how to improve performance.

3.3.3

  • The duck can only quack once at a time
    • This makes it sound a lot better when clicking on it
    • It also fixes a bug reported by Liam Jamieson, where making a program which continually sends the bell character to the serial port will cause the simulator to use all your CPU and quack uncontrollably. This was caused by the fact that a new SoundPlayer was created every time a bell was sent, loading the resource again and sending a new call to the sound API. Now, there is a single SoundPlayer which has a timeout, enforced by the new Quacker class which has a single instance passed around.

3.3.2

  • Memory form is wide enough to see the [B] mark when a breakpoint is set
  • The Run button functions when on a breakpoint
  • Documentation updates

3.3.1

  • Update WRAMPmon to 0.9
  • Stop text in the serial port form being invisible when the program is run under a dark theme
  • Stop the program crashing on certain invalid escape sequences which place the cursor out of bounds
  • User mode warning colour disappears correctly when switched off
  • Serial interrupt register TDS is set correctly

3.3.0

  • Updates RexSimulator module to v3.1.2
    • Timer is set up for the new 6.25MHz clock
  • Improve memory form performance when a lot of changes occur
  • Stepping over breakpoints works properly
  • Hard reset (upper right red button) also resets switches
  • Serial port bell quacks instead of beeping

3.2.1

  • Updates RexSimulator module to v3.1.1
  • Corrects the speed of the serial devices to account for environments which don't run WRAMPmon, and the new clockrate.

3.2.0

  • FEATURE: The program version is displayed in the status bar at the bottom. When clicked, an about dialog will appear.
  • BUGFIX: Controls now scale correctly on both Windows and Linux. This was fixed by disabling scaling.
  • The assembly info has been changed to more correctly display ownership, and visual branding has been changed to wsim rather than RexSimulator. Most of the code and the AssemblyTitle still refer to RexSimulator.

3.1.0

  • Pressing Ctrl+A on serial port forms now opens the send file dialog to make following WRAMPmon's instructions not useless.
  • Switches are on when they're up, not down. This has changed since the REX boards.
  • Coloured interrupt indicators only appear if they are unmasked in $cctrl.

r21 - 3.0.0

  • Various changes to reflect the Basys implementation of WRAMP. This includes visuals and the specifications of the board: clock rate, amount of RAM, new parallel controls, etc.
  • Bump version to 3.0.0 and begin using semantic versioning scheme
  • Update WRAMPmon to version 0.7
  • Fix the warnings that were generated by xbuild
  • Annotations including Address Bus, Program Counter, and Interrupts have been moved underneath the picture of the board. The new board does not have physical lights for interrupts.
  • BUGFIX: Each component now only resets once when the program starts.
  • BUGFIX: Reset button no longer clobbers RAM while WRAMPmon init is still running - The CPU tick thread now pauses while a reset operation is underway.
  • BUGFIX: Revert change in r17 to correctly not throw a GPF when the KU bit of $cctrl is set to zero from kernel mode.
  • BUGFIX: GPFs and arithmetic exceptions are thrown correctly, rather than crashing the program.
  • BUGFIX: The "set character position" escape sequence (\033[yy;xxH) is now correctly interpreted as a 1-indexed value rather than a 0-indexed value.

r20

  • Update to version 2.0 with Virtual Memory and Protection
  • BUGFIX: Combining digits on the seven-segment displays was incorrectly using all bits in the registers when SSD-Decoding was enabled.
  • BUGFIX: Program Counter was not constrained to 20 bits
  • FEATURE: Added support for virtual memory and protection in user mode
  • Undocumented: Fixes the bug present in r19 which makes rfe leave the KU bit set to 1.

r19

  • Enhancement: "fat finger" interface for pressing both parallel buttons at the same time by clicking between them.

r18

  • Fixed warnings
  • Updated version number to 1.5

r17

  • Option to override disassembly formatting
  • Updated to match what appears to be a bug in the physical WRAMP processor: explicitly setting the KU bit of $cctrl to zero, while in kernel mode, results in the value being changed successfully but also triggers a GPF
  • Updated bootloader image version to 0.6
  • Updated to .net 4.5

r16

  • BUGFIX: Interrupt acknowledgement was ignored in parallel and serial IO devices

r15

  • BUGFIX: negative address offsets were being handled incorrectly
  • BUGFIX: values larger than one byte were not being correctly masked in the serial device

r14

  • Updated version numbers to 1.2

r13

  • BUGFIX: Simulator allowed writes to readonly register $0

r12

  • Fixed version numbers

r11

  • Updated version number

r10

  • Removed unnecessary code from the timer device
  • Fixed timer behaviour: now correctly copies Load to Count when enabling the timer
  • Updated to v1.0.0.1

r9

  • Added breakpoints (accessible through the Memory (RAM) form).

r8

  • Backtracked to .net 3.5 for compatibility with mono

r7

  • Added option to toggle CPU throttling

r6

  • BUGFIX: negative immediate values are now sign-extended appropriately.
  • BUGFIX: BasicSerialPortForm now displays an error when receiving an unsupported ASCII escape sequence, rather than crashing.
  • FEATURE: Single-stepping code, pausing execution

r5

  • Changed target to Any CPU

r4

  • The proper initial commit...

r3

  • Removed initial commit, since it was empty...

r2

-- Blank commit message on this revision --

r1

  • Initial commit