The following contents are translated (with little changes and additions) from the Romanian section of Wikipedia
CoBra
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 pageThe 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."
"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..."
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.
|
|
Vasile ProdanHe 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
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 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
In order to select a certain function of a key, the BASIC interpreter must enter one of the 5 prompter modes:
- The mode K, where the interpreter takes into consideration the keyword on the bottom of the key being pressed. It is selected by default at computer startup.
- The mode L, where the interpreter takes into consideration the small letter corresponding to the key being pressed. It is automatically selected after the first keyword is entered in the K mode
- The mode C, where the interpreter takes into consideration the capital letter corresponding to the key being pressed. It is selected by simultaneously pressing the keys Caps Shift and 2
- The mode E, where the interpreter takes into consideration the keyword at the top of the key being pressed. It is selected by simultaneously pressing the keys Caps Shift and Symbol Shift
- The mode G, where the interpreter takes into consideration the graphic character associated with the key being pressed. It is selected by simultaneously pressing the keys Caps Shift and 9. The keys A - V can be assigned user-defined graphic characters.
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:
- In mode K or L the keyword at the top of the key being pressed is displayed.
- In mode E the keyword at the bottom of the key being pressed is displayed.
Also, when pressing Symbol Shift at the same time with other keys, the interpreter will take into consideration:
- In mode C, the small letter corresponding to that key,
- În modul L the capital letter corresponding to that key.
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
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
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:
- for 5 seconds red-blue horizontal stripes appear, slowly moving up
- a short sequence of yellow-blue stripes
- a one second break
- for 2 seconds the same red-blue stripes, followed by yellow-blue stripes during the entire recording
- the message „OK” at the end of recording.
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
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
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
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:
- Hardware: joystick(s)
- Software: BASIC interpreter, Z80 monitor, games on tape 100% SPECTRUM compatible
Edutainment configuration:
- Hardware: tape recorder, printer, joystick(s)
- Software: BASIC interpreter, Z80 monitor, assembler/disassembler, FORTH, MICROPASCAL, MICROPROLOG, LOGO, educational programs etc.
Personal-professional computer configuration:
- Under BASIC:
- Hardware: printer, tape recorder, floppy disk drives
- Software: BASIC interpreter, Z80 monitor, assembler/disassembler, FORTH, MICROPASCAL/MICROPROLOG, other utilities
- Under CP/M
- Hardware: printer, tape recorder, floppy disk drives
- Software: monitor, BASIC, FORTH, C, FORTRAN, PASCAL, GKS graphical kernel system, various utilities
Process control configuration:
- Hardware: computer micro-network, floppy disk drives, bus extension, A/D multiplexed conversions
- Software: Aside from the personal-professional computer - dedicated programs for local network connection, I/O programs for real-time operation etc.
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
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:
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:
Bibliography
- CoBra - User's Guide
- The Transilvania Expres newspaper - 29.09.2005 issue
- The homecomputer.de website