Galaksija next to Voja Antonić’s Supercon 2022 badge, at VCF East 2023

Last edited: 27 May 2024.

Introduction

Galaksija is a Z80A based microcomputer designed in 1983 in Belgrade (Yugoslavia, now in Serbia) by Voja Antonić. I’ve been documenting, exhibiting and speaking about the Galaksija ever since I assembled my first one in 2020.

If this is your first time hearing about the Galaksija, I recommend you check out my three posts telling the story of the Galaksija:

This post includes many resources and references if you are building one of your own, or if you’re just interested in learning more about this fascinating machine. Many of these resources are also featured on my Galaksija github repo.

Sections:

Board design and gerber files

Original 1983 layout. Click for higher resolution

The single layer PCB design of the Galaksija was originally published in 1984 Računari u vašoj kući magazine on page 56 (page 8 of the pdf). While most folks ordered their boards from the magazine, a complete board could be made from the copy included in the magazine. While you can still make your Galaksija using this same design (like I did!), there is now a double layer design gerber published by Voja Antonić, Galaksija’s creator. However, there are many other single layer gerbers going around the internet. I will summarize the different versions below

1983 single layer board

Original single layer board designed by Voja Antonić in 1983. This is a direct scan from the magazine
Partially assembled original single board Galaksija
Fully assembled original single board Galaksija

The original board was published in Računari u vašoj kući magazine in January 1984. While most folks ordered these boards from the magazine, the print could be used to manufacture a board yourself. The print was in 1:2 ratio. It was a single layer board with 119 jumpers, and it was compatible with SMK style key switches.

2020 double layer board

2020 double layer board, bottom. Gerber by Voja Antonić
2020 double layer board, top. Gerber by Voja Antonić
My partially assembled 2020 double layer board. Click for a high resolution version.
My fully assembled 2020 double layer board. Click for a high resolution version.

Voja Antonić, Galaksija’s designer, released an updated double layer PCB back in 2020. The 2020 double layer PCB includes all the connections that had to be manually made with jumpers on the original single layer PCB. It also includes updated key switch connectors and drill holes compatible with Cherry MX switches, and a new 5nF ceramic capacitor added between RFSH and GND on Z80A (alternative values like 3nF might work better, see below for common problems). This solves the problem of modified timings on the CMOS version of Z80A. You can download the double-layer PCB from Hackaday.

Single layer board gerber versions

Single layer board, per gerber by demerzel and re-published at specialist-mx.ru
My partially assembled single layer board, manufactured per gerber by demerzel. Click for a high resolution version.
My fully assembled single layer board, manufactured per gerber by demerzel. Click for a high resolution version.

Demerzel gerber

Gerber file of the original single layer board was originally published by demerzel on forum.benchmark.rs who made it by scanning the original board design from Računari u vašoj kući. You can get that gerber here. Note that since this is a single layer board, you will have to solder 119 jumpers, and the connector and drill hole locations are not compatible with modern key switches, so you will have to source older switches (SMK J-M0404 compatible), and possibly drill the key connector holes to widen them (see the key switches section for details). This gerber is a great reproduction of the original board design, as you can see in this comparison below where the gerber is outlined in red and purple, over the scan from the magazine in black:

Demerzel’s gerber was later repackaged (possibly with some minor edits) and made available at spetsialist-mx.ru. That URL is no longer active, but a mirror can be found at http://www.специалист-пк.рф/Galaksija. The gerber is pretty much the same as the demerzel version, including the connectors for old style SMK key switches. You can download it here.

Galaksija tlm 092013 (single layer gerber with MX switches)

Galaksija tlm 092013 single layer board with MX key switches

Demerzel at the forum.benchmark.rs put together a version of the single board gerber with MX compatible keyboard connectors. The top part of the board is the same as the demerzel/spetsialist-mx.ru version, but the bottom (keyboard) has been changed to fit MX key switches. Note: this gerber does not include drill holes for the MX key switch mount holes, so you will either have to add the holes to the gerber or drill them. You can download it here.

Other Galaksija designs

There are other Galaksija compatible designs that have been made by other folks over the years. Here are a few that I’m aware of:

Galaksija boards to order

There are currently (2023) two webshops with Galaksija boards available to order:

Bill of materials (parts list)

I created a spreadsheet with all the parts necessary to build a Galaksija, with links and prices. This spreadsheet includes separate BOMs for the single layer and the 2020 double layer PCB designs.

Note: this file is not actively maintained and you should check availability before ordering.

Instructions

Instructions for building the Galaksija computer were first published in the January 1984 special edition of the Yugoslav popular science magazine Galaksija, titled Računari u vašoj kući (Computers in your home). These instructions are still valid and they are the best resource if you want to build a Galaksija yourself. This translation was published in PoC——GTFO, Volume 2 published by No Starch Press in 2018. This translation is kindly provided by Travis Goodspeed and Aleks Nikolić. 

