History of the CoBra Project



The following contents are translated (with little changes and additions) from the Romanian section of Wikipedia

CoBra

From Wikipedia
images_wikipedia/images/SiglaCoBra.png
images_wikipedia/images/CalculatorulCobra.jpg
CoBra
Manufacturer I.T.C.I. Braşov
Type personal/professional microcomputer
Prototype 1986
Production stopped 1990
CPU Z80
Versions black case CoBra
white case CoBra
CPU Frequency 3,5 MHz
ROM Memory 16 + 4 kB – 32 + 2 kB
RAM Memory 64 kB – 80 kB
Video Memory 8 kB
Keyboard alphanumeric, QWERTY 58/59 keys
Text mode 24×32
Graphic mode 256×192
Colors 16
Sound built-in speaker
I/O ports 1 serial, 1 parallel
Peripherals 8" or 5¼" floppy disk drive
Tape
B/W or color TV/monitor
Printer
Joystick
Medical devices
Industrial devices
Operating systems BASIC, OPUS or CP/M
Software Z Spectrum, Forth, C, Fortran, dBase II, Word Star
Dimensions (L×D×H) 35,5×27×5,5 cm
Weight 1,5 kg
Price 27.000 lei – 35.000 lei
($300-400)

CoBra is the first and, so far, the only Romanian computer manufactured in Braşov. The prototype was ready after one year of research, in 1986.

The team who built it had eight researchers, coordinated by Prof. Dr. Toacşe Gheorghe. Thus, the hardware design was done by eng. Vasile Prodan, eng. Wagner Bernd Hansgeorg and eng. Mircea Ungur, and the software by math. Marcel Arefta, math. Mircea Pop, eng. Sorin Finichiu and eng. Sorin Cismaş. Also arch. Alexandru Antal was assigned the graphical design part, among other things he created the CoBra poster shown further down on this page

The CoBra Team


People and skills

Details described next were provided by eng. Vasile Prodan, who was kind and patient enough to have a few conversations with me about the CoBra Project.

Before anything, as Mr. Prodan said, it must be mentioned that the CoBra Project is entirely a team work and achievement of the people mentioned above, all having to cooperate in order to accomplish their own tasks. The purpose of the details presented next is only to show some novel aspects so far unknown about the evolution of this project.

"Was this team formed from the beginning? Or you started the project by yourself?" I asked.

"I solved the problems from the schematics' point of view. Wagner Bernd took care of the project theme and the Spectrum code. He had a book about the ROM, this one I believe:

or something very much like this. He typed it into an assembler source, translated the comments and even added his own. He reassembled it and obtained the 16K code. There were a lot of mistakes in the book which he corrected. Unbelievably huge amount of work because the commented source is very big. When I understood what the operating system wants and what the TV wants you to provide for the image, I designed the schematics."


"So this team existed from the beginning, you didn't come up with the project first ?"

"No. We only had "Sinclair ROM Handbook" or something like that. It was in German. Berry translated it and made it source text. I only saw the first Spectrum after 2 years."

"There was also a production line, at SPIACT Brasov. It was a workshop of the CFR (Romanian Railroads) where their electronic equipment was produced and repaired. I schooled them and they produced over 150 computers. The printed circuit boards were purchased from others. I know I personally dealt with around 300 systems. They might have built some more without my help but I wouldn't know how many. I worked with them a few months. There were some kind of starting procedures. They had to track down the shortcircuits on the PCB and interruptions in vias. Some were even built at our ITCI branch. We had three people working in the assembly line. The debugging and operational startup, if they did not work from the start, was being done by me. Very few were working from the start, but there were some. I can't be 100% sure, but I think there was an initial order for 300 units, assembled by them (SPIACT). We (ITCI) made some 50 more, officially sold."

The Wikipedia page where I took the information on CoBra also mentioned a name, which doesn't show up on the official hardware manual. I'm talking about Adrian Maxim. He didn't take part in the actual development/design of the CoBra computer, but dealt with project development for the ITCI customers, projects involving the use of CoBra computers in various dedicated applications and which could include additional hardware and had a software component, programs tailored for the specific needs of that particular application. Basically he would solve the important task of finding clients for the ITCI branch in Brasov.

"On the wikipedia page there is a name that doesn't show up in the manual: Adrian Maxim."

