Saturday, 23 November 2013

Orel BK-08



It was quite common practice to clone foreign computers in Russia in the 1980s and 1990s, as the copyright laws were quite "flexible" and the trade of computers between Soviet Union and the western Europe was a bit problematic. Most of these hobbyist computers were virtually unknown outside Soviet Union, though Finnish magazines sometimes reported rumors of professional CP/M and MS-DOS clones.

Nowadays it is known that a huge variety of 8-bit models had been in production. Most were based on the ZX Spectrum, a choice which is explained by the fact that Speccy was quite cheap to begin with and did not have a huge amount of dedicated chips. Some computers were produced by enthusiasts in electronics factories in-between the normal work, and some were built from scratch, in piecemeal fashion by hobbyists.

Enough documents, stamps and signatures to get you through Checkpoint Charlie.
It's not that hard to buy one from the eBay, although prices can be steep. The Orel BK-08 is one such Spectrum "clone" made in Russia in early nineties that has been lately available.

I bought the computer in its original packaging. For fans of "soviet chic", the graphics on the box and in the manuals are of course a treat. The documents go in quite a detail, and the package also included sheets of circuit diagrams, which however are bit too crudely printed to be really readable.

Besides the instruction manuals and technical documents, the box also had all the necessary cables and the Power Supply Unit. This makes the Orel a quite friendly entry into Russian retro-computing, as some other models can take a bit of fiddling to make them work, and documentation can be scarce. I was quite happy to have this model as there was relatively little hassle in getting it up and running. On the down side one might say the OREL is not as street-credible as some of the more adventurous DIY clones.

The main board. There are two more boards for the keyboard and power input.

Looking inside, there is a Korean Goldstar Z80 chip, and two brown ROM(?) chips that seem quite common in Russian computers. Compared to some other models I've seen the casing is quite sturdy and the circuit boards are clean and neatly ordered. The biggest question is of course, how has the Spectrum ULA, the only really Spectrum-specific chip, been implemented? (Though I have to add ULA is also a kind of customizable chip.) There seems to be no single ULA chip as such, so I have to assume the functionality has been replaced by a broader array of chips.

BK-08 and RGB


Although the package had all the cables, they are not exactly the same is in Europe. It seems to have been quite common in the Soviet Union to connect all peripherals with DIN-DIN cables. I managed to build a RGB-SCART connector to connect the RGB signal to my Sony TV, so I can say a little about my first experiences with the Orel.

From left to right: Power (24V), 7-pin RGB, 5-pin Tape out, 5-pin Tape in, 2x7-pin Joysticks.

Below is my cable connections but I cannot guarantee it works. My TV is not too picky but who's to say what might happen with some other display. Resistors may be needed to get the 12V down to the 3V for the Blanking pin at the display end. I used a series of resistors because one would get too hot too quickly in my opinion.

In any case, you should know what you are doing, and do not leave your retro-computers or power supplies connected without supervision!

Clockwise, from the top, the video output connector pins are (looking from the outside):

Edit: I realised this is misleading or even erroneous. The following is true if you look at your RGB-cable pins end, the one that you will stick into your Orel.

If you look at the computer video connector, that is a mirror image. I added a picture that should make this clearer.

12V - Scart RGB 16. I used resistors (5 x 33R) here, but my TV works without too.
BLUE - Scart RGB 7
RED - Scart RGB 15
SYNC - Scart RGB 20
GREEN - Scart RGB 11
SOUND - Scart RGB 6
GND - Scart RGB 5,9,13,17 or 18. One should be enough.

This should be clear!

Basic and Keyboard

The keyboard feels okay, perhaps a bit better than a Spectrum+. There's some trickery that allows the entry of "extended mode" keywords by pressing keys together with a CTRL key. Indeed, the extended mode does not seem to work even if it's sort of there.

The keyboard has cyrillic letters, but does not indicate the Spectrum BASIC keywords and generally does not follow the same terminology. Interestingly, the cyrillic alphabet has also been integrated to the BASIC ("BEISIK SISTEMA REV. 2.0") and the error messages have been localised. It's possible to turn on a RUS mode, which works much like the GRAPH mode. Both upper and lower case are included.

The keyboard module can be separated from the rest of the case, for no useful purpose.
The different "mode" (Graph/True/Inv.) keys have been given their own zone at the right of the keyboard. These keys are the only surface indication of the Spectrum heritage. The EDIT key is quite conveniently next to the cursor keys cluster. At the left side, there is a tilde key, which curiously brings up the VERIFY keyword in BASIC. Similarly, the tab key brings up... the keyword TAB, which is kind of funny.  Generally, all of the additional keys seem to work in a new "contextual" fashion, which may feel weird to a Spectrum user but is quite logical in the end. For example, READ, RESTORE and DATA have single-key commands at the right side of the keyboard, grouped into the zone that accommodates the rest of the cyrillic alphabet.

Some slight speed improvements might be expected because the memory is being handled a bit differently. (Something too technical for me to understand at the moment) I lazily eyed Orel BASIC loops side-to-side with a Spectrum emulator and it appears indeed a bit faster, but such a comparison is hardly conclusive. I also noticed the speed of the FLASH attribute is faster than on a normal speccy, but this is more of a timing issue than any indication of increased speed.

Edit: I made some side-to-side tests with the Orel and a 48k ZX Spectrum, both in BASIC and in machine code. The tests seem to confirm that the Orel is marginally faster, but the speed is not easily traceable to any obvious difference in memory speed or such. A task that takes about a minute can be expected to be a few seconds faster on an Orel.