Schematic

The original instructions in Računari u vašoj kući included the full schematic for building a Galaksija. While you can find this on page 53 (page 5 of the PDF) of the untranslated original guide, the English translation does not include the schematic. I’ve included both the original scan from the magazine, and the modern recreation by “fifan” from spetsialist-mx.ru:

Note: the schematic from Računari has the resistors R9 (62 ohm) and R10 (50 ohm) flipped. I’ve corrected the version attached here to show the correct connections. You can find the unedited schematic with the error in the Računari guide. Big thanks to Walter Miraglia for spotting this!

Roms

There were 3 roms for the original Galaksija

Later on at least two additional roms were released, mainly for use with Galaksija Plus, but still compatible with the original Galaksija: ROM C and ROM D. ROM C is available, but I haven’t been able to find copies of the ROM D. More information about the Galaksija Plus is available in the Galaksija Plus section below.

In terms of flashing the ROMs, 2732 EPROMs are somewhat difficult to burn using cheap EPROM programmers like the TL866II Plus. You may have issues with the programming voltage for the 2732A EPROMs which require 21V when programming (there are some simple mods that will let you use 21V). 2732Bs are easier, since they only use 12V when programming.

Jumper between pins 12 and 18

However, I’ve also ran into some problems with the programming pulse required by the 2732 (50ms) when using TL866II Plus. Because of this, the flashing will only write a few bytes at a time. While I’ve previously been able to get around this by writing a script that flashes the ROM about 1000 times (check my original post about my experience building a Galaksija), there is a much easier way to do it by connecting pins 18 (/CE) and ground (pin 12) while the EPROM is in the TL866II programmer. Once you make this connection, the flash will succeed in a single go.

Your mileage may vary. Like always when using old 2732 and 2716 EPROMs, I recommend getting a few extra ones just in case.

ROM A

ROM B

Character generator ROM

While the character ROM hasn’t changed after release, different computer versions came with different logos. A number of companies were involved in production and distribution of Galaksija parts, but three companies actively participated in Galaksija branding:

  • Elektronika inženjering
  • Mipro (Voja Antonić’s company)
  • Zavod za udžbenike i nastavna sredstva

Elektronika inženjering and Mipro featured their respective logos at the Galaksija READY prompt. I haven’t been able to confirm what determined which character ROMs got which logo. Per Dejan Ristanović, all the EPROMs sent to Računari u vašoj kući offices to be programmed by Voja Antonić were programmed with the Mipro logo, while the factory made Galaksijas shipped with the Elektronika inženjering logo. Most character ROMs available online feature the recognizable Elektronika inženjering logo, but I generated one with Mipro’s logo as well for historical reasons. The first to document this online was Tomaž Šolc who also published the comparison below:

Galaksija character set showing the different logos (assembled from two parts). Courtesy of Tomaž Šolc
Mipro

Mipro logo

EI

Elektronika inženjering logo

Read this article for more information on generating your own logo and creating new characters for the Galaksija.

ROM C

ROM D

Video output

Galaksija was designed with both composite and RF video output. While you can place an RF modulator on your Galaksija and use it with an old TV, you will likely only use composite output. Note that Galaksija uses PAL timings since it was designed for use in Europe! If you don’t have a PAL TV or monitor, you can use a composite to HDMI converter, but note that many cheap ones you can get on Amazon produce an unstable PAL image. This is due to the use of a 6.114Mhz oscillator which produced an image slightly out of line with the PAL standard. I’ve had a great experience with a Retrotink 2X-MINI (pictured above). If you have an NTSC monitor with composite input, you can also use a PAL to NTSC converter, or you can try using it without an adapter, since Galaksija outputs a black and white image.

Power supply

Power supply schematic from Računari u vašoj kući

Galaksija uses a 5V power supply, with optional 12V needed for an RF modulator if you decide to include one. The original design and instructions included a schematic for building your own PSU with both 5V and 12V, assuming 220V input (since Galaksija was designed for use in Europe). The power supply design and instructions are included in the translated Galaksija instructions.

Since we have cheap and reliable 5V power adapters now, there is probably no need to build this yourself. I’ve used off the shelf 5V 2A power adapters like this one.

Software and emulation

Super Šah tape for the Galaksija

Galaksija used cassette tape to store programs. To learn more about how the Galaksija uses tapes, read this post by Tomaž Šolc.

The best online resource for Galaksija programs and games is retrospec.sgn.net. Most programs are available as gtp files which you can load into emulators, or convert to wav for loading on a real Galaksija.

Gtp files are supported in MAME. To convert WAV files saved from a Galaksija to gtp files for storage, see my dump2gtp tool on GitHub.