"At ITCI we were selling projects based on CoBra, software or hardware applications. Customers were coming with a request, we were solving it with a computer plus something, whatever was needed, software or hardware. The branch made a living for years out of this sort of projects. We even had a ballbearing test bench for very high speeds, with thermal sensors and speed gauges everywhere. Unfortunately never finalized. The project was requested by a customer, Rulmentul Braşov. The bench itself was built by them, a big thing with hidraulics, took up an entire room, but they didn't have anything to monitor the parameters with. There were also file processing/management systems for machine tools controlled by punched cards. Adrian Maxim came later on and only worked on projects involving CoBra. The interfaces for the tape reader/puncher were designed by him. Maxim did not work on hardware and neither he went to Moskow. He is a politician now, he always had the skills. He was bringing projects in, which was a very important part. ITCI was not selling CoBra, they were selling "... System with personal microcomputer". Much more expensive because it had dedicated hardware and software. He worked on projects involving Cobra, but not on CoBra."

The printed circuit board for CoBra was designed by eng. Sorin Finichiu, who also tackled a software part, namely a FORTH interpreter.

"Sorin Finichiu had his wife in Bucharest and so he was "transferred" to ITCI Bucharest for a long term. There he designed the PCB, on a PDP11 system, Coral or Independent 100, with a DAF2020 terminal, using a program program written by ITCI which was called PIX, written in FORTRAN. The program was even for sale."

A few details about the activity of Mircea Ungur:

"Ungur Mircea, may God forgive him - he passed away, took care of the power source and the keyboard. He designed that smart key with a capacitor, the compound key... there were several made of two but one is made of three. And the power source with the trick using that diode on ground, that's also his. it generated -0.7 V for the voltage sequence required by the RAM using three different voltages. If -5V did not activate first the memory chips would fry, it was a nightmare. It also had to be the last voltage to disappear, i.e. you couldn't power anything nimic without the substrate voltage. If the DIN connector moved. goodbye RAM. Later on single-voltage memories came out and this didn't matter anymore."

"And Sorin Cismaş?"

"An extraordinary guy. He ended up a V.I.P., in Silicon Valley. He wrote the code for horizontal scroll in the logo. Basically he made the walking CoBra logo. Starting from my schematics, he designed another schematic, some sort of CoBra 2. A few units have been built, but it was never sold."


I even managed to get in touch with Sorin Cismaş too, currently the CEO of a company in California (oVICs) specialized in video processing, as well as the founder of two other companies. As far as I learned from him, this "CoBra 2" was an improved version of the original CoBra, with a drastically reduced number of integrated circuits, basically eliminating about 15 of them from the original CoBra design. The size was about the same as that of the CoBra keyboard, which is about half the size of the standard factory-made CoBra case. Unfortunately as I understand the CoBra 2 schematics are currently lost, but Mr. Cismas sent me this very nice high resolution photo of one prototype, built in a HC85 case:

CoBra 2 - AKA Turbo Spectrum, designed by Sorin Cismaş


Also, Mr. Cismaş also told me the following interesting facts about this prototype:

"On CoBra 2.0, which I was calling "Turbo Spectrum", instead of the CoBra logo there were two rows, "Turbo" and "Spectrum", and "Turbo" was scrolling twice as fast. A detail I'm particularly proud of was that the 64 KB memory bank which was used as both system memory and video memory had zero wait states, and the VSync interrupt was programmable.

In the upper left corner there is the date (April 16, 1988) I had finished designing the circuit board using the Pix design environment, running on an Independent mainframe with 256K RAM, using a DAF2050 terminal or something like that. Just to brag about it a little, I entered the schematics on paper in Pix directly, without previously testing it on a breadboard. There were 12 circuit boards manufactured in secret on the contract we had with the Potato Institute for IT-88, the image data acquisition system using five Z80 CPUs on which I developed software together with Ilie and Razvan, and which was also used by Dr. Dan Waniek for a study of the human iris. Not even Tutzi, who bought our access to the Computer Factory with a few sacks of potatoes, knew anything about it. She only found out when she picked up the boards for IT-88 and brought them to me so I can build the system.

I built the first computer for myself. I persuaded Gunther to give me a CoBra keyboard, a real one with printed keycaps. The mainboard was exactly the size of the keyboard and they were making up a sandwich using 6 spacers, the ones in the back taller to allow more space for the connectors, and the ones in the front lower for ergonomics reasons. The power supply was external. When I left I gave it to an ex-friend, who tossed it after a few years when he got bored with it. The photo shows the last unit built, by Mircea Ungur I think, who put the mainboard and the power source in a HC-85 case."


"Now, for the software, is it correct what I have on my website? Marcel Arefta, Sorin Finichiu, Mircea Pop and Sorin Cismas ?"

