# Orao 2026 v0.14 · stabilniji i brži scroll

C0 spaja osvježavanja i prije skupog prijenosa čeka kratki predah u video upisima gosta. C3 CPU kopira izvor u odvojeni radni spremnik te uspoređuje serijski broj video upisa prije i poslije kopiranja. Broje se i upisi istih bajtova, pa scroll kroz prazne stupce ne može proći kao stabilan izvor. Odbačena kopija ponovno označava prikaz za osvježavanje. C3 zatim crta samo promijenjene retke, preskače prekrivene slojeve i koristi brži proširivač osam piksela. Samostalne video transakcije upisuju promijenjene četvorke piksela; opća kompozicija zadržava precizno označavanje promjena.

Kopiranje, tekst, pokazivač i prikaz i dalje izvršava emulirani CPU. Izvorni Orao32 ROM, instrukcije, broj ciklusa i zvuk nisu promijenjeni; nema pauziranja gosta ili DMA. Dodano je samo praćenje video upisa u emulatoru. Eksperimentalni sistemski portovi C065D0/D4 daju serijske brojeve uz odvojene C0/C3 bajtne zasune; C3 preko D8 traži ponavljanje. To nisu povijesni Orao32 registri i nisu mapirani gostu.

Program koji bez predaha piše po cijelom ekranu ne smije trajno zalediti prikaz. Nakon 250 ms neprekidno opaženih upisa dopuštena je jedna živa CPU kopija, zatim se opet traži stabilan izvor. Takva kopija ostaje nepromjenjiva tijekom crtanja, ali nije jamstvo dovršenog semantičkog kadra proizvoljnog programa. Regresije izvornog ROM-a i pomicanja s razmacima prolaze bez tog iznimnog puta i bez razlomljenih znakova.

Lokalni razvoj; nema publikacijskog ZIP-a ili udaljene objave. Ranije verzije ostaju sačuvane.

## Prethodni razvoj

# Orao 2026 v0.13 · cjelovita slika Orla 32

C3 kopira označenih 8 KiB video memorije gosta u svoju privatnu radnu memoriju prije rasterizacije. Svi redci jednog prikazanog kadra koriste isti radni međuspremnik. C0 prenosi nepromjenjivu oznaku osvježavanja gosta i oštećenje cijelog područja njegova prikaza. C3 iz jednog izvornog bajta proširuje osam piksela, uz zadržanu obradu odrezanih rubova.

Sve kopiranje i crtanje izvršava emulirani CPU. Nema host crtanja, DMA, pauziranja gosta ni izmjena izvornog ROM-a ili NMOS procesora. Ovo je interni prikazni međuspremnik, bez spremanja/učitavanja stanja emulatora. Kretanje pokazivača zadržava postojeći brzi put.

Lokalni razvoj; nije pripremljen ZIP niti udaljena objava. Ranije verzije ostaju netaknute.

## Zadržane upute iz v0.12

# Orao 2026 v0.12 · Odzivniji pokazivač

Lokalni razvoj, 21. listopada 2026. Nije pripremljen novi ZIP niti provedena udaljena objava.

C3 čuva pozadinu ispod softverskog pokazivača u vlastitoj privatnoj memoriji. Pomak obnavlja staru pozadinu, sprema novu i crta isti pokazivač kroz nativni CPU i postojeće video priključke. Obradi se najviše 45 starih i 45 novih piksela, neovisno o udaljenosti pomaka. Nema host pokazivača ni host crtanja GUI-ja.

Običan pomak više ne čisti dvije maske od po 3072 bajta i ne prolazi popisom objekata. Promjena prozora, teksta ili slike ponovno crta oštećeno područje bez pokazivača; tek nakon dovršetka C3 sprema novu pozadinu i dodaje pokazivač. Nepromijenjeni redci bez oštećenih pločica preskaču i pripremu popisa objekata. Klikovi, povlačenje, promjena veličine i FIFO zadržavaju izvorni redoslijed.

CPU, raspoređivač, sabirnica i uređaji zadržavaju postojeća pravila. Promijenjen je nativni GUI firmware, pa su broj izvršenih naredbi i proteklo virtualno vrijeme manji; usporedba s v0.11 traži jednake dovršene piksele i funkcionalno stanje. JS/Wasm v0.12 međusobno se provjeravaju i po taktovima, registrima i memoriji.

[Pokreni](index.html) · [Mjerenja](benchmark.json) · [Provjere](verification.json) · [Wasm v0.5](../../prototypes/wasm-v05/index.html?engine=wasm) · [Ranija v0.11](../orao-2026-v0.11/index.html).

Gradnja: `node firmware/build.cjs`. Nativni kursor: `firmware/cursor-save-under.cjs`. Privatni C3 međuspremnik: 018000–01804F, metapodaci 0220–0243; za ostale jezgre nije dijeljeni GUI resurs. Puna sukladnost fizičkom W65C832 nije dokazana.

## Rad s plohom

Nakon POST-a pričekajte prvi dovršeni prikaz. Klik odabire prozor. Naslov se povlači, donji desni kut mijenja veličinu, lijevi narančasti gumb zatvara prozor, a desni gumb spušta ga iza ostalih. Ikone i izbornik Prozori ponovno otvaraju alate. Tab mijenja fokus. F10 otvara izbornik; strelice biraju izbornik i stavku, Enter izvršava, Escape zatvara.

