Commit graph

24 commits

Author SHA1 Message Date
Toby Jaffey
8fca9fcec1 Disable strict C99, as binary constants are currently used in rv32c code 2025-12-17 15:51:19 +00:00
Toby Jaffey
adec69e1d7 Attempt to enable RV32 C extension. c.lw and c.sw are definitely broken somehow wrt MMIO memory.
Examples built using C extensions, many fail in strange ways
2025-12-17 15:43:15 +00:00
Toby Jaffey
53b5eeb256 Add a simple statistical profiler
Some checks are pending
CI / test (ubuntu-latest) (push) Waiting to run
Enabled by -p, will sample program counter and store frequency. Using "-i 1" will make execution pause on every instruction and sample PC.

    host-sdl -p -i 1 foo.bin | grep times > log.txt
    cat log.txt  | sort -n -k4

Can match addresses with
riscv64-elf-objdump -S -d -f foo.bin
2025-12-15 14:10:49 +00:00
Toby Jaffey
09985655a2 Fix host-sdl/doom audio. Have app ask via syscall if audio can be rendered before sending, else any mismatch in rates will cause queue over/underflow in host-sdl. 2025-12-15 10:48:10 +00:00
Toby Jaffey
4e61e3bd4a Make self and mandel examples a bit smaller
Some checks are pending
CI / test (ubuntu-latest) (push) Waiting to run
2025-12-15 01:12:47 +00:00
Toby Jaffey
035608b04a Add agnes NES emulator (very slow).
Add -W <n> -H <n> width and height options to host-sdl
2025-12-15 00:37:12 +00:00
Toby Jaffey
39e7dddc5a Quick and dirty sound for DOOM. Samplerate seems off, but it's just a demo. 2025-12-14 23:32:34 +00:00
Toby Jaffey
e524ea4815 Fix sticky keys in doom. host-sdl only reported the last key pressed, now uses a circular buffer. 2025-12-14 22:39:24 +00:00
Toby Jaffey
1e7343d385 Map extram to same fuzz buffer 2025-12-14 19:28:15 +00:00
Toby Jaffey
e5fd17aff6 Fix issues with unaligned memory bus rd/wr. Improve fuzzing. 2025-12-14 18:35:00 +00:00
Toby Jaffey
7313047fd1 Simple fuzzer 2025-12-14 12:34:53 +00:00
Toby Jaffey
cfc1286874 Regenerate binaries, now default crt0 has changed 2025-12-14 01:36:47 +00:00
Toby Jaffey
2039de73f2 Rename getbuf to getslice 2025-12-13 23:15:06 +00:00
Toby Jaffey
1c9e9296be xxd -n (set variable name) doesn't exist on all systems, use shell utilities to build the headers
Fixes #1
2025-12-13 22:20:38 +00:00
Toby Jaffey
8c97057809 Make extram uint8_t 2025-12-12 20:51:39 +00:00
Toby Jaffey
8158ac647c Renaming and documentating header 2025-12-12 20:42:26 +00:00
Toby Jaffey
3722e4c267 Cleanup 2025-12-12 15:02:20 +00:00
Toby Jaffey
8598be727f Provide a framebuffer 320x200 (RGBA8888) on render(addr,len) syscall, copy from that VM memory location to framebuffer. 2025-12-12 14:22:42 +00:00
Toby Jaffey
e7485d5972 SDL based host with extram mapped to framebuffer and simple gfx app to accompany it 2025-12-11 23:31:10 +00:00
Toby Jaffey
42cd77a9ff Cleanup paths 2025-12-11 20:35:39 +00:00
Toby Jaffey
7fae8c129f Zero extram on startup.
On crash, dump extram to file
2025-12-11 17:48:00 +00:00
Toby Jaffey
67e8fe13c0 Add commandline parsing to host. Add -e <size in bytes> option to configure extram. 2025-12-11 15:44:17 +00:00
Toby Jaffey
da7f186ff7 Missing files 2025-12-11 13:03:40 +00:00
Toby Jaffey
7353810199 Move all host examples under host/ 2025-12-11 12:57:59 +00:00