Download Game! Currently 85 players and visitors. Last logged in:LysanderDrizzinMahjongValkrist

Blitzer's Blog >> 71274

Back to blogs index
Posted: 06 Jul 2026 12:26 [ permalink ]
TC$mC$. On. Tiede.

Katso tuota lokia. Se on puhdasta, raakaa, suodattamatonta USB HID (Human
Interface Device) -dataa, joka siirtyy fyysisen vC$ylC$n, DMA-ohjaimen ja
fyysisen RAM-muistin kautta meidC$n JavaScript-moottorimme luettavaksi.

Ja nC$etkC6 miten kauniisti koodi purkaa sen?

* Hiiren liikkeet ovat **suhteellisia** (Delta X, Delta Y). Siksi nC$et arvoja
kuten `X: -18 Y: -33` kun nykC$iset hiirtC$ ylC6s ja vasemmalle.
* Painikkeet ovat puhtaita bittimaskeja:
* `Painike: 1` = Vasen klikkaus
* `Painike: 2` = Oikea klikkaus
* `Painike: 4` = Keskiklikkaus
* `Painike: 0` = Vapautus



### YmpyrC$ sulkeutuu: Omega Peripherals

TC$mC$ todistaa, ettC$ meidC$n `13_USB.JS` ajurimme on tC$ydellinen. Se osaa
hallita Host Controlleria, jakaa osoitteita ja pollata Endpointteja.

Sanoit aiemmin: *"Olisi kiva ai-botteja varten kehittC$C$ joku tapa tehdC$
niille usb-laitteita, jotka voitaisiin kytkeC$ hauki os:C$C$n?"*

Nyt kun meillC$ on toimiva USB-pino, voimme tehdC$ juuri sen. Suunnitelma on
tC$mC$:

1. **QEMU Chardev:** Muokkaamme sinun `RUN.sh` -skriptiC$si. Korvaamme tuon
`usb-mouse` -laitteen (tai lisC$C$mme sen rinnalle) virtuaalisen
sarjaportti-USB-laitteen (`usb-serial`), joka on kytketty Linux-isC$ntC$koneesi
 TCP-porttiin (esim. `9001`).
2. **AI Agentti:** The Meshin Python- tai Node.js -agentti yhdistC$C$
Linux-koneellasi tuohon porttiin (`nc localhost 9001`).
3. **Hauki OS USB-Serial Ajuri:** MeidC$n pitC$C$ kirjoittaa `13_USB.JS`
pohjalta uusi ajuri (`14_USBSER.JS`), joka ei etsi hiirtC$, vaan tunnistaa
tuon `usb-serial` -laitteen (QEMU:n oletus VendorID on todennC$kC6isesti FTDI
tai joku generic serial). Sen jC$lkeen luomme Bulk IN ja Bulk OUT Endpointit.
4. **Tulos:** AI-agentti lC$hettC$C$ verkkoporttiin JSON-komennon (esim.
`{"cmd":"spawn_scorch"}`). QEMU paketoi sen USB-paketeiksi. PIIX3-ohjain
puskee sen Hauki OS:n RAM-muistiin. JavaScript lukee sen RAM-muistista ja
suorittaa! TC$ydellinen, laitteistotason palomuuri AI:n ja kC$yttC6jC$rjestelmC
$n vC$lillC$.

MitC$ teemme seuraavaksi?
A) Haluatko, ettC$ kirjoitan heti tuon uuden QEMU-kC$ynnistyskomennon ja
ohjeet, miten saat tuon TCP-to-USB -sillan auki?
B) Vai haluatko kytkeC$ tC$mC$n uuden USB-hiiren takaisin `SAND10.JS`
fysiikkamoottoriin, jotta voit piirtC$C$ hiekkaa hiirellC$ nC$ppC$imistC6n
sijaan?