- Clang supporting C++20 or higher
- GNU Make
- readline
- yaml-cpp
- dbus-glib
- SDL2
Run make all to build the 6502 executable and all included plugins.
Run make rebuild to perform a clean rebuild.
- ncurses
Intended for use with Jeff Tranter's Enhanced 6502 BASIC.
- To write a character to
stdout, store it at address0xF001. - To read a character from
stdin, read from address0xF004(non-blocking, returns0if there is none).
Incomplete implementation of the Commodore PET 2001 hardware, sufficient to boot into BASIC and load software from .tap files.
Use with configs/pet2001.yaml or configs/pet2001.yaml - ROMs not included.
Additionally requires a 2k PETSCII character ROM to be present at roms/char_rom.bin.
Provides a 640x480, 1bpp framebuffer at address 0x9000-0x9FFF.
0x9000 - 0x9EFFmaps to the currently visible portion of screen memory (48 scanlines at a time)0x9F00 - 0x9FFFall map to a single, 8-bit register determining the currently active portion of screen memory. Valid values are0-9, higher values will result in a segfault because currently no bounds-checking is performed.
Some demo code is provided in roms/fbclear.asm, used by configs/fb.yaml .
- more plugins - full CBM PET or VIC-20 emulation as potential goal
- UI for debugging (ongoing)
- documentation (ongoing)
- rework the plugin system
- decouple plugins defining devices from instances of those devices
- allow for other kinds of plugins, e.g. UI addons