"Yes. Somehow proportioned. Arefta did the CP/M part. I spent with him almost an entire night manually typing in the first DOS. All the disk routines in BIOS are written by him. The ones for the screen and printer are written by Mircea Pop, including the ones for 80 chars."

"Very smart this modification for 80 characters per line."

"We needed this ourselves, because we were using the systems for text processing. The other CP/M had horizontal scrolling."

"There is another smart thing about this CP/M with 80 characters per line, I discovered it when I disassembled it. It keeps a copy of the CCP in the unused memory gaps in the upper half of the second VRAM page. And so it doesn't stress the disk anymore when exiting from transient programs..."

"Arefta style..."


Prototipul calculatorului
The case of the 1986 prototype differs from that of the mass production model, having a different shape, a different badge, a different size and a touch-sensitive keyboard. The mass production model came out in 1988. Its case was made in cooperation with several factories in the country (Metrom Braşov - the mold, IUS Braşov - the cast, and Electromureş - the keys), the mainboard was made at I.C.E. Felix Bucureşti, while the components were imported through IPRS Bucureşti. All these were assembled in the SIACT shops of CFR (Romanian Railroads). Officially there have been made about 1.000 units, which were used for technological process control (furnaces, machine tools and robots), in accounting, stock inventory for goods, video surveillance, entertainment etc. Production has been stopped in 1990.


Contents

Vasile Prodan

He joined the CHIP team in 2000 after going through an IT centre of the 80's as an electronics engineer and after one year, scientific researcher at the Hardware and Software Institute - Braşov Department. There, he participated in the CoBra research program which placed the city of Braşov on the map of personal computer manufacturers of that time. About this project, Vasile Prodan remembers:

There were two mainboard versions. For the first version there were only three boards made, there are major changes in the connectors' area and in the placement of the floppy interface (they were manufactured at FEA).

(NOTE: FEA = Electronics and Automation Factory)

The second version was preserved in time, the little modifications being made with straps and a little board with a chip for the 80KB version. The computer was being delivered with manuals, hardware, software CP/M, and Sinclar BASIC. I think I still have a hardware manual with the correct schematics. For the circuit board, the films and the drill map stayed at FCE,

(NOTE: FCE = Electronic Computers Factory)

I only had an A4 layout with the circuit tracks printed in different colors for the two layers. I used this model of the real circuit board very often, for an easier location of possible shortcircuits between tracks (there were many, the technology at FCE being very poor, or maybe they were making them defective on purpose because we were their biggest competitor). Basically the production stopped when the computer factory was charging us for a printed circuit board more than the selling price of one of their HCs.

(NOTE: HC=Home Computer, "HC90" and "HC2000" were computers being made at FCE)

Back then we could not find another circuit board manufacturer competitive enough. For today, I'm not sure to what extent there can be found all the necessary components and who would have the patience to manufacture something like this. From a historical point of view, the project is interesting. Personally, I offered information and even assembled computers to anyone who wanted. That explains why it was taken over and manufactured on a parallel market of hobbyists, especially in the Regie.

(NOTE: "Regie" = the university campus in Bucharest)

Descriere

Sistemul complet

The CoBra computer is capable of executing the most various tasks, such as: dimensioning and drawing mechanical structures in color, solving mathematical and scientifical problems that are algoritmized, complicated electric and electronic circuit design and testing, controlling production processes economically and in a timely fashion, operating robotic arms, accurately ascertaining the development stage of a culture etc. It can operate with inventory and accounting programs, can diagnose certain medical conditions, successfully interprets computerized tomographies, electrocardiograms and encephalograms, can be used as a typewriter. In CP/M, programs can be written in FORTRAN, FORTH, C, BASIC, PROLOG, PASCAL and there can be used graphics and electronic mail applications, text editors etc.

CoBra operates mainly in two modes: CoBra BASIC (default configuration) and CoBra CP/M (which was loaded from a floppy dik). For this reason, CoBra was promoted under the slogan „Two computers in one”. The choice for one system or the other is made at startup. Thus, if a floppy disk drive is not connected, the computer automatically enter BASIC mode, otherwise the user must press the corresponding B, W, D or C key, for each possible operating system (BASIC, OPUS, CP/M from floppy disk, respectively another system from floppy disk).

The full computer system includes also the power source, a color TV (PAL standard) or monitor, one or two tape recorders, a floppy disk drive which can be further connected to another one, a printer and one or two Joysticks. Inside the computer case there are three modules: mainboard with the CPU, floppy disk interface board and the keyboard. All these components are described in detail next.

Central Processing Unit

The microprocessor used in this computer is Z80 (8-bit, that is), with a 3,5 MHz operating frequency.