Loading tapes, MZ80 and the Shadow RAM


A 5-pin DIN cable was included for both loading and saving.
Viewing the connector at the back of the computer, from left-to-right:

(1,2,3,4,5)
3=GROUND
5=SIGNAL

I succesfully loaded few pieces of software from my Mac soundcard. I tried Bruce Lee, Green Beret and Starion. The last one crashed, but it may be because of pressing the Z/Print screen key (feature of the game). Starion uses some border effects on starting the game, and predictably the timing was a bit off so it was not exactly true to Spectrum. But on the basis of these three games I'm actually surprised the Orel seems quite compatible with the Sinclair.

Maybe the least professional part of the packaging...
The OREL BK-08 has an interesting feature, a Shadow RAM, portion of memory that resides under the normal ROM. The only way to test is was to load the MZ80 monitor from the supplied tape. I made it into a .wav audio file and loaded this to the OREL using the Mac soundcard.

The MZ80 is the last chunk of code in the included tape. Use LOAD ""CODE to load it. (Press J, then "", then CTRL+J) When the loading has been finished, the program locates automatically in the Shadow RAM. Pressing the NMI key, the program residing in the Shadow RAM will be run.

I'm a bit clueless about the manual so I do not know how to display memory but I'm quite sure there is no disassembler. G seems to return to the program, but at least Bruce Lee refused to continue properly. The monitor exits cleanly to BASIC programs, though.

Here I have entered the MZ80 via the NMI button. X displays register contents.
As the RAM area (0000-3FFF I'm told) overlaps the screen memory, exit from the Shadow RAM handily retrieves the screen. (Edit: Except that memory area does not overlap with the screen memory, so something else must be going on here. Possibly the storage and restoring is done by the MZ80. Another explanation might be that as RAM starts from 16384, this is also the Shadow RAM address.) So the Shadow RAM should not overlap program code. The Shadow RAM also survives RESET, so it's possible to invoke the monitor as often you want as long as you don't pull the plug.

I don't know how simple it is to load your own code into the Shadow RAM. Maybe the MZ80 instruction manual describes how to save binary in such a way, but I don't read Russian. A proper monitor or assembler/disassembler residing in the shadow might even come useful. I guess I can at least have a look at how the tape file is formed if there are any clues.

All in all


Although my experiments are hardly definitive, I'm already somewhat impressed with the compatibility and the tiny improvements compared to the original computer. Of course, this is a much newer computer than any official Spectrum so it's not that surprising. Yet it is a bit unclear where the Orel BK-08 fits in the broader picture and history of speccy clones. It's not a DIY clone, nor does it seem to point to the Pentagon/Scorpion lineage either, as there are no 128k features or a new sound chip.

A very informative page about the technical features of the OREL BK-08

An amusing video about the OREL from Austria
(There's also a 3D-version for those who have the glasses.)

Monday, 4 November 2013

Your ZX has evolved!


It seems I am never quite happy with the placement of my ZX Evolution board. This time I have placed the ZXevo inside a Spectravideo case. Previously, I have already changed the SVI keyboard circuit into a ZX Spectrum keyboard matrix, so it was not too much work to connect it to the ZXevo. Also the RGB and Joystick connectors were ready so I did not have to make them anew. (Fortunately the connectors could also be squeezed through the openings so I did not need to resolder them.)

With that old attitude of "trying out gets the things done" without pre-planning and measuring too much, I found that the evo board seemed to fit nicely inside the case. There never was any question about depth and width, but the height was a bit worrying. The keyboard block is rather bulky, and the pictured configuration leaves very little room between the board and the keyboard circuitboard.


It sure looks messy. The boards are fixed into place with screws, and for these I drilled new holes directly through the bottom. The SVI case is well elevated so it does not matter much if the screws stick out slightly. The board inside is slightly raised with plastic pieces, as the existing screw holders might otherwise get in the way. Besides, there's a metallic nut in each of the holders, and it would be a pity if these created some unexpected contacts with the board circuits... So I also put some cardboard between the case and the board.

To get all the connectors visible from the backside, some more cutting would be required, but here at least the VGA and the SD card are useable. Also, If I want to use a better PS/2 Keyboard, it's within reach.

Here's some of the details:


1. The joystick connector. This fits nicely into the existing opening, and screws hold it in place. The board end is shared with the keyboard connector. I made that part to be two separate chunks, so that the joystick wiring does not hang around uncomfortably when separating the keyboard part from the case.


2. The RGB connector. It's a bit pointless to use the ZXevo with a stupid VGA monitor, so RGB is preferable. I had to carve the SVI "TV" opening a bit to make the DIN fit. Now it fits so snugly it does not even need screws really. The SD card can be seen to the right, sticking out from the opening.


3.The Reset switch. This is the one almost absolutely necessary thing to make when working with Evo if you don't want to connect a PS/2 PC keyboard (=boring). Without a separate reset switch (to Jumper 6) it's not really possible to get at the service screen again without pulling the plug! This is just a simple microswitch that sticks out from the Spectravideo power switch opening. I used a separate plastic piece screwed in place to the bottom to hold the microswitch in place.

Only the basic keys are connected here, as connecting all the cursor keys and function keys and such would require a bit different kind of thinking. There's a possibility of using some of the keys for the Evo jumpers (such as the reset above), as they do not interfere with the keyboard logic, but dismantling the keyboard block gets a bit tiresome after a few times so I did not take this route.