Orao 2026 v0.23 · Korisnički priručnik

23. listopada 2026. · Web: Wasm v0.16 (zadano) ili JS v0.23. Lokalni Windows: Rust v0.1.15. Dokument opisuje stvarno implementirane mogućnosti, uz granice prve verzije.

Pokretanje i čuvanje rada

Na zajedničkoj stranici odaberi Orao 2026 i Pokreni. Wasm je zadani izvršni pogon. Pokreni JS je ručni izbor; izbor podverzije sam po sebi ne mijenja aktivni emulator. Promjena pogona ponovno pokreće emulator. Prije promjene, reseta ili zatvaranja preuzmi radni medij kao IMG kroz postojeće kontrole emulatora. Datoteka u virtualnom VDOS-u nije automatski spremljena na fizički disk računala.

Windows aplikacija Orao2026-v0.1.15.exe ostaje lokalna, izvan web ZIP-a. ROM i početni programi ugrađeni su u EXE; za pokretanje nisu potrebni browser, Node ili instalirani Rust. Koristi isti nativni BASIC i VDOS. Rust zadržava povlačenje obrisa prozora. Web i Rust imaju različita vanjska sučelja, a primjeri u ovom vodiču izvršavaju se unutar istog emuliranog sustava.

Orao 2026 je zamišljeno četverojezgreno računalo. Nove aplikacije izvršavaju instrukcije nativnog 65C832 modela. Ovo nije potvrđena rekonstrukcija nikad proizvedenog procesora ni zamjena autentičnog Orao32 ROM-a. Izvorni Orao 32 i sve prethodne verzije ostaju u arhivi.

Radna ploha i tipke

Otvori ikonu Naredbeni redak za BASIC32 ili Radni disk / Disketa za Datoteke. Prozor prima tipke nakon klika u njega. Alt+Tab mijenja prozor; Tab u Datotekama mijenja panel. Izbornici gore ostaju dostupni mišem. Lokalni datum i vrijeme crtaju C0/C3 iz eksperimentalnog RTC-a; nisu mjerenje brzine CPU-a. Vanjski prikaz ostvarene brzine odvojen je od nazivnih oznaka u sačuvanim starim ROM-ovima.

TipkeNaredbeni redak
EnterIzvrši neposrednu naredbu ili spremi brojčani redak programa.
Lijevo/desno, Home/EndPomak po retku.
Backspace / DeleteBrisanje prije/na pokazivaču.
Gore/doljePovijest posljednjih osam redaka.
Ctrl+CPrekid BASIC programa ili povezanog nativnog procesa i povratak na prompt.
EXITZatvaranje terminala.
F12Prebacivanje postojećeg tekstualnog/GUI načina emulatora; nije BASIC naredba.

Konzola je 80 × 24 znaka s jednakim izvornim razmakom od 16 piksela. Nema zasebnog scrollbacka. Koristi se Orlovo jednobajtno hrvatsko kodiranje; ovo nije Unicode/UTF-8 terminal. Fizički prikaz ovisi i o skaliranju prozora.

Prvi BASIC program i uređivanje

10 FOR I=1 TO 10
20 PRINT I,I*I
30 NEXT I
RUN

Ponovno upiši broj retka i sadržaj za izmjenu. Sam broj briše taj redak. LIST prikazuje program, LIST 10,30 raspon. NEW briše program i varijable; CLEAR briše varijable i izvršno stanje, uz zadržavanje izvora. Neposredne naredbe ne počinju brojem. Dvotočka odvaja više naredbi, primjerice A=6:PRINT A*7. REM ili apostrof uvodi komentar.

PRINT odvaja vrijednosti zarezom po zonama od 16 stupaca. Točka-zarez spaja ispis; završni točka-zarez izostavlja novi redak. Kratica ? radi kao PRINT. INPUT čita redak, GET jedan znak. INPUT "Ime";A$ postavlja vlastiti upit. Tekstualni podaci s razmacima/zarezima mogu se citirati prema sintaksi naredbe.

Naredbe BASIC-a

