Commit graph

208 commits

Author SHA1 Message Date
Toby Jaffey
941cd141f4 Cleanup terminal on ctrl-c 2025-12-09 09:49:30 +00:00
Toby Jaffey
37a178aad7 Remove refs to old CSRs 2025-12-09 01:23:46 +00:00
Toby Jaffey
3cdc9ae0ca Default behaviour is to run to end of main 2025-12-09 01:19:09 +00:00
Toby Jaffey
7b7b08e626 Show cursor on exit 2025-12-09 01:18:14 +00:00
Toby Jaffey
2cafc6fd74 Cursor keys 2025-12-09 00:58:38 +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
71db6d1dea Reset terminal back to original state on exit 2025-12-09 00:50:30 +00:00
Toby Jaffey
b6f271ca5a Add newlines 2025-12-09 00:31:41 +00:00
Toby Jaffey
b34b144a8c Update example 2025-12-09 00:15:25 +00:00
Toby Jaffey
136f7a30bd Update with fib sketch 2025-12-09 00:13:38 +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
9be9e056cd Use internal memcpy/memset 2025-12-08 23:48:50 +00:00
Toby Jaffey
d7673eb0b9 Add common typedefs 2025-12-08 23:48:32 +00:00
Toby Jaffey
3db1d2433b Update to use mandel 2025-12-08 23:39:13 +00:00
Toby Jaffey
7e7cabeb24 Prettier, better terminal handling, more variation 2025-12-08 21:41:51 +00:00
Toby Jaffey
54f71f18c2 typo 2025-12-08 21:22:10 +00:00
Toby Jaffey
ebb6518ec3 Lissajous, showing floating point arithmetic 2025-12-08 21:20:57 +00:00
Toby Jaffey
de689bdeaf Resume after hang (with warning) 2025-12-08 21:19:59 +00:00
Toby Jaffey
41a94d0629 Fix putc() 2025-12-08 20:45:39 +00:00
Toby Jaffey
ee2ba56423 Add cmdline option to host <file.bin> [max_instrs_to_run], to set instruction meter.
Allow a host to continue after a hung error, if it wants to.

So, a program with while(1) {} can be run indefinitely.
2025-12-08 20:36:00 +00:00
Toby Jaffey
bbf5ccafb6 "critical" fix 2025-12-08 16:40:59 +00:00
Toby Jaffey
6735b159ac Make syscall names closer to libc 2025-12-08 16:28:00 +00:00
Toby Jaffey
1b868adf87 Fix link 2025-12-08 13:52:40 +00:00
Toby Jaffey
c691c3ebdf Fix overly long event name 2025-12-08 13:04:05 +00:00
Toby Jaffey
86f93be100 objdump info 2025-12-08 13:02:00 +00:00
Toby Jaffey
6a7178d31a SBI explanation 2025-12-08 12:55:53 +00:00
Toby Jaffey
a3c8b7584d Remove debug 2025-12-08 12:54:30 +00:00
Toby Jaffey
9d6e6790e1 Cleanup syscall numbers 2025-12-08 12:53:33 +00:00
Toby Jaffey
61fe0e8647 Rename ioreq to syscall 2025-12-08 12:26:47 +00:00
Toby Jaffey
b79a107a3d Remove single file 2025-12-08 12:18:54 +00:00
Toby Jaffey
441decc0a7 conio link 2025-12-08 10:55:26 +00:00
Toby Jaffey
274f347d90 Break console io example out into own app 2025-12-08 10:35:42 +00:00
Toby Jaffey
40e8795f3f Explain the hack better 2025-12-08 10:30:33 +00:00
Toby Jaffey
5b2c82b85e Fix for case sensitivity 2025-12-08 10:23:30 +00:00
Toby Jaffey
43bba100c1 Fix missing header on linux 2025-12-08 10:22:08 +00:00
Toby Jaffey
a88f3a1690 Workaround for Rust having different system for templating constants to GNU as.
Having a separate file is ugly, but it allows for a single source of truth for constants
Works for C, asm, zig and rust.

https://stackoverflow.com/questions/79840723/shared-assembly-between-rust-and-c-using-preprocessor
2025-12-08 10:13:53 +00:00
Toby Jaffey
2ccd3ac7f4 Trying to find some way to share constants 2025-12-08 09:55:47 +00:00
Toby Jaffey
f6cd790fcb ABI info 2025-12-08 07:31:21 +00:00
Toby Jaffey
7bf906f369 Rename .s to .S so preprocessor runs (https://stackoverflow.com/questions/33358825/gnu-assembler-preprocessor-define) 2025-12-08 02:45:38 +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
a305fce466 zigtris is > 16KB, so use 32KB for default host. 2025-12-07 21:12:48 +00:00
Toby Jaffey
c0711213ae Add console tetris demo 2025-12-07 21:02:22 +00:00
Toby Jaffey
cd95e63af5 Flush output regularly, don't wait for keyboard. 2025-12-07 20:58:32 +00:00
Toby Jaffey
9e6f6c5a67 Added IOREQ_MILLIS and IOREQ_GETC to get current time and poll keyboard.
IOREQ_GETC implemented inefficiently, but is fine for demo purposes.
2025-12-07 20:29:10 +00:00
Toby Jaffey
af3b48cb01 Fix comment, uvm32_reset() doesn't exist 2025-12-07 13:13:36 +00:00
Toby Jaffey
c229170e3b Move samples 2025-12-07 10:46:09 +00:00
Toby Jaffey
d8a2faf732 Minimal assembly example 2025-12-07 10:45:11 +00:00
Toby Jaffey
95333e06d8 More precompiled examples 2025-12-07 01:04:28 +00:00
Toby Jaffey
4610e8ddaf Doc updates 2025-12-07 01:01:11 +00:00