diff options
| author | user <user@clank> | 2026-07-16 00:31:27 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-07-16 00:31:27 +0200 |
| commit | d5c06116d3d1257b46c476cf73b634cf089bcb82 (patch) | |
| tree | 8912008c1ca483d9a8192961d703161dcf274411 /include/gbos.inc | |
| parent | kernel: complete the process lifecycle (exit/wait/reap + bank free list) (diff) | |
| download | gbos-d5c06116d3d1257b46c476cf73b634cf089bcb82.tar.gz gbos-d5c06116d3d1257b46c476cf73b634cf089bcb82.tar.xz gbos-d5c06116d3d1257b46c476cf73b634cf089bcb82.zip | |
wip: sys_read + serial console shell (read-store bug under investigation)
- sys_read (SYS_READ): blocking console input via external-clock serial poll;
yields while waiting. Verified working (direct-echo cat: 'hi' -> 'hi').
- shell (PROG_SH): prompt/read/parse/fork+exec+wait; worker+hello programs;
StrEqual/SkipName helpers; command table.
- init now execs the shell.
- KNOWN BUG: storing the typed char to the line buffer at $A000 (cart RAM of an
exec'd program) corrupts the following sys_read; sys_write reading $A000 also
returns $3E. Kernel syscalls themselves are correct; isolating the cart-RAM /
exec RAM-bank interaction next.
Diffstat (limited to '')
| -rw-r--r-- | include/gbos.inc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/gbos.inc b/include/gbos.inc index 7919bd6..f398c12 100644 --- a/include/gbos.inc +++ b/include/gbos.inc @@ -90,5 +90,7 @@ DEF SYS_MAX EQU 12 ; Program table indices (see programs.asm). exec() takes one of these in B. ; ----------------------------------------------------------------------------- DEF PROG_WORKER EQU 0 +DEF PROG_SH EQU 1 +DEF PROG_HELLO EQU 2 ENDC |