NaredbePonašanje i primjer
PRINT, ?PRINT "Orao",6*7; TAB i SPC oblikuju položaj ispisa.
LET, pridruživanjeLET A=42 ili A=42. A$ je tekst, N% cjelobrojna varijabla.
INPUT, GETINPUT A,A$; GET K$. Preusmjeren ulaz nema upit i odjek tipkanja.
IF ... THENIF A>0 THEN PRINT A ili IF A>0 THEN 100. Nema ELSE.
GOTO / GO TOGOTO 100.
GOSUB / RETURNPoziv programskog retka i povratak, do 16 okvira.
ON ... GOTO / GOSUBON N GOTO 100,200,300; izvan odabranog raspona nema skoka.
FOR ... TO ... STEP / NEXTFOR I=10 TO 1 STEP -1:PRINT I:NEXT I. NEXT J,I zatvara više petlji.
DATA / READ / RESTOREDATA 42,"ORAO"; READ A,A$; RESTORE vraća na početak, RESTORE 100 na odabrani redak.
DIMDIM A(10),M(2,2),S$(3). Gornja granica uključena je u polje; indeksi počinju od 0.
DEF FNDEF FNS(X)=X*X+1; PRINT FNS(3).
RUNRUN, RUN 100 ili RUN "DEMO.BAS". Pokretanje čisti varijable.
STOP / CONT / ENDSTOP prekida uz mogućnost CONT; END završava. Ctrl+C također prekida.
LIST, NEW, CLEAR, REMPregled/uređivanje i komentar.
PLOT / DRAW / TEXT / CLSBitmap grafika, povratak u tekst i čišćenje konzole.
PEEK / POKE / WAITPEEK(adresa); POKE adresa,bajt; WAIT adresa,maska[,xor]. Vrijede prava procesa.
USR / CALLNativni strojni potprogrami; ABI je niže u vodiču.
DDT / MONOtvara postojeći nativni monitor u terminalu; EXIT vraća BASIC. Q u monitoru znači kopiranje memorije.

Operatori: +, -, *, /, ^ (i zadržani oblik potenciranja), =, <, >, <=, >=, <>, NOT, AND, OR. Logička istina prikazuje se kao -1, neistina kao 0. Koristi zagrade za jasan redoslijed i razlikovanje usporedbi od preusmjeravanja. FOR s početkom izvan završnog raspona zadržava ponašanje ove implementacije; ne pretpostavljaj punu kompatibilnost svakog starog programa.

Funkcije i brojevi

SkupinaFunkcije
NumeričkeSGN, INT, ABS, SQR, LOG, EXP, COS, SIN, TAN, ATN
Slučajni brojeviRND(x); RND(0) ponavlja zadnji broj, negativan argument ponovno sije niz.
TekstLEN, STR$, VAL, ASC, CHR$, LEFT$, RIGHT$, MID$
Konzola i memorijaTAB, SPC, POS, FRE, PEEK, USR
TokoviEOF(0): -1 na kraju preusmjerenog ulaza, inače 0.

Funkcije se pozivaju sa zagradama, primjerice LEN(A$), MID$(A$,2,3), POS(0), FRE(0), TAB(20). MID$ koristi početak od 1. SGN vraća predznak, INT zaokružuje prema dolje. Trigonometrijski argumenti su radijani. Vrijede provjere tipa, broja argumenata i domene.

Cijeli brojevi su signed int32. Prekoračenje obične aritmetike može prijeći u softverski IEEE binary32; približno sedam značajnih decimalnih znamenaka. Varijabla s % prisiljava cjelobrojno spremanje; nastavak $ označava tekst. Matematičke funkcije imaju lokalne aproksimacije. Novi jezik preuzima naredbe starog BASIC-a, a ne njegovu binarnu ili potpuno jednaku numeričku implementaciju.

Mediji i Datoteke u dva panela

Lijevi panel počinje na A:/0/ (disketa), desni na B:/0/ (disk). Paneli su neovisni i mogu gledati isti ili različit uređaj/volumen. A: ima jedan 140 KiB volumen; B: ima 146 volumena od 140 KiB, od 0 do 145. To su ravni VDOS volumeni, bez poddirektorija.

Tipka ili gumbUpravitelj Datoteke
Tab / klik panelaOdabir aktivnog panela.
F2 / [A:] [B:]Promjena uređaja u aktivnom panelu; vraća volumen 0.
Lijevo/desno, -/+, gumbi -/+Promjena volumena unutar njegovih granica.
Gore/doljeOdabir zapisa.
Page Up/Down, Home/EndDeset zapisa po stranici, prvi/zadnji zapis.
F3 / SadržajČitanje stvarnog kataloga.
F8 / InicijalizirajPotvrda za odabrani uređaj i volumen. Enter/Potvrdi izvršava; Escape/Odustani odustaje.
F10Zatvaranje upravitelja.

Prikazuje se do 105 naziva, s punih 30 znakova, brojem zapisa i stranicom. Različite poruke označavaju prazan, neinicijaliziran, odsutan, zaštićen, zauzet ili oštećen medij. Otvaranje/provjera ne inicijalizira automatski. Inicijalizacija briše sadržaj samo odabranog volumena, a ne cijelog diska B:. Promjena panela ili odabira mišem uklanja raniju potvrdu. U ovoj početnoj verziji nema kopiranja, premještanja i brisanja pojedinačnih datoteka kroz grafički upravitelj. Za pregled novog BASIC spremanja pritisni F3.