Miodrag Milanović’s galtape utility is the best tool to convert WAV files to gtp files.

Loading tape programs on the Galaksija

To convert to wav files for use with a real Galaksija, use gtp2wav available as part of Tomaž Šolc’s Galaksija development tools. Once you have converted programs to WAV, you’ll need to connect your computer or another audio playing device to the Galaksija via audio cable. On the 2020 double layer board, the 3.5mm jack is connected to the right channel for loading (labelled KU) and the left channel for saving (labelled KI) to tape. Check the common problems section for help getting the tape interface working.

When you’re ready to load your program, type OLD

Galaksija will turn off the screen while the tape is loading and you won’t have any feedback until it has been loaded. In case of verification problems, you will get the WHAT? error message. If the tape loads correctly you will get the READY prompt. If the tape doesn’t load at all, Galaksija will stay on the empty screen until it is reset.

Tape commands:

OLD – loads program from tape

OLD? – verifies the program from tape against the program in memory, useful for verifying successful save to tape

SAVE – saves program from memory to tape

Emulators

More information about Galaksija software is available in my Building a Galaksija Part III blog post.

Memory map

  • $0000…$0FFF — ROM A – 4 KB contains bootstrap, core control and Galaksija BASIC interpreter code
  • $1000…$1FFF — ROM B – 4 KB (optional) – additional Galaksija BASIC commands, assembler, machine code monitor, etc.
  • $2000…$27FF — keyboard and latch
  • $2800…$2FFF — RAM C: 2 KB ($2800…$2BFF – Video RAM)
  • $3000…$37FF — RAM D: 2 KB
  • $3800…$3FFF — RAM E: 2 KB
  • $4000…$FFFF — unused, for extensions

Case

case photo
The top of my Galaksija case
The plexiglass bottom of my Galaksija case

The original Galaksija instructions in Računari u vašoj kući suggests using plain PCB material (fiberglass) to make the case. I designed a case in SketchUp that follows this design closely, but which is ready to be 3D printed.

  • the design assumes a plexiglass base with standoff screws (4)
  • 2 LED holes
  • 2 reset button holes (1 NMI, 1 full reset)
  • 1 power jack
  • 1 power switch
  • 1 3.5mm jack

I strongly suggest you measure your Galaksija, especially the keyboard, and make adjustments for I/O ports. Overall dimensions should be compatible with all original PCB designs.

Key switches

Single layer Galaksija with SMK style switches

Original single layer PCB

More information about key switches for the single layer Galaksija is available in my post about IEVT TY switches.

Back in 1984, key switches were among the parts that the Računari u vašoj kući magazine offered to folks as part of their kit (along with the PCB, keycaps and the keyboard plate). The key switches were manufactured by Inštitut za elektroniko in vakuumsko tehniko (IEVT) and the type used was  IEVT TY (the same type was used in the Yugoslav Orao computer). This key switch is a version of the SMK J-M0404 which was used in some Apple //es and other popular microcomputers in the 80s. Slovenian company Tipro took over production of these switches after 1985. Tipro was privatized in 1991 when many publicly owned companies in the former Yugoslav states were privatized. Tipro’s TY switches are documented on Deskthority as Tipro SMK Style.

IEVT TY switch on a single board Galaksija (10% angle switch from the Orao)
Back of the IEVT TY switch

IEVT TY switches are extremely rare, and even SMK J-M0404 and other compatible SMK switches are difficult to find. One option is finding another computer or keyboard with SMK switches, or you can alternatively search eBay for folks selling SMM J-M0404 replacements for Apple //es, but they tend to be rather expensive per switch. Alternatively, you can also get modern SMK style replacements like these ones. You will need 54 key switches. It’s also recommended to use a keyboard plate with SMK switches, like in the original design – check the keyboard plate section below for making your own.

Replacement SMK switches on a single layer Galaksija – note the widened connector holes

Important note: if you are using a single layer board based on the demerzel/spetsialist-mx.ru gerber, you will likely have to drill the key switch connector holes to widen them enough to fit the SMK J-M0404 connectors. Also note that the connectors should be mounted on the bottom of the keyswitch (not in the middle, as indicated by the outline).

2020 two layer PCB

2020 double layer Galaksija with Gateron switches, courtesy of RCC Productions

The 2020 double layer PCB is Cherry MX compatible with PCB mountable key switches, so a wide variety of switches and caps are available. In my BOM, I recommend Cherry MX Blue Switches PCB Mount and ABS ADA Keycap Set – Film Never Dies caps. You will need 53 key switches (1 less than the single board design because the double layer board uses a single switch for the enter key).

Keyboard plate

Galaksija keyboard plate Sketchup model

