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.
| Tipke | Naredbeni redak |
|---|---|
| Enter | Izvrši neposrednu naredbu ili spremi brojčani redak programa. |
| Lijevo/desno, Home/End | Pomak po retku. |
| Backspace / Delete | Brisanje prije/na pokazivaču. |
| Gore/dolje | Povijest posljednjih osam redaka. |
| Ctrl+C | Prekid BASIC programa ili povezanog nativnog procesa i povratak na prompt. |
| EXIT | Zatvaranje terminala. |
| F12 | Prebacivanje 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
| Naredbe | Ponašanje i primjer |
|---|---|
| PRINT, ? | PRINT "Orao",6*7; TAB i SPC oblikuju položaj ispisa. |
| LET, pridruživanje | LET A=42 ili A=42. A$ je tekst, N% cjelobrojna varijabla. |
| INPUT, GET | INPUT A,A$; GET K$. Preusmjeren ulaz nema upit i odjek tipkanja. |
| IF ... THEN | IF A>0 THEN PRINT A ili IF A>0 THEN 100. Nema ELSE. |
| GOTO / GO TO | GOTO 100. |
| GOSUB / RETURN | Poziv programskog retka i povratak, do 16 okvira. |
| ON ... GOTO / GOSUB | ON N GOTO 100,200,300; izvan odabranog raspona nema skoka. |
| FOR ... TO ... STEP / NEXT | FOR I=10 TO 1 STEP -1:PRINT I:NEXT I. NEXT J,I zatvara više petlji. |
| DATA / READ / RESTORE | DATA 42,"ORAO"; READ A,A$; RESTORE vraća na početak, RESTORE 100 na odabrani redak. |
| DIM | DIM A(10),M(2,2),S$(3). Gornja granica uključena je u polje; indeksi počinju od 0. |
| DEF FN | DEF FNS(X)=X*X+1; PRINT FNS(3). |
| RUN | RUN, RUN 100 ili RUN "DEMO.BAS". Pokretanje čisti varijable. |
| STOP / CONT / END | STOP prekida uz mogućnost CONT; END završava. Ctrl+C također prekida. |
| LIST, NEW, CLEAR, REM | Pregled/uređivanje i komentar. |
| PLOT / DRAW / TEXT / CLS | Bitmap grafika, povratak u tekst i čišćenje konzole. |
| PEEK / POKE / WAIT | PEEK(adresa); POKE adresa,bajt; WAIT adresa,maska[,xor]. Vrijede prava procesa. |
| USR / CALL | Nativni strojni potprogrami; ABI je niže u vodiču. |
| DDT / MON | Otvara 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
| Skupina | Funkcije |
|---|---|
| Numeričke | SGN, INT, ABS, SQR, LOG, EXP, COS, SIN, TAN, ATN |
| Slučajni brojevi | RND(x); RND(0) ponavlja zadnji broj, negativan argument ponovno sije niz. |
| Tekst | LEN, STR$, VAL, ASC, CHR$, LEFT$, RIGHT$, MID$ |
| Konzola i memorija | TAB, SPC, POS, FRE, PEEK, USR |
| Tokovi | EOF(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 gumb | Upravitelj Datoteke |
|---|---|
| Tab / klik panela | Odabir aktivnog panela. |
| F2 / [A:] [B:] | Promjena uređaja u aktivnom panelu; vraća volumen 0. |
| Lijevo/desno, -/+, gumbi -/+ | Promjena volumena unutar njegovih granica. |
| Gore/dolje | Odabir zapisa. |
| Page Up/Down, Home/End | Deset zapisa po stranici, prvi/zadnji zapis. |
| F3 / Sadržaj | Čitanje stvarnog kataloga. |
| F8 / Inicijaliziraj | Potvrda za odabrani uređaj i volumen. Enter/Potvrdi izvršava; Escape/Odustani odustaje. |
| F10 | Zatvaranje 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
| Naredba | Primjer i učinak |
|---|---|
| PWD / CD / CHDIR | PWD; CD B:/3/; CD .. vraća volumen 0 istog uređaja. |
| DIR / CATALOG / LOADC | Stvarni VDOS katalog aktivnog ili navedenog volumena. |
| INIT DA | Inicijalizira aktivni volumen i briše njegov sadržaj, bez dodatnog dijaloga naredbenog retka. Za potvrdu koristi F8 u Datotekama. |
| SAVE / LOAD | SAVE "DEMO.BAS"; LOAD "DEMO.BAS". Tekstualni izvor u postojećem VDOS binarnom zapisu. |
| RUN "..." / SOURCE / SCRIPT | Učitaj i izvrši BASIC izvor. |
| TYPE / CAT | TYPE "DEMO.BAS" prikazuje datoteku; bez argumenta u cijevi kopira ulazne bajtove. |
| DELETE / DEL | DELETE "DEMO.BAS" briše zapis; nema koša za smeće. |
| EXEC | EXEC "APP" pokreće nativni program, prenosi njegov ispis/unos i čeka kraj. Ctrl+C ga prekida. |
| BSAVE / BLOAD | BSAVE "APP",4096,duljina; BLOAD "APP"[,adresa], zadano 16384. |
| HELP / EXIT | Saž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
| Granica | Vrijednost |
|---|---|
| Program | 256 redaka, do 240 bajtova po retku |
| Varijable | 128 skalarnih, naziv do 16 znakova |
| Polja | 8 polja, do 3 dimenzije, ukupno 1024 elementa |
| Tekstualna vrijednost | Do 255 bajtova |
| DEF FN / izraz | 8 definicija; 8 razina ugniježđenosti izraza uključujući FN |
| Stogovi jezika | Do 16 FOR i 16 GOSUB okvira |
| Konzola / povijest | 80 × 24; 8 redaka povijesti |
| VDOS / cijevi | 16384 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.