Sistemske naredbe i spremanje

NaredbaPrimjer i učinak
PWD / CD / CHDIRPWD; CD B:/3/; CD .. vraća volumen 0 istog uređaja.
DIR / CATALOG / LOADCStvarni VDOS katalog aktivnog ili navedenog volumena.
INIT DAInicijalizira aktivni volumen i briše njegov sadržaj, bez dodatnog dijaloga naredbenog retka. Za potvrdu koristi F8 u Datotekama.
SAVE / LOADSAVE "DEMO.BAS"; LOAD "DEMO.BAS". Tekstualni izvor u postojećem VDOS binarnom zapisu.
RUN "..." / SOURCE / SCRIPTUčitaj i izvrši BASIC izvor.
TYPE / CATTYPE "DEMO.BAS" prikazuje datoteku; bez argumenta u cijevi kopira ulazne bajtove.
DELETE / DELDELETE "DEMO.BAS" briše zapis; nema koša za smeće.
EXECEXEC "APP" pokreće nativni program, prenosi njegov ispis/unos i čeka kraj. Ctrl+C ga prekida.
BSAVE / BLOADBSAVE "APP",4096,duljina; BLOAD "APP"[,adresa], zadano 16384.
HELP / EXITSažetak naredbi / zatvaranje terminala.

SAVE i BSAVE su create-only: postojeći naziv daju kao VDOS grešku. Za zamjenu izvornog programa možeš LIST > "DEMO.BAS"; inače namjerno DELETE pa SAVE. Preusmjeravanje > i >> koristi zasebnu sigurniju zamjenu, bez promjene stare SAVE semantike. Nije dopušteno tiho automatsko formatiranje.

Put može biti relativan aktivnom volumenu ili potpun, npr. B:/3/DEMO.BAS. Do 30 ASCII znakova u nazivu, početno slovo; preporučeni su veliki znakovi. Redirekcija normalizira mala ASCII slova u velika. Obični SAVE/LOAD/EXEC zadržavaju postojeća VDOS pravila — koristi velika slova. Najveća datoteka je 16384 bajta. Prije zatvaranja preuzmi IMG. Spremanje unutar emulacije samo po sebi ne jamči trajno čuvanje u browseru.

Preusmjeravanje i cijevi

PRINT "a" > neki.txt
PRINT "b" >> neki.txt
INPUT A$ < neki.txt
TYPE < neki.txt | UPPER > velika.txt
PRINT "Za ispis" | PRN:
TYPE < neki.txt | CON:
DIR > katalog.txt

> stvara ili zamjenjuje cilj, >> nadodaje ili stvara ako ga nema. < postavlja ulaz iz datoteke. | šalje izlaz u iduću naredbu, BASIC skriptu ili nativni program. UPPER i LOWER su ASCII filtri. CON: je zaslon; PRN: virtualni pisač. Native program iza EXEC mora postojati na aktivnom mediju, kao i imenovana BASIC skripta; nazivi u primjerima nisu unaprijed instalirani programi.

RUN < ulaz.txt > izlaz.txt
TYPE < ulaz.txt | EXEC "FILTER" > izlaz.txt
TYPE < ulaz.txt | "FILTER.BAS" > izlaz.txt

Etape se izvode redom, kroz međuspremnike. Najviše 8 etapa i 16384 bajta po toku/datoteci, uključujući stari sadržaj pri dodavanju. Ovo nisu istodobne neograničene POSIX cijevi. Promjena podataka već dovršene ranije etape ostaje čak ako kasnija etapa pogriješi.

Klauzule < i > dolaze na kraju etape; moguća su oba reda. Dvostruki ulaz/izlaz, prazna etapa i nedopušteno ugniježđivanje daju grešku. Jednostruki > ili < traži razmak prije operatora i citirani put ili necitirani naziv s točkom/putanjom. Za naziv bez ekstenzije koristi PRINT "a" > "ZAPIS". Time obični PRINT A > B i IF A < B THEN ... ostaju usporedbe. Za dvosmislenu tekstualnu usporedbu na kraju naredbe koristi PRINT (A$ > "B.TXT"). Operatori u navodnicima, zagradama i komentarima su literalni.

PRINT zapisuje uobičajeni završni novi redak; PRINT "a"; ga izostavlja. TYPE i filtri unutar cijevi ne nadodaju nove bajtove. INPUT čita CR, LF ili CR/LF retke bez prompta/odjeka. GET čita jedan bajt. Neočekivani kraj ulaza daje END OF INPUT; EOF(0) služi za petlje:

10 IF EOF(0) THEN END
20 INPUT A$
30 PRINT A$
40 GOTO 10

Pokreni s RUN < ulaz.txt | UPPER > izlaz.txt. Primjer je u streams.bas. Preusmjeravanje RUN poziva obuhvaća cijeli program i upravljanje tokom. Pojedinačni spremljeni redak može preusmjeriti naredbe ulaza/izlaza, npr. 10 PRINT "a" > zapis.txt i 20 PRINT "b" >> zapis.txt. Za upravljanje tokom ili promjenu BASIC izvora koristi vanjski RUN poziv. Ugniježđeno preusmjeravanje aktivnog toka nije podržano.

Izlaz se priprema prije zamjene cilja. Greška proizvođača, preveliki tok ili Ctrl+C ne zamjenjuje raniji cilj; dijagnostika ide u konzolu. VDOS zapisuje novu kopiju prije kataloške zamjene, pa oslobađa stare sektore. Zato za zamjenu treba slobodan prostor za novu kopiju; puni/zaštićeni medij čuva prethodne bajtove. Nema dnevnika za oporavak pri prekidu napajanja.

Grafika i strojni potprogrami

PLOT 20,20
DRAW 200,200
DRAW 20,200,2
TEXT

PLOT x,y[,pero] i DRAW x,y[,pero] koriste 256 × 256 jednobojni bitmap u terminalu. Pero 0 briše, 1 postavlja, 2 invertira. DRAW spaja posljednju i novu točku. TEXT vraća tekst, CLS čisti tekstualnu konzolu. Grafiku crta emulirani CPU, bez host grafičkog prečaca.

PEEK/POKE i WAIT koriste 24-bitnu memorijsku kartu uz prava procesa. To nisu stare 6502 adrese perifernih sklopova. USR(argument) uzima adresu iz bajtova 11/12/13 (low/high/bank), predaje 32-bitni A i vraća A. Banka 0 koristi RTS; druge banke RTL. CALL adresa[,argument] koristi RTL. Potprogram čuva DBR, DP, X/Y, ravnotežu stoga i širine registara ili vraća nativne 32-bitne širine.

Nativni proces čita retke kroz BOS2 i piše znakove kroz BOS1. U cijevi BOS2 vraća status 18 na EOF; proces ga mora obraditi i završiti. Program koji ga ignorira može nastaviti čekati ili se vrtjeti; Ctrl+C prekida povezani proces. Razvojni ABI opisuje pozive, portove, memoriju i izgradnju.

Greške, ograničenja i očuvanje

GranicaVrijednost
Program256 redaka, do 240 bajtova po retku
Varijable128 skalarnih, naziv do 16 znakova
Polja8 polja, do 3 dimenzije, ukupno 1024 elementa
Tekstualna vrijednostDo 255 bajtova
DEF FN / izraz8 definicija; 8 razina ugniježđenosti izraza uključujući FN
Stogovi jezikaDo 16 FOR i 16 GOSUB okvira
Konzola / povijest80 × 24; 8 redaka povijesti
VDOS / cijevi16384 bajta; do 8 etapa, bez ugniježđenog aktivnog preusmjeravanja

EXPRESSION TOO DEEP, BAD SUBSCRIPT, DIVISION BY ZERO, STREAM TOO LARGE, END OF INPUT i datotečne greške vraćaju kontrolu naredbenom retku. FILE OPERATION FAILED / VDOS ERROR označava stvarni VDOS problem; provjeri umetnuti uređaj, volumen, inicijalizaciju, naziv, zaštitu i slobodni prostor. REDIRECT FLOW WITH RUN AT COMMAND PROMPT traži preusmjeravanje vanjskog RUN poziva.

Izvorni Orao32 ROM i njegov razmak redaka ostaju očuvani. Korisnik je odgodio daljnju istragu tog razmaka; nove mogućnosti nisu tvrdnja da je staro ponašanje promijenjeno. Lokalno file:// učitavanje kaseta s karusela ostaje odgođeno. HTTP učitavanje i sačuvane kasete nisu mijenjani. Promjene BASIC-a nisu izmišljeni PEL ROM ili dokaz autentičnog hardvera.

Primjeri, izvori i provjere

Primjeri · Nativni ABI i izgradnja · Izvor BASIC-a · Tokovi · Upravitelj datoteka · Provjere · Licenca.

Priručnik prati pripremljenu objavu v0.23.0. Paket i točan opseg opisani su u bilješkama objave. Raniji development.md i zapisi podverzija čuvaju povijesni lokalni status; kasnije bilješke objave ga nadopunjuju, bez prepisivanja starih arhiva.