Since the SMK key switch type is plate mounted, it requires a plate which was provided as part of the kit, but plate design was also published in Računari u vašoj kući. I designed and manufactured a 3D print of the keyboard plate, which you can download from my GitHub as both a Sketchup or STL file for printing.

Plate dimensions from Issue 1 of Računari u vašoj kući
Closeup of the keyboard plate mounted on a single board Galaksija

Expansions

Memory expansion, with empty IC3 slot for SN74159

There were at least a dozen expansions for the Galaksija back in the 80s, mostly homebrew, and many of which were developed by Voja Antonić himself. In 1985 the Galaksija Plus project implemented many of those expansions (like the upgraded memory, sound, improved graphics etc.) into a new board design. Below are a few expansion projects that we have designs for:

New expansions

There have been a few modern projects for the Galaksija.

  • Galaksija Keyboard Interface – Marko Šolajić’s project, useful for the Galaksija Plus clone and other designs that don’t include a keyboard
  • The Galaxino – program loader interface for the Galaksija that can play software recorded in GTP and WAV format. Designed by Michele Perniola from Apulia Retrocomputing

Common problems

CMOS Z80 signal timings issue #1
CMOS Z80 signal timings issue #2
5nf capacitor between RFSH and GND on the Z80A that needs to be adjusted in case of timing issues
  • CMOS Z80A signal timings: If you are building a 2020 double layer PCB using a CMOS Z80A you will need to add a capacitor between RFSH and GND pins on the Z80A. There is a spot for a 5nF capacitor right next to the Z80A. If you experience issues with the image having problems with the first row of letters (issue #1 above), or the image being moved around the screen (issue #2 above), try different values for this capacitor, like 3.3nF or even as low as 470pf (0.47nF) until you get a good image. Look here for one example of this issue, and here for another. Read this article for a more thorough background on this issue and an alternative way of dealing with it by building a small circuit
Example of the image overscan issue. The image is moved slightly to the left
  • Image overscan: Depending on your screen, you may have overscan issues where a part of your video output is not showing up on your screen. This is a distinct issue to the Z80A timings adjustment outlined above. To move the image in software, issue: BYTE &2BA8,12 where 12 is the default screen position. Change to 11 to move the image to the left, or 13 moves it to the right. Once you find what works well, you can make that adjustment permanently in ROM B. For a permanent fix, you’ll need to change the value of address 1024 in ROM B to correspond to the number that works well for you (11, 12, 13 etc…). In the original ROM B it is set to “0C” in hex, decimal 12. If BYTE &2BA8,13 worked better for you, then it should be 0D (hex for 13) etc. On my github I have a few versions of ROM B with different values for &2BA8
Example of a problem I experienced due to bad pin connections in RAM sockets
  • Memory issues: Sometimes memory issues will show up as problems in video generation. If you’re using cheap sockets with the RAM chips you may experience issues. I recommend using higher quality sockets, at least for the RAM. You can read about my experience with this issue here
3 jumpers for tape input/output on the 2020 double layer PCB
  • Issues loading from tape: When building a 2020 double layer PCB version, make sure you solder 3 jumpers for the 3.5mm jack (in between the RCA jack and the 3.5mm jack). If you’re having trouble loading even after you add them, try replacing R14 with 1kohm resistor, and C2 with 1uF capacitor (105 ceramic) – both should be changed at the same time! This is likely caused by using modern transistors which are faster, so changing the resistor + capacitor prolongs the impulse from the tape. Alternatively, you can also try taking out the R14 resistor and leaving the 0.1uF capacitor in place, but this works not as well as replacing both the capacitor and the resistor
List of common issues in Računari u vašoj kući Issue 2

Galaksija builds

Here a few examples where folks have documented their process of building their Galaksija.

Galaksija Plus

Galaksija Plus in November 1985 issue of Svet kompjutera
Galaksija Plus in October 1985 issue of
Svet kompjutera

There are many references to the Galaksija Plus and its clones online and in this FAQ document, but the history of the Galaksija Plus is not well documented. “Galaksija Plus” refers to both hardware improvement projects (as outlined above in the Expansions section), as well as a commercial model that was offered for sale.

Galaksija Plus was an improved Galaksija design by Nenad Dunjić, Milan Tadić and Nenad Balint in 1985, it included popular expansion projects like the expanded memory, sound support and improved graphics. Galaksija Plus was described in issue 8 of Računari u vašoj kući magazine (October 1985), October 1985 issue of Svet kompjutera and November 1985 issue of Svet kompjutera.

Starting in January 1986, Svet kompjutera published a series of 4 articles outlining how to upgrade your original Galaksija to the Galaksija Plus model.

There are multiple Galaksija Plus clones (as outlined above) and emulators like MAME support it as well (use this zip file).

Additional resources