feat(v4): starshipos.4th, the STARSHIPOS vocabulary, with DOE typing the name back

DOE only types its name for now, as asked 2026-10-15; the runner is still to be
built. Not yet a system capsule (MACHINE.md 6, step 3). With it, the two board
boots, amd64-pc and aarch64-rpi5, that tried it: DOE is unknown until
STARSHIPOS is in the search order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rajames
2026-10-16 07:57:52 -04:00
co-authored by Claude Opus 5.5
parent 0d5139238d
commit 1e41a68872
3 changed files with 225 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
Block 7000
( starshipos.4th -- the StarshipOS words, in their own )
( vocabulary, STARSHIPOS: not FORTH-79, so not in FORTH. )
( Loaded when the system boots, after forth79.4th. )
( Blocks 7000 up. New definitions still go into FORTH; the )
( search starts in STARSHIPOS, then FORTH. )
VOCABULARY STARSHIPOS STARSHIPOS DEFINITIONS
Block 7001
( DOE baddr u -- as S" name" DOE )
( Intended: run the DoE of that name, from the capsule of )
( that name. As yet it only types the name back -- asked for )
( so, 2026-10-15; the runner is still to be built. )
: DOE ( baddr u -- ) TYPE ;
FORTH DEFINITIONS STARSHIPOS
@@ -0,0 +1,125 @@
[=3hBdsDxe: loading Boot0002 "UEFI QEMU HARDDISK QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
BdsDxe: starting Boot0002 "UEFI QEMU HARDDISK QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
[=3hStarKernel UEFI Loader
Loading kernel from ESP...
[CKPT 001] Entered efi_main - ConOut live
RAW SERIAL UP
[CKPT 002] Serial (COM1) initialized
Monolithic build - kernel linked directly
Collecting boot information...
CmdLine: from starforth.cfg
CmdLine: parsed OK
[CKPT 004] Command line parsed
[CKPT 005] Kernel stack allocation decided
[CKPT 006] Boot info collected (ACPI table located)
GOP: linear framebuffer found
[CKPT 007] GOP: linear framebuffer found
[CKPT 008] About to enter ExitBootServices retry loop
EBS...
EBS OK
Calling kernel_main (monolithic)...
_____ _ _ __ _
/ ____| | | |/ / | |
| (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| |
\___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ |
____) | || (_| | | | . \ __/ | | | | | __/ |
|_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_|
LithosAnanke v2.1.0 amd64
Architecture: amd64
Build: Oct 15 2026 04:08:45
UEFI BootServices: EXITED
Console: serial line is a 16550 at port 0x00000000000003f8 (COM1, probed)
=== StarKernel Boot Information ===
Memory map entries: 112
Total memory: 2047 MB
Usable memory: 1988 MB
===================================
PMM initialized.
PMM statistics:
Total pages: 510488
Free pages : 508965
Used pages : 1523
Total MB : 1994
Free MB : 1988
Used MB : 5
VMM initialized (mapped RAM, CR3 switched)
VMM initialized (mapped RAM, CR3 switched)
VMM self-test: mapped OK at 0xffff800000000000
VMM self-test complete.
IDT installed.
APIC: init...
APIC: IA32_APIC_BASE MSR=0x00000000fee00900
APIC: stale-ISR drain: 0 EOI(s) issued
APIC: initialized (xAPIC MMIO, TPR=0, SIVR=0x1FF, EOI-clear)
APIC: init done
I/O APIC: init...
I/O APIC: base=0xfec00000, gsi_base=0, overrides=5
override: source=00 gsi=2 flags=0x0000
override: source=05 gsi=5 flags=0x000d
override: source=09 gsi=9 flags=0x000d
override: source=0a gsi=10 flags=0x000d
override: source=0b gsi=11 flags=0x000d
i8042: keyboard ACKed enable-scanning
i8042: IRQ1 enabled in controller config byte
I/O APIC: keyboard IRQ1 routed (masked)
Timer: init...
Timer: init start
Timer: PM_TMR_BLK discovered from FADT at port 1544
Timer: VM mode detected (hypervisor present).
Timer: HPET calibration disabled (VM-exit MMIO would poison timing).
Timer: WARNING: invariant TSC not present under hypervisor.
Timer: continuing in RELATIVE mode (no determinism guarantees).
Timer: RDTSCP not present; using RDTSC (less serialized).
Timer: CPUID frequency unavailable; trying PM Timer...
Timer: trust=1 (0=NONE,1=REL,2=ABS), TSC=2098834857 Hz
Timer: init done
Kernel heap initialized.
Heap statistics:
Total bytes: 1073741784
Free bytes: 1073741784
Used bytes: 0
Peak bytes: 0
Heap base addr: 24641536
Heap end addr: 1098383360
Heartbeat: init...
APIC Timer: calibrating...
APIC Timer: apic_hz=1004996127, tick_hz=100, initial_count=10049961
APIC Timer: configured (masked, ready to start)
Heartbeat: init done
Kernel initialization complete.
Boot successful!
System: StarForth v4 (system=v4)
StarForth v4: one host node, the F18-derived engine
V4: capsule v4:nucleus-64.f18 signature: missing (unsigned)
PARITY:V4_NUCLEUS name=v4:nucleus-64.f18 capsule_id=0x3b4a82485b10bfb7 capsule_hash=0x3b4a82485b10bfb7 words=311
V4: capsule v4:forth79.4th signature: missing (unsigned)
PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x6b56e15226ee3719
V4: capsule v4:starshipos.4th signature: missing (unsigned)
PARITY:V4_CAPSULE name=v4:starshipos.4th capsule_id=0xb74bfa51f8d4719a capsule_hash=0xb74bfa51f8d4719a dict_hash=0x6f30ff7a99036629
PARITY:V4_POST tests=538 pass=538 fail=0
PARITY:V4_SYSTEM word_count=318 dict_hash=0x77c4fa192775758e
PARITY:OK
POST: PASSED
[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks)
PCI: init...
PCI: ECAM mapped (amd64)
virtio-blk: no device on PCI bus 0
Artemis: no virtio-blk disk
ok> S" ZKeDpFeNhg" DOE
UNKNOWN WORD: 'DOE'
ERROR
ok>
@@ -0,0 +1,86 @@
_____ _ _ __ _
/ ____| | | |/ / | |
| (___ | |_ __ _ _ __| ' / ___ _ __ _ __ ___| |
\___ \| __/ _` | '__| < / _ \ '__| '_ \ / _ \ |
____) | || (_| | | | . \ __/ | | | | | __/ |
|_____/ \__\__,_|_| |_|\_\___|_| |_| |_|\___|_|
LithosAnanke v2.1.0 aarch64
Architecture: aarch64
Build: Oct 14 2026 17:10:51
UEFI BootServices: EXITED
Console: serial line is a PL011 at 0x0000000009000000 (named by the devicetree)
=== StarKernel Boot Information ===
Memory map entries: 1
Total memory: 4096 MB
Usable memory: 4096 MB
===================================
PMM initialized.
PMM statistics:
Total pages: 1048576
Free pages : 1046006
Used pages : 2570
Total MB : 4096
Free MB : 4085
Used MB : 10
VMM initialized (mapped RAM, CR3 switched)
VMM initialized (mapped RAM, CR3 switched)
VMM self-test: mapped OK at 0xffff800000000000
VMM self-test complete.
AArch64: running at EL2 (VBAR_EL2/CNTHP_*_EL2 -- both already EL-aware, see isr.S/apic.c)
IDT installed.
APIC: init...
PSCI: conduit discovered from DTB (method="smc")
GICv2: base addresses discovered from DTB (GICD=0x0000000008000000, GICC=0x0000000008010000)
GICv2: distributor+CPU interface enabled, PPI 26
APIC: init done
Timer: init...
Timer: AArch64 generic timer initialised.
Timer: init done
Kernel heap initialized.
Heap statistics:
Total bytes: 2147483608
Free bytes: 2147483608
Used bytes: 0
Peak bytes: 0
Heap base addr: 1092681728
Heap end addr: 3240165376
Heartbeat: init...
Heartbeat: init done
Kernel initialization complete.
Boot successful!
System: StarForth v4 (this build's default)
StarForth v4: one host node, the F18-derived engine
V4: capsule v4:nucleus-64.f18 signature: missing (unsigned)
PARITY:V4_NUCLEUS name=v4:nucleus-64.f18 capsule_id=0x3b4a82485b10bfb7 capsule_hash=0x3b4a82485b10bfb7 words=311
V4: capsule v4:forth79.4th signature: missing (unsigned)
PARITY:V4_CAPSULE name=v4:forth79.4th capsule_id=0x4055641ee17d176b capsule_hash=0x4055641ee17d176b dict_hash=0x6b56e15226ee3719
V4: capsule v4:starshipos.4th signature: missing (unsigned)
PARITY:V4_CAPSULE name=v4:starshipos.4th capsule_id=0xb74bfa51f8d4719a capsule_hash=0xb74bfa51f8d4719a dict_hash=0x6f30ff7a99036629
PARITY:V4_POST tests=538 pass=538 fail=0
PARITY:V4_SYSTEM word_count=318 dict_hash=0x77c4fa192775758e
PARITY:OK
POST: PASSED
[HADES][INFO ] [KRELTSC: 0] blk: raw device LBN 2048..3071 (1024 blocks)
PCI: init...
PCI: MCFG parse failed on aarch64 — no ECAM
virtio-blk: no device on PCI bus 0
Artemis: no virtio-blk disk
ok> S" CtusWXsOAF" DOE
UNKNOWN WORD: 'DOE'
ERROR
ok> STARSHIPOS S" CtusWXsOAF" DOE
CtusWXsOAF ok
ok>