Skip to content

Getting Started

Przemyslaw Rachwlal edited this page May 4, 2026 · 1 revision

Getting Started

Prerequisites

Build

# Build everything
dotnet build CmosCpuSimulator.slnx

# Or just
dotnet build

Run Tests

# Run all tests
dotnet test

# Run specific project tests
dotnet test tests/CmosCpu.Cpu.Tests
dotnet test tests/CmosCpu.Computer.Tests
dotnet test tests/Symulator.Application.Tests

# Run specific test
dotnet test --filter "FullyQualifiedName~KlausDormann"

Note: Full dotnet test may hang due to infinite-loop tests in ComputerRunControllerTests. Run per-project instead.

Launch the Desktop App

dotnet run --project src/Symulator.Avalonia

This opens an Avalonia UI window where you can:

  • Select a machine (Apple-1, KIM-1, Minimal Blink)
  • Run, pause, step, and reset the emulator
  • Interact with machine-specific panels (terminal, keypad, LED display)

Command-Line Options

dotnet run --project src/Symulator.Avalonia -- --machine apple1

Configuration

The application uses NLog.config for logging configuration. Machine profiles are in profiles/:

Profile Machine CPU
apple-1.json Apple-1 MOS 6502 @ 1.023 MHz
kim-1.json KIM-1 MOS 6502 @ 1 MHz
retro70-mos6502.json Retro70 MOS 6502 @ 1 MHz

Running Example Programs

Example programs with solution manifests are in programs/asm/:

# List available programs
ls programs/asm/*.solution.json

Load a program through the Minimal Blink machine UI.

Next Steps

Clone this wiki locally