The ROM memory (92716 chips, later 27128, 27256 or 27512) ranges from 16 + 4 kB to 32 + 2 kB, and the RAM memory (4116 chips, later 4516 and finally 4164) is 64 kB (or even 80kB, less often). The user has access to 40kB or 48kB at any time (depending on the operating system being used), which would be the equivalent of 25, respectively 35 normal book pages.

The 9 EPROM chips were divided as follows: one for the system startup code, the other 8 for BASIC. Those who had the knowledge could program CP/M (16kB), BASIC (16 kB) and OPUS (16 kB) systems into 27512 chips which then were connected to the expansion slot of the computer, in order to avoid loading the operating system from floppy disk.

On the dual-layer printed circuit board there are also connected a few other level-adapter and interface circuits.

The back panel with connectors, prototype version

The connector panel in the back of the computer case allows connecting the computer to a power source as well as connecting the peripherals and the other systems.

Five connectors (the ones for color monitor, B/W monitor, RS 232, aux, tape) use coaxial cable and the others (Joystick, expansion and the power source) are special.

The RESET button, also on the back panel, allows restarting the system without losing the contents of the volatile memory (RAM).

Mass-produced CoBra models have the back panel changed. Thus they have a connector for the power source, a RESET button, male connectors for the expansion slot and the floppy disk drive, two Joystick connectors, two connectors for coaxial cable (tape recorder and auxiliary) and another two special connectors for monitor and serial (RS232)[1]

Keyboard

The 53+6 keys (54+4 for the mass-production version) of the computer have up to 5 functions each, in order to maintain the compatibility with Sinclair Spectrum systems. The 6 (respectively 4) extra keys can be assigned, by program, any wanted function.

Operation in BASIC

The keyboard of CoBra prototype

In order to select a certain function of a key, the BASIC interpreter must enter one of the 5 prompter modes:

By selecting one of these modes, the prompter on the screen will blink in inverse video, appearing as  K ,  L ,  C ,  E  or  G , so that at any moment the writing mode can be seen.

The mass-production model facilitates the selection of the writing mode as it features 4 special keys for selecting the modes K, C, E and G on the left side of the keyboard.

When pressing the key Symbol Shift at the same time with other keys, the effect depends on the current writing mode:

Also, when pressing Symbol Shift at the same time with other keys, the interpreter will take into consideration:

For those who wish, CoBra offers the possibility of a sound being generated every time a key is pressed. For that to happen, the command  POKE 23609, n   must be executed, where n can take a value between 1 and 255 which corresponds to the tone of the sound generated at key press.

Operation in CP/M

Keyboard usage in CP/M is simple. Each command is entered letter by letter, after which <CR> is pressed.

Video monitor

Image produced on the MON 002 monitor, generated by CoBra
Exemplu de definire a unui caracter

For a video monitor there can be used B/W TV set, color TV sets, the color monitors MON 001 or MON 002. By using coaxial cable a better picture definition can be achieved.

The computer can display a 256 × 192 pixel image. A character is defined on an 8 × 8 pixel square, so that in text mode (alphanumerical), there can be written 24 rows of 32 characters each.

In the video memory, each pixel on the screen is assigned one bit. This has a 1 value if it corresponds to the shape of a character („ink”) or a 0 value if it corresponds to the background („paper”)

In case a color monitor is used, 16 colors can be displayed. These are actually 8 normal colors (black, blue, green, cyan, red, purple, brown, dark gray), with their light versions (light gray, light blue, light cyan, light red, light purple, yellow, white). In text mode, the character can have any of the 16 colors, while its background is limited to only the normal colors. Also the characters can be displayed in blinking mode.

By the help of programming, other characters can be displayed (assigned to keys A - V). these must be defined in a matrix of 0s and 1s, with a size of 8 × 8.

The tape recorder

Typical tape recorder for CoBra

Because of the small memory, but also for proper organization of applications and files, CoBra offers the possibility of saving the data on tape. For this purpose, a regular tape recorder can be used, mono or stereo, which is connected to the computer via a special cable. In order to save a program, the tape recorder is turned on in recording mode, and the specific command is executed („SAVE” in the case of BASIC). During saving, on the border of the screen the following events are taking place:

The explanation of these events is physically found on the tape, where the program was saved in two blocks, each one preceded by the syncronization signal (represented by the red-blue stripes). in the first block there are saved the name of the program as well as other information pertaining to the program. The program itself is saved in the second block.

