Close

Log #1 — The Profile Opens Its Office

A project log for PTSG-WPMS-Formation

The first subtraction profile of the PTSG master ISA: the packet engine that lets one gesture reach 2,048 oscillators, seam-free.

tsuneoohnakaTsuneo.Ohnaka 4 hours ago0 Comments

プロファイル、事務所を開く
Original entry: 2026-09-07 · Published to Hackaday.io: 2026-09-21

Every spin-off in this ecosystem is announced with the same two words: measured, not promised. This one begins with a smaller promise kept: the profile read its constraints before its headlines.

The charter for this session prescribed a reading order — the master’s hand-off brief, the Core’s trailing-edge principle, the master’s five chapters, then WPMS’s own first two chapters with an errata sheet in hand. The amanuensis read in that order and kept, unfiled, everything that disagreed with something else. Eighteen items by the end. The architect said: hold them, some will resolve themselves. Most did. Four went upstream to the master’s amanuensis, who accepted all four as defects and fixed them within a day — and wrote back that “the second amanuensis is a verification layer the master cannot supply itself.” That sentence is the reason profiles exist.

Fig. 10 — Three amanuenses, three sessions, one architect.
Fig. 10 — Three amanuenses, three sessions, one architect.

Two discoveries shaped the ISA

The first was the architect’s: the difference engine’s k — which bin we are on — is bin-layer information, needed at clock rate, and it is simply the Stay counter’s output. So a packet is a Stay, and packet length is the Stay value. The Core then told us how its external Stay-value input behaves: twelve bits, captured when the Stay instruction executes, and — importantly — changeable right up to the trailing edge; lower it below the running counter and the Stay takes an extra lap. The master’s law had promised “sample once, frozen.” The Core doesn’t freeze. So the profile does: a staged register the program writes, and a presented register the Core reads, loaded only at Stay Set. From the Core’s side it is exactly the law; from the program’s side there is no way to stretch a packet by accident.

Fig. 04 — The Core doesn’t freeze. So the profile does.
Fig. 04 — The Core doesn’t freeze. So the profile does.
Fig. 05 — One Stay is one packet. The trailing edge is the commit.
Fig. 05 — One Stay is one packet. The trailing edge is the commit.

The second came from the master’s amanuensis, reading the ruling that the ISA speaks integers and fixed-point meaning belongs to programs: that is coherent, they said, only if a program can express the multiply-accumulate’s realignment. Correct. The profile added a five-bit shift register and one instruction to write it. The master’s first program — ten Horner steps computing exp(x) — runs on the profile with LDA #28; WSH in front and produces the same digits as the master’s published run. Without those two lines it overflows on every step. The ISA does not know your Q; the program does, and now it can say so.

Fig. 09 — The ISA does not know your Q. The program does.
Fig. 09 — The ISA does not know your Q. The program does.

Deliverable 1 followed: a 256-word map. Eight packet blocks of sixteen words, active and shadow, swapped atomically on the trailing edge. Amplitude is stored as geometric differences (initial value, ratio, ratio-of-ratios — the last is exp(−2γ), the Gaussian’s second difference, computed once per packet). Phase is stored as forward differences across the packet together with their per-sample increments, so advancing a packet by one sample is three integer additions. An inbox region takes external writes so the shadow page keeps a single writer. The WPMS side, as customer, accepted it, filled in the fixed-point column, numbered the output channels, and proposed that Hz never crosses the WPMS boundary — only phase increments do.

The repository is open in the Open Prompt shape — specification, reasoning traces, reference tools, and an empty Layer 4 waiting for DE10-nano. The reference tools already contain the contract chain: the master’s normative chapter generates the master’s contract, the profile’s register folds it into the profile’s contract, and nothing along the way is hand-edited.

Fig. 07 — Nothing hand-edited.
Fig. 07 — Nothing hand-edited.
Fig. 08 — Mode W vs Mode T.
Fig. 08 — Mode W vs Mode T.

Next: the consumer interface (what the hardwired pipeline latches at packet start — six words, it turns out), the choreography of packet, sample and control periods, and the first multi-packet program. Then silicon.

JA 要旨: 制約を先に読み、十八件の食い違いを保持、四件を上流へ提出し全件修正。Stay = パケットと二段構えの Stay 値レジスタ、整数 ISA とプログラム所有シフト、256 語のマップと inbox、手編集なしの契約生成鎖。次は消費者インターフェース、振付、マルチパケットプログラム、そしてシリコン。

Discussions