Bilješke su jednostavan sistemski zapisnik: unos na kraju teksta, Enter, Backspace i automatsko praćenje završnih redaka. Ctrl+S ili Spremi RAM čuva radnu kopiju do reseta. Ctrl+P otvara točan RAM pregled ispisa. Uredi nudi novi zapis i povrat RAM kopije. Ovo još nisu datotečni editor i spooler: nema spremanja bilježaka na medij niti slanja ovog pregleda fizičkom pisaču. Postojeći nativni editor/pisač i IPC primjer ostaju u razvojnim kontrolama.

Radni disk zasad otvara sistemske alate. Ne prikazuje izmišljene datoteke ili zauzeće diska. Stvarni katalog, učitavanje/spremanje i HDD volumeni koriste postojeći VDOS ispod zaslona. Disketa ostaje 140 KiB, HDD 20 MiB sa 146 privremenih volumena. Izvezite IMG prije zatvaranja stranice; nema automatske trajne pohrane.

Ikone Orao32 C1/C2 rezerviraju odgovarajuću jezgru prema postojećim kernel pravilima. Prozori prikazuju stvarni izvorni ROM i VRAM; klik odabire tipkovnicu. Zatvaranje prozora zaustavlja tu instancu i oslobađa jezgru. Ako je jezgra zauzeta vezanim nativnim procesom, oslobodite je u kontrolama procesa. GUI radi i s obje jezgre rezervirane. Uključi zvuk aktivira WebAudio.

F12 ili GUI / tekst vraća tekstualni prikaz 640 × 480 za VDOS i monitor. C3 prvo očisti cijeli tekstualni framebuffer. F12 vraća plohu i njezine RAM podatke. Gubitak fokusa otpušta tipke i hvatanje miša. Na uskom zaslonu ploha zadržava razlučivost i može se vodoravno pomicati unutar okvira.

## Arhitektura i osvježavanje

Osam sistemskih i osam aplikacijskih mjesta za prozore, jedan prozor i osam naredbi crtanja po običnom procesu. GUI je sistemski softver, bez korisničkog prioriteta ili zasebne aplikacijske jezgre. C0 provjerava vlasništvo i objavljuje nepromjenjive poruke; C3 iz vlastitog zaštićenog stanja sastavlja scenu i konačan raspon retka u privatnoj RAM. Pokazivač obrađuje zaseban nativni save-under postupak. Zaštićena maska ima 64 × 48 pločica veličine 16 × 16. Izbornici i završni redci bilježaka označavaju ograničene promjene; Orao32 prijavljuje promijenjene retke VRAM-a. C3 predodabire naredbe za skup od 16 redaka i koristi 32-bitne CPU upise za jednobojne raspone.

Preglednik predaje dovršenu C3 sliku; nema vidljivih međuslojeva. Kopiranje završne slike služi samo prikazu, ne crtanju ili upravljanju prozorima. Prvi prikaz i pomaci cijelih prozora još su zahtjevni u softverskoj emulaciji. Nema GPU-a, blittera, AV DMA-a ni multithreadinga.

Emulirani korisnički kod ne može mijenjati stanje GUI-ja, RAM bilježaka, objavljenu scenu, ulazne događaje ili video priključke. Klijent crta samo vlastiti sadržaj; naslov dobiva stvarni PID. Izvorni monitor i postojeće provjere ovlasti ostaju dostupni. Stvarne CPU pogreške imaju pouzdanu sistemsku obavijest s PID-om; običan ispis ostaje u zasebnim zapisima. Zaštita vrijedi za emulirani kod; razvojni JavaScript API i alati preglednika ostaju pouzdani.

[Pokazivač i osvježavanje v0.12](docs/gui-v0.12.md) · [BOS GUI ABI](docs/gui-v0.8.md) · [Monitor i pogreške](docs/monitor-v0.7.md) · [BOS loader](docs/bos-loader-v0.6.md) · [Provjere](verification.json).

Granice: novi izvorno nacrtani bitmap font Orao UI 16 (8 × 16, ASCII i hrvatska slova), osnovni miš bez kotačića, zapisnik s unosom na kraju do 840 bajtova i jedna RAM kopija/pregled. Nema punog datotečnog upravitelja, trajnog GUI spremanja, cjelovitog tekst editora, korisničkih bitmap površina ili cjelovite Unicode/IME podrške. VDOS=IDOS ostaje projektna pretpostavka. Puna W65C832 ciklusna sukladnost nije dokazana.


## Prikaz i puni zaslon

Gumb **Puni zaslon** nalazi se iznad slike emulatora. U punom zaslonu ostaju dostupni gumb za izlaz i izbor povećanja; Escape vraća stranicu. Zadano povećanje je 100 % s jednim slikovnim pikselom po CSS pikselu. Na užem prozoru koristite pomicanje ili izaberite Prilagodi zaslonu. Puni zaslon odmah bira prilagodbu; povratak vraća ranije povećanje. Opcija 200 % daje točno dvostruke piksele. Omjer slike ostaje očuvan i pri promjeni GUI/tekst (F12). Hrvatska slova crta C3 iz ROM-a. Bilješke imaju 13 vidljivih redaka s razmakom od 20 piksela.
