From d5c06116d3d1257b46c476cf73b634cf089bcb82 Mon Sep 17 00:00:00 2001 From: user Date: Thu, 16 Jul 2026 00:31:27 +0200 Subject: 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. --- include/gbos.inc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') 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 -- cgit v1.3.1-sl0p