Orao (computer)

Orao (en. Eagle) was an 8-bit computer developed by PEL Varaždin in 1984. Its marketing and distribution was done by Velebit Informatika. It was used as a standard primary school and secondary school computer in the former Yugoslavia (Croatia and Vojvodina) from 1985 to 1991.

Orao (code named YU102) was designed by Miroslav Kocijan to supersede Galeb (code named YU101). The goal was to make a better computer, yet with less components, easier to produce and less expensive.
The initial version, dubbed Orao MR102, was succeeded by Orao 64 and Orao+.

History
The chief designer of Orao was Miroslav Kocijan, who previously constructed the basic motherboard for Galeb (working name YU101). Galeb was inspired by computers Compukit UK101, Ohio Scientific Superboard and Ohio Scientific Superboard II which appeared in the United Kingdom and the United States in 1979 and were cheaper than the Apple II, Commodore PET and TRS-80. Driven by the challenge of Anthony Madidi, Miroslav Kocijan began to develop a computer that is supposed to be more advanced than the Galeb with fewer components, easier to produce, better graphics, performance and a more affordable price. The working title of the new project was YU102.

Miroslav Kocijan managed to gather around him a group of people who helped in the development of electronic components and software. Kocijan had the idea to commercialize Orao, and was able to convince Rajko Ivanusic, director of PEL Varaždin, to support the idea. In the market of the former Yugoslavia, where the purchase of home computers were disabled due to high tariffs and due to the low purchasing power of citizens and schools computers were unattainable, the idea of mass-produced home computers made sense.

Serial production and price
The price of Orao was originally set to be around 55.000 Yugoslav dinars, however the price rose to 80.000 dinars. The production began in the summer of 1984. Since the only imported components were integrated circuits which were hard to acquire in Yugoslavia because of strict monetary politics, PEL Varaždin itself financed the imports of these components, which enabled a cheaper final product. Occasional problems that occurred in the serial production were related to the construction of certain external parts and overheating.

Lack of supported software
Since the Orao was not compatible with any home computer of the time, its software offering was scarce due to the lack of software companies whose products supported the platform.

Lack of capabilities
That was one of the most common sentences related to 8-bit school computer. Result of that statement is chapter above.

Architecture
The graphics were controlled by a special circuit, not by the main processor as it was the case in many other home computers because Kocijan's intention was to create a graphical computer similar to Xerox Alto, or Macintosh, and as such, he had it utilize bitmap graphics. The resolution was 256x256 dots, for up to 196,608 bits of VRAM as the graphics could need no more than three bits per pixel. Such a resolution was chosen for square dots, which enabled easy writing of graphical programs. The resolution of text was 32x32, and every character was rendered in an 8x8 field. The designers of Orao went an additional step further to create a computer which could be far more easily expanded, connect with a printer and establish a net connection through RS-232.

Specifications

 CPU:  MOS Technology 6502 at 1 MHz
 Read-Only Memory: 16 KB (with BASIC interpreter and Machine code monitor)
 RAM: 16 KB (expandable to 32 KB)
 VRAM up to 24 KB
 Graphics: monochrome 256×256 pixels, in up to 8 shades of gray
 Text mode: 32 lines with 32 characters each
 72 chars in one BASIC line
 Sound: single-channel, 5 octaves through built-in loudspeaker
 Computer keyboard: 61-key QWERTZ
 I/O ports: video and RF TV out, cassette tape interface (DIN-5), RS-232 (D-25), Edge expansion connector
 Peripherals: 5.25" floppy drive, Printer
 Price: 55,000 dinars planned but increased to 80,000 during production

BASIC example

Math 
10 REM PLOTS ONE PERIOD OF SINUS GRAPH
20 for x=0 to 128
30 y=64*sin(3.14159*x/64)
40 plot x,y+96
50 next
60 END

Physics 
 5 REM CONVERTS KM/H TO M/S
 10 PRINT"KM/H     M/S"
 20 FOR SP=0 TO 60
 30 PRINT SP,SP*1000/(60*60)
 40 NEXT
Output
RUN
KM/H     M/S
 0         0 
 1         .277777778 
 2         .555555556 
 3         .833333333 
 4         1.11111111 
 5         1.38888889 
 6         1.66666667 
 7         1.94444445 
 8         2.22222222 
 9         2.5 
 10        2.77777778 
 11        3.05555556 
 12        3.33333333 
 13        3.61111111 
 14        3.88888889 
 15        4.16666667 
 16        4.44444445 
 17        4.72222222 
 18        5 
 19        5.27777778 
 20        5.55555556 
 21        5.83333334 
 22        6.11111111 
 23        6.38888889 
 24        6.66666667 
 25        6.94444445 
 26        7.22222223 
 27        7.5 
 28        7.77777778 
 29        8.05555556 
 30        8.33333333 
 31        8.61111112 
 32        8.88888889 
 33        9.16666667 
 34        9.44444445 
 35        9.72222223 
 36        10 
 37        10.2777778 
 38        10.5555556 
 39        10.8333333 
 40        11.1111111 
 41        11.3888889 
 42        11.6666667 
 43        11.9444444 
 44        12.2222222 
 45        12.5 
 46        12.7777778 
 47        13.0555556 
 48        13.3333333 
 49        13.6111111 
 50        13.8888889 
 51        14.1666667 
 52        14.4444444 
 53        14.7222222 
 54        15 
 55        15.2777778 
 56        15.5555556 
 57        15.8333333 
 58        16.1111111 
 59        16.3888889 
 60        16.6666667

Machine code/Assembly example 
 1000 A9 7F         LDA #7F
 1002 85 E2         STA  E2    ; x center
 1004 85 E3         STA  E3    ; y center
 1006 A9 6F         LDA #6F
 1008 85 F8         STA  F8    ; radius
 100A 20 06 FF      JSR  FF06  ; draw circle
 100D C6 E2         DEC  E2    ; decrement x center
 100F C6 E3         DEC  E3    ; decrement y center 
 1011 A5 F8         LDA  F8    
 1013 38            SEC 
 1014 E9 04         SBC #04    ; reduce radius for four points 
 1016 85 F8         STA  F8    ; store it
 1018 C9 21         CMP #21    ; compare with 0x21
 101A B0 EE         BCS  100A  ; bigger or equal ? yes, draw again
 101C 60            RTS        ; no, return

Design team
 Miroslav Kocijan
 Branko Zebec
 Ivan Pongračić
 Anđelko Kršić
 Damir Šafarić
 Davorin Krizman
 Zdravko Melnjak
 Vjekoslav Prstec
 Dražen Zlatarek

References

External links

 Orao page at old-computers.com
 Orao implementation in FPGA
 Another Orao implementation in FPGA
 MESS, Multi-System Emulator which supports Orao
 Orao emulator with source code and some software, as well as Orao 2007 recreation of original computer
 Orao Emulator written in C#
 Orao Emulator for Android
 ORAO BASKET
 Orao Emulator in web browser
 Orao Emulator in Python
 Browser Orao Emulator as standard web site, using Blazor/C#
 Browser Orao Emulator as Web Assembly app, can work offline in modern browsers

Computer-related introductions in 1984
Personal computers