The BASIC system offers the possibility of verifying the program recorded on tape by using the „VERIFY” command. The same sequence of events happens on the screen, and the final message indicates the status of the recording operation: „OK” or „R TAPE LOADING ERROR”. In the second case a new recording is required.

Program loading is done by running a command specific to the operating system („LOAD” in BASIC), the tape being searched for the program whose name corresponds to the one requested by the user.

The Joystick

The Joystick is used in various graphic programs or games. It is connected through a special cable to the corresponding connector at the back of the computer. The mass-produced version of the computer offers two such connectors, for two-player games.

The printer

CoBra: color screen printed in 8 levels of gray

In order to print information, a dot matrix printer can be attached to the CoBra computer via the serial cnnector RS 232. The best option is using the CDC 9335 printer, but for lower requirements other models can be used, such as CENTRONICS sau D-180.

The (graphic) screen can be printed (B/W) using the COPY SCREEN command. The copy can be scaled by 1:1, 2:1 or 3:1. In the third case, there is a possibility of translating the colors to 8 levels of gray.

As for the text, it can be printed at the same scales, using the LIST or LPRINT commands, in BASIC as well as in CP/M.

The floppy disk drive

Double floppy disk drive for loading the CP/M operating system

The floppy disk drive (some models even have 15 kg!) is connected to the outlet labeled „EXTENSIE” in the back of the computer. A second drive can be connected to the back of the first.

In order to be able to load the CP/M system, CoBra needs a 5¼" floppy disk drive and a 5¼" disk which would contain the program. The CP/M system disks are copy protected. If at computer startup the choice is made for CP/M, after reading from the disk the screen will display the message "COBRA DOS 2.4 - 48K". But working under this operating system, one can only operate within the limit of 250 kB, regardless of the floppy disk format.

Aside from this purpose, the floppy disk drive is also used for data storage on or data loading from floppy disks. The speed of data flow between the floppy drive and the computer is 250 Kbit/s. There are various commands for working with floppy disks: „LOAD” and „SAVE” for writing to disk or loading into memory, „OPEN” and „CLOSE” for opening or closing files, „ERASE” for erasing etc.

Work configurations

Promotional poster for the CoBra computer

The CoBra computer can be configured according to the requirements. The hardware resources are well defined in each case, but the software configurations can be extended according to the user's choice. Indispensable are the power source and the monitor or TV set.

Games and entertainment configuration:

Edutainment configuration:

Personal-professional computer configuration:

Process control configuration:

Problems

The only problems of the first specimens were related to the power source (sometimes it would happen that the voltage varied too much) and the 4116 memory chips (Russian code RU3) which required three different voltages. The startup sequence of the power source did not always go correctly, and the 4116 chips would get fried. As a consequence, these chips were replaced with 4156 and eventually 4164.

Jokes

Homemade assembled CoBra computer

The reliability and performances of this computer aroused the interest over the borders. Thus, being presented at a show in USSR (1988), even though it was fastened with screws onto a table, it was found the next day by the Romanian team with the mainboard stolen. Fortunately they had a spare one:

We had been warned by the Securitate about the industrial espionage and told they might try something. To make sure there won't be problems we fastened its case to the table in the show room and we sealed it. the next morning, before the beginning of the show, the computer wasn't working anymore. Then we noticed it had been opened, the mainboard taken out and the integrated circuits with „intelligence” also taken out. They also copied the soft (EPROM). Of course we were able to get it back up and running...”
Adrian Maxim, interview in "Transilvania Expres"

Another story related to this computer hard to get by the ordinary citizens is that of the „pirated” specimens built by the students in Bucharest at Regie. They were smuggling mainboards and components out of the I.C.E. Felix factory and assembling them in HC 85 cases or in homemade cases. The story goes that these specimens outnumbered the „official” ones.

A difficult task was training the CEOs or the waiters at ONT Carpaţi (state-owned tourism agency) to use the CoBra computer:

Colaboraţi la Wikicitat Quite often we were commuting between the IT Institute and the districtual party office, for a presentation of the computer, when the big PCR party bosses were coming. Also, the trips for computer installations were taking over 75% of the production time; we were staying there 1-2 weks at once just to explain to them how to operate it. The biggest problem was creating a software for room reservation, based on priority levels, for the front desk clerk. front desk manager, hotel manager, ONT CEO and the Ministry (of Tourism). The bosses in Tourism argued for two months just to come to an agreement as to what quotas of rooms they have at each level. Anyway, the training took 6 months, and the exams and graduation, one year, but even after all this time not all ONT employees were able to get a diploma.”
Adrian Maxim, interview in "Transilvania Expres"

Bibliography

External links