Daft-Freak / probably-average-computer-emulator

Somewhat hacky PC (XT) emulator than can run on a PicoVision
MIT License
18 stars 1 forks source link

Probably Average Computer Emulator

Features

BIOS

A few BIOS files are required:

The location of these files depends on the frontend being used.

SDL2

For running on... a PC, the only dependency is SDL2.

Supports up to four floppy drives and two hard drives. The BIOS files should be placed next to the executable.

Building

cmake -B build -DCMAKE_BUILD_TYPE=Release .
cmake --build build

Command Line Options

For example:

PACE_SDL --fixed0 hd0.img --floppy-next disk1.img --floppy-next disk2.img

would boot from hd0.img and allow installing something from the two floppy images later.

PicoVision

The more interesting frontend, depends on the pico-sdk.

Currently only supports a single hard disk, loaded from hd0.img on the SD card. Keyboard/mouse input is supported through USB HID. The BIOS files should be placed at the root of the repository before building.

Supports the full 640k of memory and 6MB of expanded memory through paging 16k blocks in and out of the PicoVision's PSRAMs. 192k of memory is kept in the Pico's RAM at once, software that accesses a lot of RAM frequently may cause display glitches as I have to force a wait for vsync to write the other PSRAM. (If possible, I try to flush dirty memory at the end of a frame to avoid this).

Building

cmake -B build.picovision -DCMAKE_BUILD_TYPE=Release -DPICO_SDK_PATH=path/to/pico-sdk .
cmake --build build.picovision