# Orion-128

The Orion-128 (Russian: Орион-128) is a DIY computer designed in Soviet Union. It was featured in the Radio magazine in 1990, other materials for the computer were published until 1996. It was the last Intel 8080-based DIY computer in Russia.

## Overview

The Orion-128 used the same concepts as the Specialist and had similar specifications, with both advances and flaws. It gained more popularity because it was supported by a more popular magazine. In the early 1990s the computer was produced industrially at the Livny pilot plant of machine graphics means in Oryol Oblast. Much of the software for the Orion-128 was ported by hobbyists from the Specialist and the ZX Spectrum.

## Technical specifications

* CPU: KR580VM80A (Intel 8080A clone) clocked at 2.5 MHz.
* RAM: 128 KiB in original version, expandable to 256 KiB. A bank switching scheme was used.
* ROM: 2 KiB contains monitor firmware
* Video: three graphics modes with the same image resolution 384 × 256 pixels. Text can be displayed using 64 columns × 25 rows of characters. Images for the upper case Cyrillic and Latin characters in KOI-7 N2 encoding are built in the Monitor ROM. List of graphics modes includes:
** monochrome mode (two color palettes available: black and green, yellow and blue)
** 4-color mode (each pixel has its own color, two palettes available)
** 16-color mode (each group of 8 horizontal pixels can use one of 16 foreground colors and one of 16 background colors)
* Storage media: cassette tape, ROM drive (a special board containing a set of ROM chips). In later years a floppy disk controller and an ATA hard disk controller were developed
* Keyboard: 67 keys. The keyboard matrix is attached via programmable peripheral interface chip KR580VV55 (Intel 8255 clone) and scanned by CPU

## Peculiarities

"Orion" is partially compatible with "Radio-86RK" in terms of keyboard, standard ROM subroutines and data storage format on the cassette, and with another amateur radio computer, "Specialist" in terms of graphic screen format. Apparently, he also used the idea of an electronic disk from RAM from another domestic computer with 128 kb RAM - Okean-240. The Orion developers, they say, set themselves the task of creating an inexpensive, simple and affordable consumer PC with good graphics capabilities, and they succeeded. In the minimum configuration (without color, with 64 kb RAM), ORION contains only 42 microcircuits, in the standard configuration (128 kb) there are only 59, and expensive or scarce components are not used, you can use obsolete series microcircuits. For the same reasons, the KR580VM80A was used as the CPU, as the cheapest and most affordable. Moreover, the Orion circuitry is such that the processor operates at its maximum frequency of 2.5 MHz without any delays. The same idea of transparent access to RAM is implemented, which was previously applied in the "Specialist" and its clones. Other domestic machines used WAIT cycles to synchronize the processor with the video part, which reduced performance by 25%. This made the Orion, along with the Corvette, the fastest domestic home computer on this processor. For example, Vector-06Ts, which has a much higher clock rate of 3 MHz, is inferior to Orion in terms of speed due to the slowdown of the processor by the video controller.
"Orion" has high graphics capabilities for this class of machines - a resolution of 384x256 allows good graphics in games, although the resolution is still insufficient for text processing; a full-fledged color mode is provided with its own color for each pixel (analogous to CGA, only with a different organization), 4 colors selected from two palettes and visually the number of colors can be increased due to a mosaic of colored dots, as is done in CGA games. This mode is typical for many Western computers of this level (alas, this mode was almost never used by programs, because it was not needed for text, and there was no graphic editor for creating games); and for games and texts there is a convenient 16-color mode (only 2 colors are possible within the screen byte).
The organization of the Orion screen is linear and very convenient for the programmer - the low byte of the address specifies the vertical position of the screen byte, and the high byte indicates its horizontal position. This simplified and accelerated the display of graphics on the screen (a similar screen organization is also in the "Specialist", "Vector" and "Ocean"). A color screen in 16-color mode consists of two planes - the graphics plane and the color plane. For text in a single-color window, this speeds up output and shifting, as before output, the window is first painted over, which halves the amount of output bytes per character (relative to CGA), and with a video in the window, the color simply does not need to be changed. Also, in all video modes, Orion allows you to use up to 4 software-switchable screen buffers. This allows you to output to a currently invisible screen and then instantly turn it on, which eliminates the problems with flickering sprites in dynamic games and the need to deal with this due to interruptions, as in the ZX-Spectrum. On the Orion, even large sprites can be moved across the screen without flickering.
For Orion-128, its developers initially created the author's ORDOS operating system, designed to work not with a disk drive, but with a ROM disk (external ROM readable through PPA), RAM disks (the second and subsequent 60- kilobyte pages of RAM) and a tape recorder. ORDOS made it possible to work comfortably with a computer without having disk drives that were not available at that time (the Okean-240, a small-scale production of Okean-240, also had a similar built-in ROM OS CP/M running on an electronic disk from RAM). Of the serial home computers, the Junior FV-6506, which also used CP/M, had something similar.
As relative shortcomings of "Orion" can be noted only non-optimal screen resolution of 384 * 256 at a video signal frequency of 10 MHz. This leads to the need to use an ugly, and most importantly, non-byte 6*10 font, which (due to the need for masking) is displayed 2.5 times slower than an 8*10 byte font. But in Corvette, Ocean and Vector, a 512 * 256 screen is used, therefore, even with a lower CPU speed and a larger screen buffer, their text processing is much faster and prettier, and the raster occupies the entire screen (while in "Orion" only part of the screen). As a disadvantage, sometimes they point to the lack of a hardware sound generator (the sound is generated purely by software, with a heavy processor load). This is possible because the authors understood that the gaming niche in the country was already occupied by ZX-Spectrum clones.
But the lack of hardware screen shift, contrary to the reviews on some sites, is not at all a disadvantage, because thanks to the vertically linear organization of the screen, the vertical shift of the screen by the stack is fast enough, and the horizontal shift is simply not needed.