529ba0fc48
fix(v4): (DOWN) calls the GONE hook and puts (ONE) back; the hand-on swept
rajamesandClaude Opus 5.52026-10-16 14:42:54 -04:00
3506747d5a
test(v4): a second unit while the first runs; PAUSE, RESUME; GONE down the graph (MESH.md 9a.6)
rajamesandClaude Opus 5.52026-10-16 13:08:43 -04:00
c88af25e1e
feat(v4): centre.4th and hera.4th; every node's kernel serves it (MESH.md 9a.3)
rajamesandClaude Opus 5.52026-10-16 11:59:47 -04:00
450dea9c24
feat(v4): a believed GONE is handed to the word in (GONE-HOOK) (MESH.md 9a)
rajamesandClaude Opus 5.52026-10-16 11:04:28 -04:00
d154342314
feat(v4): the kernel keeps a registry of nodes and checks who may ask (MESH.md 9a.4)
rajamesandClaude Opus 5.52026-10-16 09:58:03 -04:00
a73580e949
feat(v4): the machine boots from its ROM; the prebuilt nucleus is gone
rajamesandClaude Opus 5.52026-10-15 14:26:02 -04:00
1bf19d6224
feat(v4): the ROM assembles the system's .f18 to the nucleus, word for word
rajamesandClaude Opus 5.52026-10-15 12:27:50 -04:00
084c520a54
feat(v4): the ROM assembles text as text.c does -- words, labels, macros, FOR, directives, start
rajamesandClaude Opus 5.52026-10-15 12:24:08 -04:00
42f8a13914
docs(v4.0.0): the ROM is shared code, GA144-style -- an entry table, a permanent state area
rajamesandClaude Opus 5.52026-10-15 11:10:08 -04:00
1ed56b93b4
docs(v4.0.0): DATASHEET-F18.md -- the machine: registers, stacks, memory, instruction word, opcodes, control unit, faults, I/O
rajamesandClaude Opus 5.52026-10-15 06:20:25 -04:00
952df0f44a
docs(v4.0.0): plan for MACHINE.md steps 1-2 -- the ROM, and the .f18 trailer
rajamesandClaude Opus 5.52026-10-15 06:01:54 -04:00
d0b0eee54b
docs(v4.0.0): MACHINE.md -- what it is for: a multi-user, multitasking OS that init.4th brings up
rajamesandClaude Opus 5.52026-10-15 05:52:47 -04:00
884721783a
docs(v4.0.0): MACHINE.md -- forth79.4th names all 130 words; init.4th is the system's init
rajamesandClaude Opus 5.52026-10-15 05:50:18 -04:00
528bed0874
docs(v4.0.0): MACHINE.md -- rulings: the VM is a machine; .f18 pretty-printed text; v3 deleted at parity; the whole system loads before POST
rajamesandClaude Opus 5.52026-10-15 05:46:56 -04:00
3eca84e433
docs(v4.0.0): MACHINE.md -- the ROM is whatever size it takes; not a question
rajamesandClaude Opus 5.52026-10-15 05:43:42 -04:00
e429d30a7e
docs(v4.0.0): MACHINE.md -- the three .4th layers: forth79.4th (100 percent FORTH-79), starforth.4th, anything else
rajamesandClaude Opus 5.52026-10-15 05:41:15 -04:00
58f3837498
docs(v4.0.0): MACHINE.md -- the machine, its ROM, and the capsule: one prebuilt F18 binary, the rest source
rajamesandClaude Opus 5.52026-10-15 05:35:38 -04:00
79db0e8d88
build: v4 is the default build -- every kernel boots v4; acceptance is v4 on three ISAs and the 32-bit build
rajamesandClaude Opus 5.52026-10-14 17:21:13 -04:00
7bc658bb83
build: the source SBOM, regenerated -- 809 files with their SHA-256
rajamesandClaude Opus 5.52026-10-14 16:58:11 -04:00
fcb89b0695
build: an SPDX SBOM with every board image, and of the source tree, by syft
rajamesandClaude Opus 5.52026-10-14 16:58:10 -04:00
f8fbc37698
docs: the 12 duplicates deleted; README rewritten to the system as it is
rajamesandClaude Opus 5.52026-10-14 16:45:39 -04:00
776c89457e
docs: the map, a fresh index, and a register of dead ideas and revised claims
rajamesandClaude Opus 5.52026-10-14 16:06:59 -04:00
7aed588f78
docs: reorganise -- current reference gathered, finished work archived, superseded and dead ideas marked as such
rajamesandClaude Opus 5.52026-10-14 16:03:56 -04:00
1a4b163861
feat(boards): both systems on every board image, chosen at boot -- system=v3 or system=v4
rajamesandClaude Opus 5.52026-10-14 15:11:47 -04:00
739cb9c163
feat(usb): a USB keyboard -- a full one -- and no hang on a PC without PS/2
rajamesandClaude Opus 5.52026-10-14 14:04:33 -04:00
080b7012ba
fix(usb): the xHCI controller is found by class on any bus, sized, taken from the firmware, and 64-byte contexts laid out
rajamesandClaude Opus 5.52026-10-14 13:30:50 -04:00
0e2c60dac3
fix(raspi): the Pi 5's native path turns the MMU and caches on before any C; bounded mailbox; framebuffer address from dma-ranges
rajamesandClaude Opus 5.52026-10-14 12:58:35 -04:00
4da370f492
feat(log): LOG-FLUSH -- a VM's log records reach Artemis's log ring; and the ring keeps its order when it grows
rajamesandClaude Opus 5.52026-10-14 12:10:01 -04:00
5e26fad30d
fix(security): no VM but Artemis and Hera can make Hera run text; a message runs once; word-ACL elevation removed
rajamesandClaude Opus 5.52026-10-14 11:38:23 -04:00
029a8ed9cf
fix(hermes): one delivery path -- a VM takes its own messages on its own turn, never on another's stack
rajamesandClaude Opus 5.52026-10-14 10:37:57 -04:00
b7e8e4b058
docs(fabric): §XIV no longer reproduces -- five minted drives attach at power-on and hot-plugged a second apart, all three ISAs
rajamesandClaude Opus 5.52026-10-14 08:48:03 -04:00
c15589b39e
fix(vm): a text run from inside a line no longer takes the line's place -- LOAD and THRU go on with the rest of it
rajamesandClaude Opus 5.52026-10-14 06:19:54 -04:00
9772ee8b68
fix(repl): the bring-up build's prompt waits for a line instead of answering itself without end
rajamesandClaude Opus 5.52026-10-13 23:57:29 -04:00
c95191736e
fix(console): the serial line is found, not assumed -- from the devicetree on a board, COM1 by probe on a PC
rajamesandClaude Opus 5.52026-10-13 21:21:32 -04:00
f4e359859a
docs(boards): bring-up checklist for the four boards, and what stands between today and a first boot
rajamesandClaude Opus 5.52026-10-13 20:22:30 -04:00
66b26f823c
fix(v4.0.0): step 6e final review -- texts begun in order; a word no one will read lets its writer go; a cut wire wakes a wait for room; a full console wire is a refusal, not a fault
rajamesandClaude Opus 5.52026-10-13 20:02:33 -04:00
06da5700bc
feat(v4.0.0): step 6e -- a node removed at any step leaves the rest at rest; written up
rajamesandClaude Opus 5.52026-10-13 17:47:05 -04:00
ab96a9f2be
docs: fix stale path references in .claude/CLAUDE.md
rajames2026-10-09 19:34:30 -04:00
2e6262c91f
docs: update stale entry docs and deprecate superseded docs with annotations
rajames2026-10-09 18:21:10 -04:00
f1419e739c
fix(v4.0.0): step 6e review round 2 -- only the message looked at is taken, moved or dropped; the kernel's port has no queue in a fabric; an answer nobody awaits is not a loss
rajamesandClaude Opus 5.52026-10-08 22:36:59 -04:00
6a7d0aa27f
fix(v4.0.0): step 6e review round 1 -- a take that does not take does nothing; output and answers wait at a middle node; no queue on the kernel's port; a printing wait is not interrupted
rajamesandClaude Opus 5.52026-10-08 20:01:11 -04:00
b1d09af043
feat(v4.0.0): messages are whole and wait on the wire -- a node keeps none but the one it is doing
rajamesandClaude Opus 5.52026-10-08 15:59:37 -04:00
83694b18be
fix(v4.0.0): wire review round 1 -- tests for the wake-up order and for waking only on enough room; no overflow moving a message; sleep for impossible room answers at once
rajamesandClaude Opus 5.52026-10-08 14:12:33 -04:00
d5cd64605d
feat(v4.0.0): the wire in the engine -- whole messages, put and taken in one step
rajamesandClaude Opus 5.52026-10-08 13:50:15 -04:00
50be766e7b
chore: ignore .directory; track the bare-metal run files of 3 to 8 October
rajamesandClaude Opus 5.52026-10-08 13:13:48 -04:00
88554666d4
docs(v4.0.0): step 6e -- the plan; a mark on each wire, a sleep woken by a message coming, and the room probe
rajamesandClaude Opus 5.52026-10-08 12:58:13 -04:00
7eb545f387
docs(v4.0.0): step 6e -- messages on the wire: the second attempt at the wait
rajamesandClaude Opus 5.52026-10-08 12:47:55 -04:00
8967c93241
docs(v4.0.0): the root causes behind the wait's faults, and the boots of the code that mends them
rajamesandClaude Opus 5.52026-10-08 12:25:19 -04:00
0d91608f39
fix(v4.0.0): EMIT ran past the output buffer; a message's first word was read before there was room for the rest
rajamesandClaude Opus 5.52026-10-08 11:46:05 -04:00
6015c87157
revert(v4.0.0): step 6d, the wait, is backed out -- two reviews found it unsound
rajamesandClaude Opus 5.52026-10-08 07:31:40 -04:00
10f5ffd00b
docs(v4.0.0): step 6d as mended after its review; the boots on that code
rajamesandClaude Opus 5.52026-10-08 06:44:12 -04:00
2cf37aab4f
fix(v4.0.0): step 6d after its review -- no error in the middle of the messages waiting, no offer left standing
rajamesandClaude Opus 5.52026-10-08 06:34:15 -04:00
380f1cc6ec
fix(v4.0.0): 29 values left on the stack hung the node; and what the review of step 6d found
rajamesandClaude Opus 5.52026-10-08 01:59:28 -04:00
2b587206ee
feat(v4.0.0): the wait replaces looking and the console release; step 6d written up
rajamesandClaude Opus 5.52026-10-08 01:24:09 -04:00
ec817a8264
fix(v4.0.0): a waiting node goes on passing on and paying; KILL is not held by a stuck node
rajamesandClaude Opus 5.52026-10-08 01:00:33 -04:00
353783726d
fix(v4.0.0): a node's answer goes before its sender's next text -- the last commit failed hosted-check
rajamesandClaude Opus 5.52026-10-08 00:07:41 -04:00
1c720ab2c7
fix(v4.0.0): what a node passes on waits with it, offered -- a relay is not held by a stuck node
rajamesandClaude Opus 5.52026-10-07 23:51:30 -04:00
482cc75faf
feat(v4.0.0): every message begins through the wait -- a stuck node holds up no one
rajamesandClaude Opus 5.52026-10-07 23:38:07 -04:00