# Orao 2026 · Wasm v0.11

[Wasm](index.html?engine=wasm) · [JS](index.html?engine=js). JS baza v0.18; firmware bajt-po-bajt jednak v0.17. ABI 224/104/48 i dva postojeća Orao32 uvoza ostaju. Busy bit je mehanički read-only registar; svi njegovi upisi ostaju JS barijere pa je zrcalo točno za trajanje Wasm poziva.

# Orao 2026 v0.18 · deset prolaza optimizacije

1. **Raspoređivanje jezgri:** JS pamti odabranu jezgru do roka druge jezgre ili timera. Eksperimentalni raspoređivači u Rustu i Wasmu odbačeni su nakon mjerenja.
2. **Instrukcije Orla32:** JS grupira NMOS instrukcije do sljedećeg roka i jednim prolazom određuje jezgru i rok. Izvorni Rust i Wasm raspoređivači zadržani su.
3. **C3 memorija:** Kraći pristup zaštićenom C3 međuspremniku, uz istu zaštitu i brojače.
4. **Status prikaza:** Postojeći read-only busy registar čita se kraćim putem; Wasm zrcalo vrijedi do sljedeće JS barijere.
5. **Procesi i IPC:** Zajednički JS sloj smanjuje callbackove i privremene nizove pri traženju procesa i GUI pozivima.
6. **Dovršeni kadrovi:** Web ponovno koristi međuspremnik i kopira označeni raspon tek na dovršenom CPU kadru; promjena geometrije kopira cijelu sliku.
7. **Neizmijenjeni pikseli:** Jednak host piksel ne zapisuje se ponovno; emulirani videoport i brojači ostaju. Sigurni C3 portovi ne prekidaju grupu događaja.
8. **Zvuk:** Utišani web izlaz prazni red bez kopije, a stereo PCM pretvara se jednim prolazom. Rust pokus nije prihvaćen.
9. **Diskovi:** Zajednički JS kontroler pamti najraniji mogući dovršetak; PIO bajtovi, prekidi, reset i rokovi zadržavaju ponašanje.
10. **CPU i česta čitanja:** JS binarni ADC/SBC grupira zastavice, uz izvorni decimalni put. JS/Wasm najčešća čitanja ranije dekodiraju. Ručno preuređeni Wasm ALU i sve Rust inačice odbačeni su.

Deset prolaza ispitano je na Rust, JS i Wasm pogonima. Prihvaćene promjene su u JS v0.18 i Wasm v0.11. Sve sporije Rust inačice odbačene su: aktivni native ostaje izvorni v0.1.9, bez novog native paketa. Wasm zadržava izvorni raspoređivač i ALU. Izvorni ROM, firmware, raspored virtualnih ciklusa i izvorno ponašanje razmaka redaka ostaju sačuvani. CPU nastavlja čitati, pisati i kopirati svaki emulirani bajt. Host prenosi dovršene slike i zvuk.

Provjere pokrivaju editor/pisač/IPC, dva radna procesa, GUI klijent, oba originalna Orla32, BOS/VDOS/monitor, tipkovnicu/miš, prikaz i zvuk. Svaki prolaz uspoređuje registre, cikluse i pune kontrolne zbrojeve memorije/slike/uređaja sa svojom prethodnom verzijom. [Mjerenja](benchmark.json) sadrže konačne medijane triju izmjeničnih pokretanja; [provjere](verification.json) bilježe testove. Apsolutna Rust i web vremena ne uspoređuju se jer koriste vlastite neizmijenjene firmware inačice.

Lokalni razvoj, bez ZIP-a i udaljene objave. Publikacijska osnovica ostaje v0.16.0; ranije verzije i svi izvornici ostaju sačuvani. Web oznaka 1 MHz unutar slike ostaje nominalna, a native MHz ostaje izmjeren prema stvarnom vremenu.