aboutsummaryrefslogtreecommitdiffstats
path: root/usr/blk.c
diff options
context:
space:
mode:
authoruser <user@clank>2026-07-18 00:38:38 +0200
committeruser <user@clank>2026-07-18 00:38:38 +0200
commitba2d7ae1d7b319645b10aaa31a7f664f9f80c25c (patch)
treee01e6c7c710a661defe2515ff9657f08cddcb283 /usr/blk.c
parenttools: gbtype prints hub errors to stderr and exits 1 (diff)
downloadgbos-ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c.tar.gz
gbos-ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c.tar.xz
gbos-ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c.zip
refactor: c/ -> usr/, compiled program blobs out of the source tree
Userland sources live in usr/ (fits the Unix theme better than 'c'). SDCC output .bin blobs land in build/usr/ with the other build artifacts instead of littering the source dir; programs.asm INCBINs them from there. Byte-identical ROM.
Diffstat (limited to 'usr/blk.c')
-rw-r--r--usr/blk.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/usr/blk.c b/usr/blk.c
new file mode 100644
index 0000000..36839c0
--- /dev/null
+++ b/usr/blk.c
@@ -0,0 +1,13 @@
+#include "gbos.h"
+/* blk: exercise the block device. blk fill <n> <v> | blk peek <n> */
+void main(void) {
+ char *argv[4];
+ unsigned char argc = argv_parse(argv, 4);
+ if (argc >= 3 && argv[0][0] == 'f') {
+ bfill(atou(argv[1]), atou(argv[2]));
+ } else if (argc >= 2 && argv[0][0] == 'p') {
+ putu(bpeek2(atou(argv[1]), argc>=3?atou(argv[2]):0)); nl();
+ } else {
+ puts("usage: blk fill <n> <v> | blk peek <n>"); nl();
+ }
+}