Symulator3 is an emulator for the IBM System/3 Model 10, an early minicomputer/mainframe introduced in 1969 and marketed until 1985. It is very well covered by Wikipedia here: https://en.wikipedia.org/wiki/IBM_System/3, and by a private website here: http://www.ibmsystem3.nl/.
This simulator supports the machine instructions for the basic Model 10 CPU without the Dual Programming Feature, and configured with 64k RAM, a 5424 Multi-Function Card Unit (MFCU), a 5203 printer, a 5471 printer/keyboard console, a 5475 data entry keyboard, and a 54444 disk drive. Disk support now fully implemented, and it successfully boots up from an image of the System/3 OS. It is able to process cards that were generated by a real physical System/3 that were read into .txt files and used as test data. The simulator works well enough to flawlessly execute all object code recorded in the cards that were created on the physical IBM system/3 in the early 1970s. These cards were either created by the RPGII card system compiler, or manually from the machine language written to perform various tasks. Except for an arcane memory addressing issue, it now passes the IBM diagnostic tests perfectly.
In addition to simulating a working System/3, there is also code to perform machine code disassembly with extensive annotation describing in detail what each instruction does with a minimum of verbage. It assumes that the user knows enough assembly to understand the general purpose of each instruction. This disassembler is used by the simulator as part of its trace functionality which is the present development focus.
The solution now has a GUI created using WPF based on the Visual Studio design. The source code came from the book "WPF 4.5 Unleashed" and has been modified extensively to handle the needs of the Symulator/3 EmulatorEngine project. Using the XAML file as a starting point, a side panel was added with displays for all the System/3 CPU and I/O registers, a status bar was added, and a tree-list view was added to display the contents of the associated database.