Commit graph

26 commits

Author SHA1 Message Date
Toby Jaffey
ce63353156 Update makefile 2025-12-12 14:29:50 +00:00
Toby Jaffey
577aaadacd Zig allocator demo, using extram 2025-12-11 21:18:21 +00:00
Toby Jaffey
5fc4575888 Add precompiled heap example 2025-12-11 20:37:33 +00:00
Toby Jaffey
6878c5210f Fix weird definition of NULL 2025-12-11 16:57:23 +00:00
Toby Jaffey
1213c5673f Do .bin inclusion in C code at build 2025-12-11 12:48:41 +00:00
Toby Jaffey
a55300c8c3 Updated maze binary 2025-12-11 01:11:41 +00:00
Toby Jaffey
15806b592b Rebuilt binaries 2025-12-11 00:01:03 +00:00
Toby Jaffey
3e7b7cea4d Round power of 2 for memory size 2025-12-11 00:00:01 +00:00
Toby Jaffey
da7f70c456 Initial test framework
Clean up makefiles
Everything buildable under docker (or natively)
2025-12-10 16:36:33 +00:00
Toby Jaffey
e07eeab043 Make yield a regular syscall taking an argument.
Allows "wait for interrupt"/"wait for event" type operation where VM code blocks until the host has something for it.
2025-12-10 10:35:18 +00:00
Toby Jaffey
9baedb42e8 Add a stack canary, setup on boot 2025-12-10 01:00:36 +00:00
Toby Jaffey
9596838a4b Recursive maze demo, causes big stack usage 2025-12-09 23:29:16 +00:00
Toby Jaffey
76fba39a21 Rework syscall ABI.
Syscalls now accept two parameters, allowing for things like "int count = read(buf, len)"
Rather than providing safe signatures for syscalls, the user is now given helper functions to safely parse incoming values, c-strings and slices.
2025-12-09 21:51:35 +00:00
Toby Jaffey
8c11b45670 Move CPU core out of RAM. This limits possibilities for self-modifying code hacks, but is cleaner/safer. 2025-12-09 10:46:29 +00:00
Toby Jaffey
d56f34dc4e Use cursors 2025-12-09 00:56:07 +00:00
Toby Jaffey
04e7aaef88 Exit on keypress 2025-12-09 00:54:22 +00:00
Toby Jaffey
c37286cf01 Add "self", example of building uvm32 to run inside uvm32
mandelbrot app is embedded in host-mini, which is then compiled to a .bin
2025-12-08 23:54:14 +00:00
Toby Jaffey
7e7cabeb24 Prettier, better terminal handling, more variation 2025-12-08 21:41:51 +00:00
Toby Jaffey
ebb6518ec3 Lissajous, showing floating point arithmetic 2025-12-08 21:20:57 +00:00
Toby Jaffey
6735b159ac Make syscall names closer to libc 2025-12-08 16:28:00 +00:00
Toby Jaffey
9d6e6790e1 Cleanup syscall numbers 2025-12-08 12:53:33 +00:00
Toby Jaffey
274f347d90 Break console io example out into own app 2025-12-08 10:35:42 +00:00
Toby Jaffey
751f068486 Rework host/target interface to use ecall and proper syscalls instead of CSRs 2025-12-08 02:44:38 +00:00
Toby Jaffey
c0711213ae Add console tetris demo 2025-12-07 21:02:22 +00:00
Toby Jaffey
95333e06d8 More precompiled examples 2025-12-07 01:04:28 +00:00
Toby Jaffey
c9d30b6d28 uvm32 initial version 2025-12-06 16:44:23 +00:00