Files
folder..
folder8-bit_prgm_flash_v5
textREADME.md
textTODO.md
pythonassembler.py
folderbasic
folderbin
pythonbuild_romfs.py
folderdebug
folderinclude
folderkernel
folderold
textsim_vga.c
foldertemplate
foldertests
folderupload-new
fileupload-new.sh
foldervga
folderzmach

README.md

assembler.py is a fairly basic assembler to aid in programming the 8-bit computer. It supports labels, macros, file includes, sections (text, rodata, data, bss), and not much else.

Programs of interest

Usage

Programs can be assembled in either raw_ram_only or raw_flash_ram styles. raw_flash_ram programs can be written to and run directly from the computer's flash memory chips. raw_ram_only programs must be copied to ram before they're run (this is done via the prototype kernel). Set this option via the conf_out_style variable at the top of assembler.py.

For hardware version 2, assemble and upload the program per upload-new.sh and the 8-bit_prgm_flash_v5 Arduino sketch. The program will be stored on a flash chip attached to an Arduino Mega, and the Arduino will take care of programming the computer's flash chips in-system.

[TODO: hardware version 3]

Emulator

An emulator that simulates the main computer, VGA expansion board, and keyboard buffer is in sim_vga.c (requires ncurses).

Assembly language format

[TODO]

Quirks