- Galaksija
The Galaksija (pronounced "Galaxiya", meaning "Galaxy") was originally a build-it-yourself
computer designed byVoja Antonić . It was featured in the special edition [http://user.sezampro.yu/~dejanr/rac1.htm Računari u vašoj kući] ("Computers in your home", written byDejan Ristanović ) of a popular eponymous science magazine, published late December 1983 inBelgrade , Yugoslavia. Kits were available but not required as it could be built entirely out of standard off-the-shelf parts. It was later also available in complete form.History
In the early eighties, various laws in Yugoslavia prevented importing computers into the country. At the same time, even the cheapest computers available in the west were nearing average monthly salaries. This meant that regardless of demand for home computers, only a relative minority of people owned one - mostly a
ZX Spectrum or aCommodore 64 .According to his [http://www.paralax.co.yu/pr83.htm own words] , some time in 1983,
Voja Antonić , while vacationing in Hotel "Teuta" inRisan , was reading the application handbook for the RCACDP1802 CPU and stumbled upon CPU-assisted video generation. Since theCDP1802 was very primitive, he decided that aZilog Z80 processor could perform the task as well.Before he returned home to
Belgrade , he already had the conceptual diagrams of acomputer that usedsoftware to generate avideo picture. Although using software as opposed to hardware would significantly reduce his design's performance, it also simplified the hardware and reduced its cost.His next step was to find a magazine to publish the diagrams in. The obvious choice was
SAM Magazine published inZagreb , but due to prior bad experiences he decided to publish elsewhere.The popular science magazine Galaksija appeared incompatible but he heard that they were working on a special issue dedicated to computers. He proposed publishing entire do-it-yourself diagrams, instructions, etc. to the author of the issue,
Dejan Ristanović . Everything made its way into the special issue called [http://user.sezampro.yu/~dejanr/rac1.htm Računari u vašoj kući] . It was released late December 1983, although it was dated January 1984.They tried to guess the number of Galaksijas that would be built by readers. Their estimates ranged from a hundred to a thousand (a number that sounded so optimistic it provoked laughter). The actual number built by known "do-it-yourselfers" - was around 8000! This number may in reality be greater if people who did not purchase any kits (including PCB and ROMs) are accounted for.
Components were provided by various manufacturers and suppliers:
*
MIPRO and Elektronika fromBuje , together withInstitut za elektroniku i vakuumsku tehniku (en. "Institute for electronics and vacuum technology") delivered PCBs, keyboards and masks,
*Mikrotehnika fromGraz sentintegrated circuits
*Voja Antonić personally programmed allEPROM s
*Galaksija (magazine) collected requisition forms and organized deliveriesLater,
Institute for school books and teaching aids together withElektronika Inženjering started mass commercial production of Galaksija computers, mainly to be delivered to schools.Impact
Galaksija was almost not comparable by any measure of features to the commercially available computers at the time. However, that was not important. The computer sparked the minds of many people. Many
enthusiast s have learned how computers actually work by looking at Galaksija's schematic diagrams and Voja's great descriptions. It was a great learning tool. Making a computer yourself boosts confidence and brings on the challenges of making the best out of it.The Galaksija computer's popularity was significant enough that it became commercially available. Many educational institutions were given some. Although many of them were not ready for the experience, many others used it as a great tool to teach computer science (computer architecture and programming) even in elementary schools (in 1984!).
Technical Specifications
*CPU:
ZiLOG Z80 A 3.072MHz
*ROM "A" or "1" - 4 KB (2732 EPROM) contains bootstrap, core control andGalaksija BASIC interpreter code
*ROM "B" or "2" - 4 KB ("optional", also 2732 EPROM) - additionalGalaksija BASIC commands, assembler,Machine code monitor , etc.
*Character ROM - 2 KB (2716 EPROM) contains character definitions
*RAM: 2 to 6 KB of 6116 static RAM in base model, expandable to 54 KB
*Text mode only: 32 x 16 characters,monochrome
*Pseudographics : 2x3dot matrix combinations in graphic character subset - 64x48 dots total. More was done using tricks - see video generation.
*Sound : None according to specifications, but tape interface was occasionally used as audio output port - like the "EAR" port onZX Spectrum can be used both as audio and cassette port. See "Cassette" port">cassette port for details.
*Storage media :cassette tape , recording at 280 bit/s rate
*I/O ports: 44-pinEdge connector withZ80 Bus, tape (DIN connector ), monochrome video out (PAL timings,DIN connector ), and UHFTV out (RCA connector )BASIC ROMs
Galaksija BASIC is aBASIC interpreter originally paritally based on code taken fromTRS 80 Level 1 BASIC, which creator believed to have been aMicrosoft BASIC [Antonić, Voja (creator), [http://www.paralax.co.yu/pr83.htm 1983 - Galaksija] ] . However, after extensive modifications to include video generation code (as theCPU was a major participant to reduce the cost of hardware) and improve the language, what remained from the original is said to be mainly flow-control andfloating point code. It was fully contained in 4 KB ROM "A" or "1". Additional ROM "B" or "2" provided moreGalaksija BASIC commands, assembler, monitor, etc.ROM "A"
The chip labeled as "A" by the creator of Galaksija,
Voja Antonić was commonly referred to as "ROM 1" or just "ROM". ROM "A" contained bootstrap code ofGalaksija , its control code (rudimentaryOperating System ),video generation code (as Galaksija did not have advanced video subsystem itsZ80 CPU was responsible even for generatingvideo signal ) andGalaksija BASIC .Fitting all this functionality in 4 KB of 2732 EPROM required a lot of effort and some sacrifices. For example, some message text areas were also used actual code (e.g. "READY" message) and the number of error messages was reduced to only two ("WHAT?" and "HOW?").
ROM "B"
ROM "B" of
home computer Galaksija is a 2732 EPROM chip that contains extensions to originalGalaksija BASIC available in computer's base ROM ("A"). It was labeled as "B" by the creator of Galaksija,Voja Antonić , but was commonly referred to as "ROM 2".ROM "B" contained additional
Galaksija BASIC commands and functions (mostly trigonometrical) as well asZ80 assembler andmachine code monitor . This ROM was not required and was an optional upgrade. Although planned on the mainboard, the content of ROM "B" was not automatically initialized duringbooting . Instead, users had to execute aGalaksija BASIC command to run amachine code program from ROM "B" before they can gain additional features. This also meant that evenGalaksija s with ROM "B" plugged in can behave entirely as base models.Character ROM
Character ROM of
home computer Galaksija is a 2716 EPROM chip that contains graphical definitions ofGalaksija 's character set. It had no special name and was labeled "2716" after the type of 2 KBEPROM required.Galaksija had a slightly modified (localized)
ASCII character set:* There were no lowercase characters
* Codes 91 to 94 representedSerbian language characters Č, Ć, Ž and Š, respectively. Letter "Đ" was not present in original version and was commonly replaced with "DJ".
* It contained 64 pseudo-graphics characters, having different combinations of dots in 2x3 matrix.
* Character codes 64 and 39 are used for two halves of the logo ofElektronika Inženjering company (they can be seen in "READY" prompt)Each character was represented as 8x13 matrix of
pixel s. In this ROM, 8-pixel rows of each character are represented as 8bit s of onebyte .Video generation
Galaksija did not have a dedicated video circuitry. Its
Z80 ACPU was directly responsible for modulating the monochrome video signal with a little help of ashift register . The CPU would write a singlebyte to the shift register, which would, in turn, serialize its 8 bits one by one to the video output.Since Galaksija had little
RAM , a portion of it was taken not to store information for eachpixel separately but character codes. CPU then had to look up character definitions in its character definitions ROM to find the values to send to the shift register.This was standard operation available in Galaksija's ROM. Some software, however, reportedly took the responsibility for driving the shift register (and thus generating video) and was able to use various tricks to achieve what appears as high-resolution graphics, such as with user defined graphic characters.
It was thus possible for Galaksija with sufficient RAM upgrade (having at least 6144 bytes available for video memory) to achieve 256x208 graphics without any specialized circuitry. Other resolutions were also possible while maintaining only pixel width, by changing the amount of the active area of video picture and/or handling two interlaced video fields separately. Changing the number of active lines would have also altered the CPU usage for video generation and ratio of it available for other use.
"Cassette" port
Galaksija used
cassette tape assecondary storage . It featured a 5-pinDIN connector used to connect the computer to a cassette tape recorder. Tape interface circuitry was rudimentary - other than few elements controlling the levels it was essentially one-bit digital equivalent to the one in theZX Spectrum . The input signal was routed to theintegrated circuit otherwise responsible for keyboard, so the CPU would "see" the input signal as a series of very fast key presses of varying lengths and gaps between them.It is normally stated that original Galaksija does not have any dedicated (separate) audio ports and most of the programs were written as silent. It was, however, possible to utilize the cassette tape port as an audio output as well like it is done in
ZX Spectrum (its "EAR" connector). The only technical difference between ZX Spectrum and Galaksija in regards to existence of audio is that ZX Spectrum has a built-in beeper, while Galaksija's plans do not include any kind of a speaker.Trivia
* Approximately 70% of
CPU time was used just to generatevideo , which made Galaksija relatively slow in normal operation. This was unacceptable while saving or loading data from the tape so video generation was disabled during tape operations. There is also a way to disable (and re-enable) video generation from BASIC when "fast computation" is required. With video disabled, built-inBASIC interpreter was in many instances able to outperform interpreters of otherhome computer s of the time.* Galaksija's
BASIC has slightly different names for standard commands (e.g. BYTE instead ofPEEK and POKE , OLD instead of LOAD, etc). This was done to assure that most commands begin with different letters. Not only this helps the interpreter in recognizing the command but also allowed all commands to be abbreviated to a single letter followed by a dot (e.g. "P." instead of "PRINT") and, thus, take less memory for the same program, albeit with reduced readability.* Galaksija's interpreter can report only a few error messages - "WHAT?", "HOW?" and "SORRY". This made more ROM space available to code.
* "READY" prompt (
bytes in ROM representing it) is also used as code invideo generation routine.* To simplify "do-it-yourself" building and reduce cost, the
Printed circuit board was designed as single-layer (single-side) board. This resulted in a relatively complicated design requiring many components-side connections to be made using wires.* Galaksija's case was not pre-built. Instead, the guide suggested it to be built out of the
Printed Circuit Board material used for themainboard . Thus, the top, sides and reinforcements were soldered together to form the "lid".acrylic glass was recommended for the underside. The guide included instructions on cleaning, painting and even decorating the assembled case. The name "GALAKSIJA" and decorative border were to be added using Letraset transfer letter sheets after the first (white) coat of paint but prior to the second coat of final colour. After the paint dried, transferred decorations were supposed to be scratched off, exposing underlying white paint.* Among standard ways of distributing software, Galaksija programs used to be broadcast over FM Radio "
Beograd 202" in a showVentilator 202 , hosted byZoran Modli . At 280 bit/s, a mere 2 KB program would take a whole minute of characteristic noise that only computer enthusiasts enjoyed.* "Dots" of pseudographic mode were not all of the same height. They were all 3 pixels wide and 1 pixel gap existed between them (both horizontally and vertically). In a single character there were two dots horizontally and three vertically. The top and bottom dots in a character were 3 pixels tall, and the middle ones were 4 pixels tall.
* Generated video signal was made for
PAL equipment, but does not fully conform to its timings. Instead of 15,625 lines per second (625 lines 25 times per second) Galaksija generated full 16,000 because it was easier to fit in CPU timings (exactly 192 clock ticks) per line, while keeping the 25 frames (50 fields) per second. Instead of 312.5 lines per field, this results in exactly 320 fields. Due to a missing half-line to facilitate interlacing, Galaksija's video output was essentially progressive, albeit because it never comes to the "second field". This did not create any usage problems as it was well within tolerance of the video equipment.* The keyboard is laid out such that keys have their own memory-mapped addresses that, in most cases, follow the same order as
ASCII code of the letter on the key. This saved the ROM space by reducing lookup tables but significantly increased the complexity of single-layer keyboard PCB such that it alone required 35 jumpers.* The original Galaksija's ROM lacks support for auto-starting programs after they have been loaded from the tape (a feature common in similar computers of the time). Users had to start each program manually after the loading with a "RUN" command. This was an intentional attempt to prevent copy-protection and to encourage sharing of software between users.
Gallery
ee also
*
Galaksija BASIC - details about Galaksija's BASICprogramming language .
*Galaksija Plus - improved version of Galaksija, announced in Jun/July 1984 (6th) issue of "Računari" magazine (in English: "Computers", renamed from "Računari u vašoj kući")
*Voja Antonić - the creator of Galaksija
*Dejan Ristanović - well known Serbianwriter andcomputer publicist who authored much of the special issue magazine featuring Galaksija
*Z80 - Galaksija'sCPU External links
Articles
* [http://user.sezampro.yu/~dejanr/comp1.htm Computers in your home] - short overview by
Dejan Ristanović , the author ofRačunari u vašoj kući magazine issue, inEnglish language
* [http://www.paralax.co.yu/pr83.htm 1983: Galaksija] - how it all started, by Galaksija's creatorVoja Antonić himself (inSerbian language )
* [http://user.sezampro.yu/~dejanr/rac1/rac1gal.htm Computer Galaksija] - detailed description of computer operation for those planning to build it, as published in the "Računari u vašoj kući" magazine issue. Written by creatorVoja Antonić , in Serbian language.
* [http://user.sezampro.yu/~dejanr/rac1/rac1umet.htm Uputstvo za upotrebu] - complete, original, user manual on-line, in Serbian language.
* [http://retrospec.sgn.net/users/tomcat/Galaksija/MagScans/ Magazine Scans] - scans of original magazine pages containing schematic diagrams, building and other instructions and programs for Galaksija (text in Serbian language)
* [http://user.sezampro.yu/~dejanr/galaks.htm Računar Galaksija] byDejan Ristanović , the author of "Računari u vašoj kući" magazine issue, in Serbian languageEmulators
* [http://solair.eunet.yu/~jovkovic/galaxy/ Galaksija Emulator] - original
DOS -basedemulator by Miodrag Jevremović (in Serbian language)
* [http://www.galaksija.org/ Galaksija Emulator pages] -Microsoft Windows port of originalDOS emulator (in Serbian language)
* [http://www.mess.org/ MESS] - The open source multi-platform multi-system emulatorMESS supports GalaksijaOn-line museums
* [http://www.old-computers.com/museum/computer.asp?st=1&c=330 OLD-COMPUTERS.COM Museum page on Galaksija]
* [http://www.rkovac.com/index.php?id=48 Zgodovina] - an article inSlovenian language Other
* [http://www.modli.co.yu/ Zoran Modli Home page] home page of
Ventilator 202 radio show host (in Serbian language). Same site contains a [http://www.modli.co.yu/radio/ventilator/ventilator.html story of Ventilator 202 show] , (also in Serbian language).References
Wikimedia Foundation. 2010.