How samfarah/sap1-emulator works
SAP1-Emulator is a Windows Forms SAP-1 computer emulator: users can assemble or load machine code, run the simulated CPU automatically or step its clock, and inspect component state visually. The execution model includes instruction sequencing, bus transfers, arithmetic and flags, memory, and output. The README documents assembly and simulation capabilities, while sampled source confirms CPU construction and control-signal wiring; unsampled form logic prevents asserting the exact assembler-to-RAM and UI-to-CPU call paths.
Main entry points: SAP1_8Bit.cs SAP-1 computer · SumulationForm.cs Simulation controls · Program.cs Application entry · Assembler.cs Assembler
Components 16
User interface
- Application entry
SAP1Emulator/SAP1Emulator/Program.cs - Assembly editor
SAP1Emulator/SAP1Emulator/AssemblyForm.cs - Simulation controls
SAP1Emulator/SAP1Emulator/SumulationForm.cs
Assembly
- Assembler
SAP1Emulator/SAP1Emulator/SAP1_Modules/Assembler.cs
CPU execution
- SAP-1 computer
SAP1Emulator/SAP1Emulator/SAP1_Modules/SAP1_8Bit.cs - Clock generator
SAP1Emulator/SAP1Emulator/SAP1_Modules/ClockGenerator.cs - Control sequencer
SAP1Emulator/SAP1Emulator/SAP1_Modules/ControlSequencer.cs - Shared bus
SAP1Emulator/SAP1Emulator/SAP1_Modules/Bus.cs - CPU registers
SAP1Emulator/SAP1Emulator/SAP1_Modules/Register.cs - Program counter
SAP1Emulator/SAP1Emulator/SAP1_Modules/Counter.cs - Arithmetic unit
SAP1Emulator/SAP1Emulator/SAP1_Modules/ALU.cs - Flags register
SAP1Emulator/SAP1Emulator/SAP1_Modules/FlagsRegister.cs - RAM
SAP1Emulator/SAP1Emulator/SAP1_Modules/SRAM.cs
Visualization
- LEDs and arrows
SAP1Emulator/SAP1Emulator/Visual - LED display
SAP1Emulator/SAP1Emulator/Visual/LEDDisplay.cs
Other components
- User or caller
Connections 16
- User or caller → Application entry: launches
- Application entry → Simulation controls: opens
- User or caller → Assembly editor: edits or loads
- User or caller → SAP-1 computer: creates and runs
- SAP-1 computer → Shared bus: constructs and connects
- SAP-1 computer → CPU registers: constructs
- SAP-1 computer → Arithmetic unit: constructs
- SAP-1 computer → RAM: constructs with MAR
- SAP-1 computer → Program counter: constructs
- SAP-1 computer → Flags register: constructs
- SAP-1 computer → Clock generator: controls
- SAP-1 computer → Control sequencer: applies control signals
- SAP-1 computer → Simulation controls: state displayed by
- Simulation controls → LEDs and arrows: updates
- Simulation controls → LED display: updates
- Assembler → SAP-1 computer: machine code used by