← @mejs Twitter archive

Vlado Vince

@mejs

Starting a new thread where I will document my (hopefully successful!) attempt at building a #Galaksija, Yugoslavia's DIY computer designed by Voja Antonić in 1983. I will document technical challenges, but also my attempt at engaging with my personal and collective history.

9/28/2020, 1:33:30 PM

Favs: 148

Retweets: 34

Vlado Vince

@mejs

Before we start, some rules I've established for myself. I will attempt to build this computer using the same parts folks used back in the 80s. I will primarily use the original DIY guide published in 1983 "Računari u vašoj kući" magazine.

9/28/2020, 1:33:32 PM

Favs: 6

Retweets: 0

Vlado Vince

@mejs

There are many projects and clones of Galaksija using newer parts, some of which follow the same design while providing contemporary functionality like SD card support. These are all amazing, and I've used them in my research. But for my first try, I want to build the original.

9/28/2020, 1:33:33 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

I will not attempt to build the power supply myself. The original guide included instruction on making one, but for my first try I will use a 5V, 2A off the shelf adapter.

9/28/2020, 1:33:34 PM

Favs: 9

Retweets: 0

Vlado Vince

@mejs

There is also a crowdfunding effort underway to fund an upcoming Galaksija documentary, which includes an option to order a Galaksija kit! While I may end up getting one of those, I want to do one myself first. https://twitter.com/mejs/status/1306935154649305092

9/28/2020, 1:33:34 PM

Favs: 10

Retweets: 1

Vlado Vince

@mejs

So this is my approach. Follow this thread and #galaksija tag for updates. This will be a combination of tech speak with reflections on history, my own as well as that of my former country where this machine was originally built. Hopefully we get to build a computer!

9/28/2020, 1:33:35 PM

Favs: 9

Retweets: 0

Vlado Vince

@mejs

So let's talk parts. This photo includes most of the parts necessary to assemble a Galaksija, sans the keyboard switches and caps! We've got the PCB, Z80 CPU, EPROMs, 7400-series logic chips, a bunch of resistors and capacitors, and that's pretty much all you need!

9/28/2020, 6:31:18 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Two things to note: the 2732 and 2716 EPROMs are becoming more difficult to find, and they're the only things I had to get on eBay, used. We'll see how well they're holding up. Secondly, I'm also getting an EPROM programmer to load the ROMs.

9/28/2020, 6:37:57 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Folks in the 80s didn't have this cost because they would send their EPROMs to Računari u vašoj kući who would program them. The good folks currently running the Galaksija crowdfunding effort will also program the ROMs for supporters who order kits. https://www.crowdsupply.com/rcc-productions/galaksija

9/28/2020, 6:39:48 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Thirdly (ha), I also ordered the PCBs (more on the files and where I got them later) from @JLCPCB. Their minimum order is 5 PCBs, so I've got 4 extras. This increased the price, but if you decide to build a #Galaksija, DM me and you can have one PCB for free (just pay shipping)

9/28/2020, 6:43:15 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

I'm starting by soldering 119 (!) jumper wires. I'm re-using an ethernet cable to make jumper wires, stripping down the 4 pairs. In 1983. Voja Antonić suggested using phone wire -- so I'm doing the same thing basically, except with 4 times more wire :)

9/28/2020, 10:43:19 PM

Favs: 7

Retweets: 0

Vlado Vince

@mejs

I only got 26 out of 119 jumpers tonight 😩 but I'm slowly getting better and faster :)

9/29/2020, 1:02:09 AM

Favs: 7

Retweets: 0

Vlado Vince

@mejs

Keyboard switches and caps are here! #galaksija

9/29/2020, 12:43:27 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

Phew, after many hours of work, all 119 jumpers are soldered and tested! This was much more difficult than I imagined. I ended up drawing the different jumper lengths (in mm) on a paper, but cutting and stripping category pairs was not fun. Tomorrow I start soldering resistors!

9/30/2020, 1:33:34 AM

Favs: 8

Retweets: 0

Vlado Vince

@mejs

Resistors are in! After soldering 119 jumpers these were a breeze #galaksija

9/30/2020, 12:11:15 PM

Favs: 9

Retweets: 0

Vlado Vince

@mejs

This is why you should consult the schematic and pay more attention when ordering. I got electrolytic capacitors which are polarized, instead of unpolarized ceramic ones. While *I think* it should be possible to use them, I will use the luxury of Mouser and get another order in.

9/30/2020, 7:42:37 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

Well, I got all the other capacitors in, and I'm kind of blocked until Mouser delivers new ones + remaining IC sockets. I'm thinking of tackling the key switches in the meantime...

9/30/2020, 9:35:51 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

So here's the problem. I got these Gateron switches, but their connectors are slightly different from what's on the PCB, so they don't fit nicely. I'm experimenting with soldering some extra copper wire to get around this, but I'm not sure if it's wise.

9/30/2020, 9:39:22 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

The top row with number keys is soldered! Because the switches are incompatible with the PCB, I'm soldering some wire from CAT cables to make the connection. It seems to work ok.

10/1/2020, 12:42:42 AM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

The original DIY guide in Računari included instructions for making a keyboard frame to hold the keys in place solidly. I didn't plan on making one and I will try to get by without it. While I'm excited to use the Galaksija once it's complete, I don't expect to do crazy typing.

10/1/2020, 12:46:52 AM

Favs: 8

Retweets: 0

Vlado Vince

@mejs

Mouser order is in! Remaining ceramic capacitors, the 2 transistors and IC sockets installed! Most logic chips installed too -- waiting on adding the CPU, RAM, EPROMs and 4017 and 4040 logic chips per the instructions in Računari.

10/2/2020, 10:33:57 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

I also got the EPROM programmer! 2716 EPROM chip is programmed (the one used for storing characters), but I'm having issues with 2732 chips. Turns out they are programmed at 21V, and this $50 programmer tops out at 18V 😩 I have a plan how to get around this, but let's talk ROMs

10/2/2020, 10:37:40 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

So, Galaksija uses EPROMs for system (OS) storage. EPROMs are Erasable-Programmable ROMs. You need a special EPROM programmer to "burn in" your code, and you can erase them by exposing their little window to UV light. Once you program them, you cover the window. Very cool stuff!

10/3/2020, 3:28:56 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

Voja Antonić wrote 3 ROMs for #Galaksija: ROM A, featuring the BASIC interpreter, graphics and other essential functions, ROM B with advanced math functions, and CHAR ROM with characters, since the computer had to know how to draw them on the screen!

10/3/2020, 3:31:48 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Why 3 ROMs? Well, ROM A and ROM B were stored on 2372 EPROMs, featuring full 4KB of memory, while the character ROM was on a 2716 EPROM with 2KB. Galaksija was truly an example of doing the most with very little!

10/3/2020, 3:34:12 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

One of the crazy footnotes about this story: Voja's computer didn't have enough RAM to type out the whole ROM with comments, so he printed them out separately, glued the comments to the side, and then used a copy machine to combine them 🤯

10/3/2020, 3:37:49 PM

Favs: 3

Retweets: 1

Vlado Vince

@mejs

ROM B was planned all along, so the schematic included space where it should be installed. Once it was released, you had to run a command to run it after bootup: A=USR(&1000). You could also update your ROM A (if you had an EPROM programmer or sent it in) to do it automatically.

10/3/2020, 3:40:41 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Tomaž also spoke about Galaksija at 2012 Chaos Communication Congress. This is the best English video resource about Galaksija I've found so far, the story but also the tech. https://www.youtube.com/watch?v=K2chYqir53U

10/3/2020, 3:48:54 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Tomaž made great Galaksija clones, and even wrote new ROMs. His website is a treasure trove of documentation, including a complete disassembly of the ROM, with comments in English. This is so detailed it goes beyond what was originally published! https://www.tablix.org/~avian/galaksija/rom/rom1.html

10/3/2020, 3:51:43 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

I got my copies of ROM A and ROM B from MCbx Old Computer Collection. They have one of the rare build logs in English, but also a well documented ROM collection including ROM A that load ROM B automatically. https://oldcomputer.info/8bit/galaksija/buildlog.htm

10/3/2020, 3:53:12 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I got the CHAR ROM from Spetsialist-MX, also known as the "Russian website about Galaksija". It's one of the most user friendly resources, and includes English translation too http://www.spetsialist-mx.ru/Galaksija/

10/3/2020, 3:55:08 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So, once you get your files, your EPROMs and your (hopefully compatible :)) EPROM programmer, you're ready to burn in your ROMs. TL866Ⅱ Plus Programmer I got comes with pretty good software, that apparently runs the best on Windows XP, so I ran it inside a VM 😇

10/3/2020, 4:01:39 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

You also need to know your EPROMs Vpp voltage. In order to program your EPROM, this is the programming voltage and your programmer needs to output it to a specific pin. You find this value by checking your EPROMs spec sheet, which is what I failed to do for 2732...

10/3/2020, 4:07:12 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

there's also a great open source program called minipro which supports my EPROM programmer. Unfortunately, it can't really help if your EPROM programmer has limited voltage. https://gitlab.com/DavidGriffith/minipro/

10/3/2020, 4:09:12 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So here's what I tried to do. Since Vpp voltage doesn't have to be sent by the programmer itself, I concocted an adapter using an IC socket, leaving wires available to connect 21V and ground from another source. I hooked it up to an old Thinkpad power adapter, measuring 20.8V...

10/3/2020, 4:17:03 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

It was actually able to write, but not the whole 4K. And subsequent attempts haven't been successful at burning in the whole ROM. My guess is the voltage is not precise enough, so the EPROMs was only partially programmed.

10/3/2020, 4:20:41 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I am now waiting for an adjustable power adapter so I can blast 21V from it. It might not work, but at $20 it was cheaper than getting a 21V EPROM programmer (the cheapest I can find is currently $100).

10/3/2020, 4:20:41 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So at the moment I'm still blocked from burning the ROMs, so I continued with the rest of the project. The ceramic capacitors came in, as did the missing IC sockets. I also completed the keyboard! Note how some keycaps are different. Unfortunately some of the keys are rare now.

10/3/2020, 4:23:12 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

I then installed power, I/O (3.5mm jack for cassette input :)), composite video output and the reset button. Interestingly, in the 80s it was advised to install 5 port DIN connector for all three.

10/3/2020, 4:32:13 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Most folks would also build a TV connector requiring an RF modulator. No need for that now. The RF modulator required 12V, so the instructions included schematics for building your own power supply, with 5V, 12V and ground coming in through the DIN connector.

10/3/2020, 4:32:14 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

At this point I was trying get as much done before I can program the EPROMs, and I realized I couldn't find an LED that was required for power indication. Luckily, I had an old cheap keyboard controller and scavenged one green LED :)

10/3/2020, 4:34:50 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

So with most of the work done, I decided to put the rest of the ICs in. And then I realized why my IC sockets were wrong width in the first place: the RAM I got is half the width!! 😩

10/3/2020, 4:41:58 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

This was incredibly annoying, but I decided not to give up and end up waiting for another Mouser order. I soldered together a socket adapter, just one for now as a proof of concept. It seems to work, at least from what I can test with a multimeter.

10/3/2020, 4:44:07 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I couldn't resist and I plugged it in. No output to the screen of course, since ROM A is messed up and it's needed for graphics output. But the LED is on and it looks wonderful! :)

10/3/2020, 4:45:25 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

Btw, I don't have a screen with composite video input, so I got a little RCA to HDMI adapter for $14. It *says* it does both PAL and NTSC, so we'll see. Galaksija is of course designed to output to PAL, but I'm in America, so even if I find an old TV it will use NTSC.

10/3/2020, 4:48:07 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

EPROM programming is going.... Not well. Got the eraser, so that's helpful, and got the adjustable power adapter, and that's helpful too. However, I'm still unable to burn 2732.

10/4/2020, 3:47:10 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

Here's what's happening. I'm 99% sure I've got the right voltage (21V). I'm sure it's stable enough (I even put an 0.1uf capacitor in front to stabilize), I've been experimenting with pulse. The shortest one that works is 2000us, but I went up to 50000us (50ms), and it's the same

10/4/2020, 3:56:58 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Basically, every other address is burned, but consistently it's just the first (0) HEX value. Or rather, it was until I tried to burn ROM 2, and now there are a few 1 HEX values that got burned in. I'm sure there's a logical explanation, but I'm very inexperienced

10/4/2020, 3:58:25 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

This is very much like what I'm experiencing, except I'm only able to write half a byte for every 16 bytes

10/4/2020, 4:22:49 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So here's a theory. I'm using minipro, the open source program I'm running on Linux to burn the EPROM. I'm using it because it can run a burn without verifying. I'm running it without verifying, because it looks like I can't read the EPROM while I'm sending 21V to vpp.

10/4/2020, 6:27:00 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I know I can't read it, because when I use the manufacturer's program to read, while 21V is engaged, it reads nothing. When I take it out, it reads it fine. But my theory is that there is something off with minipro, based on that gitlab issue

10/4/2020, 6:28:28 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I also know that I can write to other locations with the manufacturer's Windows program -- I just wrote a custom value 27 to the second half of the first byte, something that minipro continuously fails. However, the program wants to do verification, so it fails after first 8 bits

10/4/2020, 6:54:13 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I just performed the test, and if I edit the ROM file to include only the first byte out of every 32, I could burn it in... 32 tries.

10/4/2020, 6:55:33 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

This may not be the best way to do this, but I'll try it anyway. I hexdumped the rom and am now editing it as a spreadsheet 🤓

10/4/2020, 7:11:57 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

OMG, this is finally working. 2 done, 30 left to go!

10/4/2020, 7:43:56 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

This works, but it's tedious work. My workflow is: I have 32 spreadsheets, each one with 31 empty bytes, and every 32nd byte on. Then I do a copy into a text file, use xxd to turn it into a bin file, then burn it with minipro and then read w/ xgpro to check 😩 TEDIOUS!

10/4/2020, 8:42:35 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

I measured my time, and it takes me 1:49 seconds to do one series of bytes. I have 19 remaining, so I should theoretically be able to do this in 34 minutes. I'll give myself until 10pm instead :)

10/4/2020, 8:55:35 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

And with 12 minutes to spare, I created 32 small bins of ROM A and burned them successfully! 2732 passes verification!!

10/4/2020, 9:51:05 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

With ROM A installed, I finally go for it aaaand: NO SIGNAL. Honestly I didn't expect to get a picture on the first try. The way this computer generates video signal is extremely sensitive and 100% software based, so the real work begins now.

10/4/2020, 11:41:23 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Also, I haven't come across any build logs where folks used RCA converters, which I presume expect a very clean signal 😇 The two EPROMs are running pretty warm to the touch, but the Z80 CPU is cold as ice. Pretty suspicious. But this is a task for next week.

10/4/2020, 11:41:24 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Well folks, I don't know how I messed this up so bad, but I most definitely didn't get the right CPU 🤣🤓😩

10/4/2020, 11:48:22 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

I'm struggling to figure out how I failed at the most important part. Well, in any case, I have an 1983 new old stock Z80 ordered, and it was made in Italy by Societa Generale Semiconduttore (later merged into STMicroelectronics). These would have been used in YU!

10/5/2020, 12:26:18 AM

Favs: 6

Retweets: 0

Vlado Vince

@mejs

While I'm waiting on my Italian Z80, I'm getting ready to use my #Galaksija by reading the quick start guide that came out in the same issue of Računari u vašoj kući as the DIY guide! It came out ready to cut out and bind, so I printed mine from the scan and stapled it 🙃

10/7/2020, 9:18:26 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

There's more to this than just teaching BASIC - the ASCII art on the cover is a joke about filling up gas with coupons -- a commentary on the daily issues in 1980s Yugoslavia, a time of economic crisis and rapid inflation.

10/7/2020, 9:22:49 PM

Favs: 3

Retweets: 1

Vlado Vince

@mejs

Today is a good day

10/8/2020, 11:08:17 AM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

I know I left the crowds hanging with this last tweet... 🤣 So, the Italian Z80 arrived and it's pretty cool looking 1983 chip. Aaaand of course, I'm still not getting an image. But before we talk about that, my new 2732B EPROMs arrived, with 12.5V programming voltage!

10/9/2020, 7:03:41 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

So, if you recall, I got a cheapo EPROM programmer that tops out at 18V, and then had to program 2732 EPROMs that require 21V. I put together an external power supply, jumped the programming PIN, and then split ROM A into 32 parts... And successfuly burned it.

10/9/2020, 7:04:57 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

So, for a few bucks more, I figured I would get two 2732Bs, that only need 12V. They get in aaaand... the software fails to burn them. At this point I am 100% sure the burn profile the software comes with is faulty for 2732s.

10/9/2020, 7:05:59 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Whatever I try, the programmer burns HALF a byte and then quits. I manage to destroy one 2732B (ha, it got burnt lol), and then I try my last attempt: use the linux program (which I used for the 21V too) and JUST KEEP BURNING

10/9/2020, 7:07:28 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I realized that every attempt burns ~ 5 bytes. So I get a shell script going that repeats the burn. And repeats it. And repeats it. Approximately 800 times. And it worked! I now have ROM A, ROM B and character ROM all ready to go.

10/9/2020, 7:08:53 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So I pop it all in, connect RCA to my RCA/HDMI adapter, plug in power aaand.. again, nothing. I even test the adapter by plugging in an old Wii -- the adapter is fine. At this point, this needs more attention. I take out the big guns -- the schematic!

10/9/2020, 7:15:42 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

About the schematics -- I'm using the original one published in January 1984 Računari, and I'm trying to rely on primary sources as much as I can. However, it's not the most readable thing, so I've been also referencing Fifan's schematic published at http://www.spetsialist-mx.ru/Galaksija/schemes/Galaksija.pdf

10/9/2020, 7:15:43 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Another reference I'm using is the "frequent problems" article published in Računari 2, published in July 1984. Scan is available at http://pc.sux.org/indexRA.html

10/9/2020, 7:17:41 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

But you can only do so much by reading schematics -- you need a way to actually verify what's going on. I've been relying on my multi meter, but at this point I needed more insight into what's happening. So, another small purchase later, I'm testing with a logic probe 🤓

10/9/2020, 7:20:51 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

A logic probe is a hand-held test probe used for analyzing logical states (0 or 1) of a digital circuit. It can also show you if the state is solid or changing. The original guide included instructions on how to make one. I cheated so I bought mine for $20.

10/9/2020, 7:26:09 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

And what do I find out? Following the wave generated by one of the transistors through logic ICs, I got to CD4017. The "wave" signal comes in... But it doesn't come out, instead, the exit pin is solid. Strange, right?

10/9/2020, 7:28:16 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

After checking the connections many times, looking at nearby resistors and the whole path of the signal, I decide to take it out and take a closer look. Looking at the model, I see: CD40175BEE4. Close enough right? Well, no, not exactly...

10/9/2020, 7:29:38 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

CD4017 is a decade counter. It literally counts from 1 to 10. And CD40175BEE4, despite the similar name, is a flip flop, an IC with two stable states that can store state information. For some reason, there's a model with essentially the same name, that does a different thing!

10/9/2020, 7:32:33 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Just like the CPU, this is absolutely my fault. This is the first time I'm working with ICs, and all these concepts are new to me. I'm actually really enjoying learning about it, but when I was making the inventory list, I just couldn't tell the difference. Alas.

10/9/2020, 7:33:25 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

So, I'll be delayed a bit more. That's ok. I am now checking all the ICs to see if I made any more mistakes, before I place another order.

10/9/2020, 7:34:22 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

The rest seems to check out. I'm just so annoyed that I have to place an order for a tiny thing that literally costs $0.52. I wish Radio Shack was still around...

10/9/2020, 7:44:59 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

I'm shifting gears a bit while I wait, yet again, for a crucial part to be delivered (CD4017). Teaching myself Galaksija's BASIC with the getting started guide. The example I'm on is a program that calculates speed of flight between Belgrade and Dubrovnik/Zagreb 🥰

10/10/2020, 9:37:40 AM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

Playing with BASIC in an emulator. Flight between Belgrade and Dubrovnik is .4625 hours!

10/10/2020, 10:36:43 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Well, that's not very useful. Let's turn it into minutes! It's approximately 30 minutes.

10/10/2020, 10:54:13 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Is this time true though 😁? Currently an A320 will take 55 minutes, but Galaksija's Caravelle flies a straight line at 800 km/h from gate to gate, so we should give it some slack :)

10/10/2020, 11:00:01 AM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Finally got the correct width 6116 RAM! (to the right of ROM B). My improvised adapter worked, but this is much better. #galaksija

10/10/2020, 5:28:23 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Now for the real fun stuff 🤓 I'm trying out this small oscilloscope. I was looking into a smaller desk one, and even a USB based one that outputs to software on your computer, but I'm really into this form factor (for a beginner like me). BK apartments are small!

10/10/2020, 5:43:07 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

This is a great example to understand what the (still missing) CD4017 Decade counter does: it divides the 500Hz signal by 10, to 50Hz which is the frequency of PAL television (used in Europe and elsewhere, as opposed to NTSC and 60Hz used in North America and a few other places)

10/10/2020, 6:09:45 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

The fascinating thing about TV standards: the frequency is due to the difference of AC electric systems! So in the US, they use 110V and 60Hz, while Europe is at 220V and 50Hz. While our screens no longer generate image in a way that depends on AC frequency, issues remain.

10/10/2020, 6:12:01 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

This is a great article that explains it. If you're recording in a space that's lit up with lights connected to 60Hz (basically anywhere in North America), and you're recording with a video camera set to 50Hz (1/50 shutter speed), you'll get a flicker http://urbanvideo.ca/avoid-video-flicker

10/10/2020, 6:14:27 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

I'm hoping to continue #galaksija project tomorrow evening with the CD4017 decade counter. In the meantime, I installed an SPDT switch to control power (pretty useful while testing!)

10/12/2020, 9:33:49 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

Switches are cool! I love this @TechConnectify video on why they're so clicky https://youtu.be/jrMiqEkSk48

10/12/2020, 9:37:14 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

CD4017 installed. Here we go!

10/13/2020, 8:10:29 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I'd call this a success! I'm getting image synchronization, and the HDMI converter correctly sets itself to PAL.

10/13/2020, 8:12:00 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Still no luck getting more than a white image. Noticed some artifcating occurring if I touch or move my hand close to one of the capacitors in the character generator circuit.

10/13/2020, 10:36:45 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Definitely some weirdness coming out of the character generator clock. On the left is my signal, on the right what it should look like 😅

10/13/2020, 11:15:44 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

EPILEPSY WARNING! Is this progress? Maybe. I replaced a resistor and now there's at least some stuff happening 😂

10/13/2020, 11:57:14 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

(CW: suicide joke) I got the idea from an article in Računari 3 (December 1984) titled "I'll kill myself, it won't work!). It features a few tips like replacing this resistor, but it also tells the story of Bane Ostojić who fixes Galaksijas at amateur radio club Avala!

10/14/2020, 12:00:52 AM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Per the article, visitors looking for help are mostly from Belgrade, but people have come from as far as Slovenia and Macedonia to get their Galaksijas fixed!

10/14/2020, 12:03:54 AM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

The same issue also features a survey, asking the readers if they've completed their builds and looking for feedback and suggestions!

10/14/2020, 12:05:59 AM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

I'm still working on getting an image beyond a white screen. I've restored the capacitor that caused the horrible artifacting, and I'm pretty sure the white screen is proof that I have image sync. I just don't have anything drawn on it -- not even the black background!

10/14/2020, 7:51:28 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

This conundrum takes me back to how analog TVs work -- a fascinating topic that I feel sort of uneasy with, since I really only used them as a kid. Luckily, there's another great @TechConnectify video on this topic! https://www.youtube.com/watch?v=l4UgZBs7ZGo

10/14/2020, 8:22:07 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

So basically, with CD4017 installed, I've successfully restored the composite video generation circuit, and the white image is a functioning raster -- but since it's converted into a digital image through the HDMI converter, it's completely white

10/14/2020, 8:24:01 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

However, in order to draw an image, Galaksija combines this signal with the signal from the character generator circuit. I'll try to explain it in simple terms (both to keep it twitter friendly, but also since I don't understand it completely just yet either)

10/14/2020, 8:25:10 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Now we need graphics. Galaksija doesn't have a dedicated graphics chip. Instead, it uses the Z80 cpu. This wasn't completely unique (I think the ZX Spectrum does the same thing?), but the way it's done really pushes timing limits, which causes complications.

10/14/2020, 8:30:49 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

We have three important chips. Z80 CPU, 2716 character ROM and 74LS166 shift register. 74LS166 and Z80 have to be synchronized with each other, and the composite video circuit, in order to successfully draw an image.

10/14/2020, 8:46:21 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

The composite video circuit tells the Z80 to start working on image generation. The CPU grabs the character shape (for example, letter Š) from the 2716 ROM, which is then passed to 74LS166 shift register. But this needs to be synchronized with the load scan line.

10/14/2020, 8:50:03 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

The load scan line needs to be in sync with the character generation and composite video output (I'm obviously struggling with how this works exactly). Essentially -- the CPU needs to draw the character at the same time as the image is being sent to video output.

10/14/2020, 8:52:19 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

So here we get to my current conundrum. This is what my load scan line looks like. The low lines are signals when the line is 0 - the moments when the CPU is working on graphics. The time here is 200ms, and by my math the 0 lasts 16 ms.

10/14/2020, 8:54:26 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So essentially, the CPU needs to "draw" 8 bits of image at the same time that the video clock sends light to the TV. 16 ms is very short, and may miss the clock. At least that's what I suspect.

10/14/2020, 9:02:59 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Since it doesn't send this at the right time, there is 0V coming to the video out, drawing white. For an image to be drawn, we need black (5V). With no sync, we get white. With CPU in sync, it would draw the shape around Š with black pixels (5V) and the letter would be white (0V)

10/14/2020, 9:03:00 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

And this brings me to my current theory. When I got the CPU, I actually ordered the same model @avian2 found in a historic Galaksija a few years ago. What I failed to notice, is that this particular Galaksija came with a hack, apparently related to this particular CPU.

10/14/2020, 9:04:45 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Now, I don't *know* if this is the cause of my issue, but that oscilloscope reading sure suggests that my shift/load is *very* short, meaning the CPU leaves very little time to grab characters and send them to video out.

10/14/2020, 9:07:35 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I will try to build a little circuit like this, it's simple enough. But I'm afraid that may be a temporary workaround. I would prefer to have a CPU that's in sync. But this is the issue that many folks (and especially Tomaž!) noted -- this computer needs very particular hardware

10/14/2020, 9:09:47 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I have a new lead. Why is the CPU WAIT line not moving? This is the input that tells the Z80 to put rest of the processes on hold and draw 8 bits of image. This should be moving between 1 and 0. It's stuck at 1.

10/14/2020, 11:55:07 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

So the WAIT line is my new target, and I've tracked it down to IORQ line not moving, BUT I just built the little backup circuit from Tomaž's article and... Well I don't think it's working exactly, but amazingly I did get something on the screen (two rows of lines)

10/16/2020, 10:35:26 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

After messing with the circuit for an embarrassingly long time I have the improvised stabilizer for the shift/load line. The signal is now longer and constant. Doesn't help much since the WAIT line is still messed up.

10/17/2020, 3:52:31 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I've been making slow progress!

10/17/2020, 11:52:01 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

I'm taking a break from Galaksija today, so instead I'll tell you a bit more about history. First of all, this tweet from back in August is wrong. From what I can tell, you most definitely couldn't buy Z80 in stores in the 80s https://twitter.com/mejs/status/1296534350893395970

10/18/2020, 1:06:05 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

That is, you couldn't buy CPUs or other ICs in store *in Yugoslavia* in the 80s. As I've spent more time on this project, I think I finally have a better idea why this computer is so important and significant, and it seems to revolve around two things:

10/18/2020, 1:33:18 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

- it's a unique piece of computer engineering that solved a bureaucratic and economic problem under very specific circumstances
- it was immensely successful because of the enormous publishing effort that accompanied it - Galaksija was a success because of Računari u vašoj kući

10/18/2020, 1:33:18 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Galaksija was designed to get around customs limitations imposed on many (though not all!) Yugoslav citizens in the early 80s which prevented import of items above ~ 50 Deutschmarks, basically making it impossible to (legally) import most Western made computers

10/18/2020, 1:33:18 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

The important thing to consider is that shopping abroad was a very common thing for Yugoslavs, especially the middle class. Two popular destinations were Graz in Austria and Trieste in Italy. This was huge! People would get all sorts of Western items that weren't sold at home

10/18/2020, 1:33:19 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

And it's a perfect example of the unique circumstances that resulted in Galaksija: there's a stereotypical phrase that Yugoslavia was between the East and the West, but in this case this is manifested very clearly. Our people bought tons of things abroad, but there were limits.

10/18/2020, 1:33:19 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

The limits were regulatory and financial. You could only import 50DM worth of goods, so people smuggled stuff all the time. Financial limits were more difficult to get around -- most Western computers were just too expensive. People still got them, but not in huge amounts.

10/18/2020, 1:33:20 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

It's often mentioned that Galaksija was Jugoslavija's "first computer". That's just not true -- In that first edition of Računari there's even an ad for Lola 8, an Intel 8085A based computer made by Ivo Lola Ribar, a manufacturer of heavy machine tools named after a Partisan hero

10/18/2020, 1:33:22 PM

Favs: 16

Retweets: 7

Vlado Vince

@mejs

Around the same time, Miroslav Kocijan developed Galeb and then Orao, in Slovenia they produced Delta Partner, Kocijan's mentor Branimir Makanec designed the Apple II clone Ivel Ultra...

10/18/2020, 1:53:54 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

But none of these were widespread consumer computers -- most were manufactured for commercial use in state companies, or for schools like Galeb and Orao. Since they weren't widespread in home use, there was limited software, and no community.

10/18/2020, 1:53:54 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

This is something that took me a while to understand. At the time, most computers were not compatible with each other, so software had to be developed specifically for your computer. Communities formed around specific machines - which is one of the reasons why Apple became so big

10/18/2020, 1:53:55 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So this brings us to what I believe is the key to Galaksija's success: Voja Antonić ingeniously designed it to be cheap enough to get around customs limitations and to be affordable, and then Računari magazine popularized it and created a community to support it.

10/18/2020, 1:53:55 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

It's important to consider how important it was that the computer was affordable. One of the things that took me a long time to understand about the history and eventual dissolution of the Yugoslavia is how economically disruptive the 1980s truly were.

10/18/2020, 1:53:55 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

It would far exceed the scope of this project to analyze economic policies and collapse of the Socialist Federal Republic of Yugoslavia, but this is a good intro if you're interested http://yuhistorija.com/economy_txt01.html

10/18/2020, 1:53:56 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

For the sake of this thread, it's important to note that the times were Not Good. After a few decades of huge improvements in standard of living, our people experienced rapid stagnation and reduction. This was particularly manifested in inflation.

10/18/2020, 1:56:19 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Inflation in Yugoslavia would reach record heights in the late 80s, and "FR Yugoslavia" (Serbia and Montengro) would trump even those in the 90s, but for a relatively stable socialist economy until then, inflation was hugely disruptive in the early 80s.

10/18/2020, 2:01:19 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

The prices would fluctuate all the time. A great example are some toll receipts I found this summer for crossing the bridge to Krk island. The price doubled from 1983 to 1984 https://twitter.com/mejs/status/1302146213328957441

10/18/2020, 2:01:20 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

So Galaksija is designed within the constraints of this economy. In that first issue of Računari there are many references to inflation and the economic situation, and the publishers are very open about designing this machine to get through customs https://twitter.com/mejs/status/1314013347256381440

10/18/2020, 2:03:42 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I love this comic strip by Predrag Milićević about "importing" a ZX Spectrum (credit: http://www.onceuponabyte.org)

10/18/2020, 2:12:16 PM

Favs: 2

Retweets: 1

Vlado Vince

@mejs

Another thing that is often omitted, Voja Antonić designed another computer before Galaksija, EL-82 for Elektronika inženjering. EI supported development of Galaksija as well and eventually sold the complete computer, although Voja developed it independently.

10/18/2020, 2:26:28 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So, how do you get the parts to make one in 1984? This is where Računari u vašoj kući comes in, the second and crucial ingredient in making Galaksija a success. This is the story of Dejan Ristanović.

10/18/2020, 2:31:57 PM

Favs: 5

Retweets: 1

Vlado Vince

@mejs

Dejan's story really resonates with me, because he is someone who both understood computers but also how important they will become. He also understood and excelled in communication - publishing that first edition of Računari reached tens, if not hundreds of thousands of readers.

10/18/2020, 2:54:57 PM

Favs: 6

Retweets: 0

Vlado Vince

@mejs

Also, Dejan was only 21 when he edited the first edition of Računari (and wrote most of the articles too)! At this point Dejan had been publishing articles for Galaksija since 1981, writing things about computers, but Galaksija was a general popular science magazine.

10/18/2020, 2:54:58 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

So basically, in April 1983 they decide to publish a special edition of Galaksija focused just on computers. Dejan is assigned as editor and he starts to work on an all encompassing intro to computers. And then in August Voja Antonić comes up with an idea of a DIY machine...

10/18/2020, 3:04:49 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Računari u vašoj kući, special edition of Galaksija magazine, was supposed to come out in the fall of 1983. The decision to hold off and work with Voja on including the Galaksija DIY guide, and organize a distribution chain for parts was incredibly important!

10/18/2020, 3:04:50 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

It's impossible to measure how influential this first issue was. It virtually single-handedly started the Yugoslav computer publishing industry. Before Računari there were random articles in newspapers in magazines. By 1985 there was Moj mikro, Svet kompjutera...

10/18/2020, 3:16:36 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

So finally, how does a magazine organize a supply and distribution chain for an affordable computer in a country with strict customs rules? Let's take a look at how a Računari reader in early 1984 could get their hands on parts to build a Galaksija!

10/18/2020, 3:20:11 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

First off, "mechanical components": PCB, keys and keycaps. Institut za vakuumsku tehniku from Ljubljana made the keys, Mipro and Elektronika from Buje made the PCB and the rest. You would order these parts directly through Računari for 5600 dinars.

10/18/2020, 3:29:07 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

The ICs: these include the Z80 CPU, logic ICs, RF modulator, crystal and 3 IC sockets. Sold through Microtechnica in Graz, Austria (remember the story about shopping abroad!) for 1660 Austrian schillings. Ordering is coordinated so that no single package exceeds 1500 dinars

10/18/2020, 3:32:50 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

The instructions here are fascinating: you first write a letter to Microtechnica, they send you an invoice (this is all through mail), you go to a bank to send the money, and then you wait. You can pay by Amex, Diners, Eurocard or Visa. Not sure how widespread these were.

10/18/2020, 3:34:45 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

The EPROMs: if you recall, Galaksija uses 2732 and 2716 ROMs to store the OS and characters. Per the ordering instructions, folks who order ICs from Microtechnica will get their EPROMs programmed. It's unclear if they are included in that 1660 schilling price

10/18/2020, 3:38:26 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

But I assume that the EPROMs would come from Belgrade, where Voja Antonić programmed them at MIPRO (a different one than the one making PCBs 🙃) where he worked and started developing Galaksija.

10/18/2020, 3:38:27 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

The really cool thing here is that Računari offered to program EPROMs for folks who obtained them independently completely for free! You would just send yours in an envelope!

10/18/2020, 3:39:56 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Lastly, there is no mention of ordering more common electronics parts like capacitors and resistors. I assume that those indeed were available locally.

10/18/2020, 3:40:42 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

There is also mention of the helpdesk phone line, provided by Avala amateur radio club every day from 5 - 8pm! I already wrote about their Galaksija repair service https://twitter.com/mejs/status/1316227446849581056

10/18/2020, 3:42:29 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

For folks who weren't ready for DIY, and for use in schools, Elektronika inženjering and Zavod za učila i nastavna sredstva made pre-built Galaksijas. These weren't ready yet when Računari 1 came out, but the collaboration of many companies and orgs here is super interesting.

10/18/2020, 3:50:14 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So there you have it, the ingredients to make, distribute and popularize a computer under very specific and challenging conditions! There is much more to this story, and later I will focus on the community that sprung around it.

10/18/2020, 3:57:53 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Dejan Ristanović's story goes on, in the late 80s he founded one of the earliest and biggest BBS's in Yugoslavia ' Sezam, a fascinating story that I've been researching for a while now. He wrote for Računari for years, and then started PC Press magazine.

10/18/2020, 3:57:54 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Dejan's website is a great resource on all things Galaksija, Računari and other 80s computer projects, as well as his later work https://www.dejanristanovic.com/

10/18/2020, 3:58:29 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Researching the experience people would have ordering and then building this computer has been so wild to me! The difference from my experience now is staggering! I got my PCB in 3 days from China. Mouser delivers components in 2 days. I get old stuff on eBay.

10/18/2020, 4:04:35 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Not to mention troubleshooting and learning about this stuff! I have the whole internet available, and while I've been trying to primarily use contemporary sources like Računari, I'm of course using other sources too.

10/18/2020, 4:04:35 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Then there are tools! I have a good Weller soldering iron, multi meter, logic probe, an oscilloscope. Most people wouldn't own these. But they had the community, the magazine, the help line. Something that is much different now. But I have Twitter :) Thank you for following this!

10/18/2020, 4:04:36 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

It isn't much, but I can't tell you how exciting it is to see the tiny Elektronika inženjering logo and something resembling READY show up on the screen after 3 weeks and hours and hours working on #Galaksija

10/21/2020, 9:58:05 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

I am so READY 😍

10/21/2020, 10:24:29 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Here's what that looks like on the screen. It's still far from usable. I can't get anything else to show on the screen, and the image loves to go out of sync. There should be just one ready. But finally, it's progress

10/22/2020, 2:57:36 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So what was it, you ask, that finally got those magical letters on the screen? Well, I had two jumper wires missing. Instead of just looking at the board, I discovered them in the most roundabout way possible. Troubleshooting that WAIT line from last week, or even 2 weeks ago

10/22/2020, 3:00:52 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

These two jumpers were needed for two data bus lines going between the CPU and ROM and RAM. No wonder nothing was working, including the WAIT line. Too bad it took me days to figure this out. https://twitter.com/mejs/status/1316588388116500483?s=19

10/22/2020, 3:06:33 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Looks like leaving it on to "warm up" produces... Usable results? Next step will be to try to run something. I'll deal with double rows later.

10/22/2020, 3:25:58 AM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

So here's the state of things:
- the shift/load line timings are messed up (I talked about this earlier in the thread). The image loves to go out of sync but I can kind of kick it into place by touching the SL path between the crystal and shift register. This has to be fixed.

10/22/2020, 12:08:55 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

- I can't run even the simplest commands like PRINT. This will be my second priority once I get a reliable and stable image that doesn't fall apart so easily

10/22/2020, 12:10:55 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

- Lastly there are double lines, missing pixels in characters, and just random artefacts on the screen. These are annoying, but I have a feeling they are mostly related to the shift/load issue, so I'll focus on them last

10/22/2020, 12:15:08 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Here's where the shift/load situation is right now: my theory is that my timings are indeed incorrect, due to my Italian Z80 running "too fast" for the sync to be stable. Two possible solutions: change CPU (working on that) or try the stabilizer circuit https://twitter.com/mejs/status/1316546781258412032?s=19

10/22/2020, 12:33:44 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I did build this little circuit, but I don't think it's working. Here's the oscillator comparison before and after the circuit. Basically no change (the voltage fluctuates a bit regardless). Virtually the same. Might have to rebuild it.

10/22/2020, 12:35:47 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Last night my #Galaksija ran a command successfully for the first time without failing with a WHAT or SORRY response. 🥰

10/24/2020, 6:23:46 AM

Favs: 11

Retweets: 0

Vlado Vince

@mejs

I've been making slow but steady progress, especially around getting stable video. But I'm still experiencing crashes, and some are fun like this list of commands

10/25/2020, 12:05:53 AM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Here's another fun one

10/25/2020, 12:06:53 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So here are the updates to the PCB:

1. Dual layer, replaces jumpers
2. New connectors for power/cassette/video
3. 5nF ceramic capacitor added between -RFSH and GND on Z80A. This solves the problem of modified timings on the CMOS version of Z80A
4. New keyboard connectors (!)

10/26/2020, 10:35:31 AM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

Having jumpers on the top layer built in makes this a much more practical build. That means you don't have to spend hours soldering tiny wires (119 of them) https://twitter.com/mejs/status/1310807053422735364

10/26/2020, 10:57:26 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

However, having the adjusted keyboard connector spacing is a huge improvement and I had to improvise to get my modern switches onto the old board. I would love to have had the new board design for this one. https://twitter.com/mejs/status/1311480797669527553

10/26/2020, 11:03:25 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

An update! I have a pretty stable image with good contrast and a black background. Makes it much easier to work! However, I've been unable to replicate getting commands to run, I still have missing pixels and double rows, and my hack to stop flickering... relies on my body.

10/26/2020, 11:43:03 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

First the good stuff. I had to fix the issue where the image wouldn't stay in sync and would move across the screen like this

10/26/2020, 11:48:00 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I noticed that if I touched the RAM while running I could stabilize the image. I tracked this down to A5 on the address bus and I realized that my body was serving as a load. I added an LED to it, and now the image is stable. Additionally, it indicates restarts!

10/26/2020, 11:54:33 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Next - the contrast. I first experimented with adding a resistor + capacitor just as the composite signal exits the circuit, which lowered the voltage and gave out a nicer image.

10/26/2020, 11:56:53 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I then tracked down resistors R9 and R10 and experimented with raising the value of R9 to 130 ohm (from 62), and lowering R10 to 39 ohm (from 50). I achieved an even better image, so I removed the hacked together resistor and capacitor.

10/26/2020, 11:58:54 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I've been experimenting with other capacitors too, and while doing so I accidentally blew up the T1 transistor. This transistor is very cool, as it initiates "RESET" pin to start up the CPU. I noticed that I wasn't getting a prompt until pressing my improvised reset button.

10/27/2020, 12:01:28 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I immediately suspected the resistor, since I remembered the description of the initialization process from Računari: T1 holds RESET low until capacitor C6 fills up, then it goes high, triggering the startup. This wasn't happening.

10/27/2020, 12:03:16 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Luckily there is another transistor of the same type on the board, and tit's used for cassette input/output. Since I'm not ready yet to use it, I cannibalized it until I can get a replacement.

10/27/2020, 12:04:25 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Finally -- my body hack. Just like the image stabilization, I noticed that the image would stop flickering if I touch the ground wire

10/27/2020, 12:09:37 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Unlike the image stabilization issue, this isn't limited to a specific part of the circuit, and I've been unsuccessful in resolving it by adding LEDs or capacitors. It seems like an issue with voltage fluctuation across the circuit.

10/27/2020, 12:11:49 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

There are 13 100nf decoupling capacitors that are meant to keep the voltage steady, and they don't seem to fix the issue.

10/27/2020, 12:13:01 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

But for now I can touch the ground (which is not dangerous) to stabilize, but this is not a solution. However, the big thing -- running commands, is still unsolved. I have photographic evidence that I got it to work at one point, but I have no idea what it was...

10/27/2020, 12:14:56 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I just got absolutely clear text. Experimenting with flicker, I added a 1 ohm resistor between the board and power supply, dropping it from 5.1V to 4.63V. It didn't resolve my flicker, but the letters are crystal clear. I'm not sure if this messes with something else tho.

10/27/2020, 12:44:46 AM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

Folks this is it. Commands run, double row issue solved. It was RAM. I had a hunch. My money is on the bad socket connection. Won't mess with it more tonight. Hey, I have a working computer!! #Galaksija

10/27/2020, 3:38:39 AM

Favs: 9

Retweets: 1

Vlado Vince

@mejs

Enjoy 😍

10/27/2020, 3:39:44 AM

Favs: 10

Retweets: 0

Vlado Vince

@mejs

A few kinks are left to fix, mainly RAM sockets, but otherwise Galaksija is fully functional. I've been able to save my programs to virtual tape (Audacity), and had some success loading them too. However, my laptop's audio out might need an audio amp to load without errors

10/27/2020, 8:08:55 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Here's a program that loads all the characters Galaksija knows. Note the BCS diacritics: čćžš

10/27/2020, 8:08:58 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Here's a fun "stars" program by Tomaž' Šolc that turns pixels on and off to create a fun effect. I hooked it up to the TV for the first time to show off :)

10/27/2020, 8:14:26 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Boško wants to know how this magic works

10/27/2020, 8:21:43 PM

Favs: 9

Retweets: 0

Vlado Vince

@mejs

Check out my new gaming rig. I'm thinking of starting a twitch channel

10/28/2020, 12:00:06 AM

Favs: 11

Retweets: 0

Vlado Vince

@mejs

I'm a gamer now

10/28/2020, 5:36:13 PM

Favs: 6

Retweets: 0

Vlado Vince

@mejs

Final adjustments complete. I soldered the memory chips directly to the board. The total shown is what is available of 6144 KB after boot up. This is the max RAM allowed by original design. It can be expanded to over 48K by using an expansion board, but that's another project.

10/28/2020, 7:34:34 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Memory issues plagued me from the start. First I ordered the wrong width 6116 RAM. Then I didn't have the right IC sockets (the same ones that I now took out). Then I struggled with getting image sync and commands to run due to bad memory connections.

10/28/2020, 7:37:42 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I should have heeded the warning from Računari: they warned of low quality IC sockets and advised using them only for the EPROMs. I naively assumed this was an 80s thing. I was wrong. I decided to follow this advice now instead of placing yet another order for equipment.

10/28/2020, 7:41:55 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

This is one of the cheap IC sockets after I took it out.

10/28/2020, 7:42:30 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

My other adjustment was to take out resistor R14 (100 ohms) from the tape in circuit (used for loading programs). I've heard that some people built amplifiers to load programs using a computer or phone instead of a tape deck. I ended up removing a resistor. So far no issues.

10/28/2020, 7:46:26 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Before I did this, the only way I could load programs was to crank up the volume to 11 dB on my laptop. This only sort of worked, as everything I would load came up with errors, probably due to distortion.

10/28/2020, 7:48:06 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Which brings me to one of the most fun aspects of this project -- finally running some software, and using sound to do it!

10/28/2020, 7:49:30 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I've never actually seen or experienced using audio tapes to store data before. When I was growing up, 3.5" floppies were still common, and I do remember seeing 5 1⁄4-inch floppies once or twice. But I never used tape, and never really thought about it much until this project.

10/28/2020, 7:52:21 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Some basics: all data consists of bits: units of 1 and 0. In computers, we often count those bits in groups of 8 as bytes. These days we transfer millions of bytes per second when we doom scroll Twitter in the morning, but at the end of the day they're still ones and zeros.

10/28/2020, 7:55:49 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

While today those ones and zeros may be going between our phone to a cell tower through the air, or if we're old school through copper cables between our computer to a switch or a router, at the lowest level we are still transferring electrical signals of 1 and 0.

10/28/2020, 7:57:11 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

The same thing happens when using cassette tapes as storage. To store data on a tape, Galaksija generates modulated sounds that corresponds to ones and zeros it can understand. Here's what half a second of that sound looks like in Audacity (this is the code to the Snake game)

10/28/2020, 8:04:06 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Here's what that sounds like (warning, check your volume before starting)

10/28/2020, 8:11:21 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

But how exactly does this sound go in/out of Galaksija? Typical stereo analog audio consists of 3 wires: left, right and ground. Galaksija uses one channel for input, one channel for output. You connect it to your tape decks headphone jack to load, or mic to save files

10/28/2020, 8:18:45 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

The original instructions suggested using a DIN jack for this. Since it's 2020 and nothing uses DIN jacks anymore, I installed a 3.5mm audio jack in it's place (luckily my laptop/phone haven't followed the iPhone and still feature these jacks)

10/28/2020, 8:20:36 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

If you're saving your program, the signal goes from the character generator circuit into the tape. If you're loading, the sound enters from the tape and goes into the keyboard circuit! In a way, the computer understands the tape as keys getting pressed!

10/28/2020, 8:26:40 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I don't have a tape deck, so I'm using my computer to load/save programs. To save, Galaksija outputs the signal to the right channel. To load, the computer should output the signal to the left channel (although there's no issue if you output to both). It's the best to output mono

10/28/2020, 9:07:27 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Before I go through the process of loading/saving, let's talk about obtaining programs then and now.

10/28/2020, 9:09:32 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Unless you're writing the program yourself, in the 80s you have three options:
- obtain it printed out and type it manually
- buy or borrow a cassette tape
- tape a program being broadcast on the radio (!)

10/28/2020, 9:10:46 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I found a few stories about commercial programs (games) being sold for Galaksija, but from what I can tell most software was shared for free in the community. Unfortunately I couldn't find a photo of a tape with a Galaksija program (maybe I should make one?)

10/28/2020, 9:16:10 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

But the coolest way to get a program was to "download" it over the air. In Belgrade, late Zoran Modli broadcast Galaksija programs on his radio show Ventilator 202. The listeners would prepare their recorders and then tape the awful sounds coming from the radio!

10/28/2020, 9:19:46 PM

Favs: 3

Retweets: 2

Vlado Vince

@mejs

Ventilator 202 was a very popular show, and Zoran Modli was another important part of the emerging community at the intersection of tech and culture. Here's an interview with him from 1990. https://www.youtube.com/watch?v=iJqnP5jsXZY&t=2s

10/28/2020, 9:23:49 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Modli was also a professional pilot and flew 727s for Jat Yugoslav Airlines. He sadly passed away earlier this year, but will appear posthumously in the Galaksija documentary currently in post production. https://www.crowdsupply.com/rcc-productions/galaksija

10/28/2020, 9:25:41 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

How about now? There are three types of files you can find online these days:
- scans of text files to type in
- .gpt files that are HEX dumps of BASIC or machine code
- WAV recordings ready to load

10/28/2020, 9:39:32 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Once you obtain your audio file, either as wav or cassette tape (🙃), you'll connect the Galaksija tape interface to your sound output. Then you'll type in OLD command and run it, and then play your file/tape. The screen will turn black while the tape is loading.

10/28/2020, 9:45:32 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

The screen should go back to READY when the program is loaded, but for me none of the programs I got from the internet or converted with gpt2wav seem to do so. The few I saved myself and then loaded do.

10/28/2020, 9:47:52 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I haven't come any documentation on this, but if I "reset" Galaksija using the hard break button (NMI), I can get back to the READY prompt. NMI resets the state without erasing memory.

10/28/2020, 9:47:52 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

At this point you can run the program by typing RUN! BASIC programs can be viewed easily by hitting the STOP/LIST button or typing LIST. Machine code programs will show up only with the BASIC command 10 A=U. (&2C3A) telling the computer to find the program at memory address &2C3A

10/28/2020, 9:50:09 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

This wasn't very well documented in the introduction in Računari, nor online, so it took a bit of trial and error to get right. Some machine code programs I'm still having issues with, and it looks like they require the hex loader mentioned here https://twitter.com/mejs/status/1321621264117760000

10/28/2020, 9:51:56 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Many games were written in machine code because it ran much faster than BASIC, allowing for speed needed in games. Here's what LISTing Tetris looks like. Just one command telling the computer where to find machine code.

10/28/2020, 9:53:45 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

But some software is in BASIC. This is Žaboglavac, a game published this year for Galaksija and Spectrum by RETRO INFO, a computer heritage organization based in Zagreb. https://retroinfo.hr/zaboglavac/

10/28/2020, 9:57:22 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

In comparison, this is what the Comets game looks in hex dump of machine code.

10/28/2020, 10:03:15 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

You can also find software online in .gal files which are mostly used in emulators. They basically snapshot RAM state with the program loaded so no "tape" loading is necessary. I think it should be possible to use them with a real Galaksija but I haven't tried yet.

10/28/2020, 10:03:57 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

There are a few Galaksija emulators floating around. I've been using Galaxy Win, a port of Galaksija DOS emulator by Miodrag Jevremović hosted at http://emulator.galaksija.org

10/28/2020, 10:06:11 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

But what about saving your work? Pretty much the same thing, but in reverse. You would write your could, hook up Galaksija to a mic input, press record and then type SAVE. The screen would go black and return to READY when done.

10/28/2020, 10:18:12 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I have my programs loaded as wav files, so organizing and playing them is easy. If you had them on tape though, you would have to keep precise notes on where the programs were on tape (start/end seconds). This is why it was advised to get a tape deck with time indicators

10/28/2020, 10:18:42 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

So that's the cassette tape story so far. I would love to actually use a real tape recorder to try this, but I'm not sure I can justify getting another piece of old tech just to say I did. We'll see 😅

10/28/2020, 10:21:06 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

What's next for my Galaksija? With the memory and cassette loading issues resolved, this project is almost complete. I still need to build a case (fun!) and I've been thinking of integrating my RCA/HDMI adapter inside the box. Maybe put it in place of the RF modulator? We'll see.

10/28/2020, 10:22:50 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

I've started loading programs (playing sound) with VLC and the issues I experienced earlier with some programs seem to have gone away. So many fun games like (definitely unlicensed) Star Trek. I'm playing while I watch TNG 🤓

10/29/2020, 10:36:57 PM

Favs: 5

Retweets: 1

Vlado Vince

@mejs

I found the coolest program: Sintesajzer! This program let's you use your Galaksija as a synth by utilizing the tape output. Galaksija doesn't have sound support, but it generates tones to transfer data. This program flips that around to generate sound!

10/30/2020, 10:11:32 PM

Favs: 3

Retweets: 1

Vlado Vince

@mejs

Here's what that sounds like in my poor rendition of Jingle Bells. I'm pressing keys G, H, J, K and L.

10/30/2020, 10:13:37 PM

Favs: 5

Retweets: 1

Vlado Vince

@mejs

The screen turns off while you play. I think this is for the same reason it turns off while you're loading/saving to/from tape. The program seems to have been recreated/re-released in 2006

10/30/2020, 10:15:10 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

In the meantime, I integrated the HDMI/RCA converter with the board by soldering video output directly to it. Moreover, I hooked up the power to the board (it's normally powered by regular 5V USB), and this resolved all the flicker issues I've had from the start!

10/30/2020, 11:51:34 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Here's what the sample "stars" program looks like when the converter gets power from the same circuit

10/30/2020, 11:54:26 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Now onto really cool stuff. Trying out @avian2's Galaksija demos. Here's a port of the famous Dancing Demon!

10/31/2020, 2:28:12 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Dancing Demon was a game for Tandy TRS-80 model I written by Leo Christopherson. Tomaž ported it to Galaksija - due to limited memory it's more of a demo (no interactivity), but you can give it commands in BASIC before deploying.

10/31/2020, 2:31:01 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I didn't download the Dancing demon in wav or gpt... I assembled it using z80asm assembler and Tomaž's Galaksija development tools -- an awesome collection that let's you develop new software for Galaksija! This is such cool stuff!

10/31/2020, 2:54:42 AM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

Here's a quick experiment using pgm2scr to convert @hackaday's logo to render on Galaksija. Voja Antonić, Galaksija's creator, is a regular contributor to Hackaday these days, so this seemed fitting :) https://hackaday.com/author/vantonic

10/31/2020, 3:42:54 AM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Took some troubleshooting but by the end of the night we had a full screen pumpkin. Happy Halloween!

11/1/2020, 12:56:17 AM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

What I love about this game is that it's such great representation of what many games for Galaksija are like - due to limited graphic capabilities, most is left to the imagination. Most of the time your just adjusting numbers: roll, pitch, speed, flaps. You have a basic map.

11/1/2020, 5:24:43 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

The only moment when something shows up on the screen is when the airstrip shows up to land. Game description explains why: this is night flying, so lights have to be turned on the runway for you to see it :)

11/1/2020, 5:28:00 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

If you crash, you'll get a helpful screen that tells you why you crashed

11/1/2020, 5:30:55 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Successful landing 😎

11/1/2020, 6:00:56 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

Flying to Sarajevo #galaksija

11/1/2020, 6:07:09 PM

Favs: 7

Retweets: 0

Vlado Vince

@mejs

Today my coping mechanism includes making a a base for Galaksija. I got a 304x304mm plexiglass and now I'm cutting it to size by using one of the extra PCBs I got. Then I'll use standoff spacers to lift the board and screw it in.

11/3/2020, 2:05:38 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Here we go. That was pretty easy!

11/3/2020, 3:45:41 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I also added two standoff screws to hold the hdmi converter. I had to drill two holes into the PCB. This is where having a single layer PCB is helpful -- the third photo is from my test holes in the extra PCB.

11/3/2020, 5:20:37 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Tonight's coping activity is designing a case for Galaksija in SketchUp.

11/4/2020, 9:08:44 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Most Galaksijas featured DIY cases made of wood, plastic or spare PCB boards! The few factory produced Galaksijas came with complete covers (plastic, I believe)

11/4/2020, 9:16:51 PM

Favs: 4

Retweets: 1

Vlado Vince

@mejs

Voja came up with a technique of using spare PCBs to assemble a case by soldering the extra copper on their sides, spray painting them and then assembling a complete case. The photos are from a recent build he completed for the (now funded!) documentary

11/4/2020, 9:19:04 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Računari 1 included instructions on making a case from PCBs, including adding a professional looking logo by using letters for litho printing!

11/4/2020, 9:23:53 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

To clarify, when I'm referring to PCBs I mean the fiberglass base sheets without any circuits printed on them.

11/4/2020, 9:27:40 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I haven't decided on what I'm going to use for my Galaksija yet! But having a good model in Sketchup will help. I did start by sketching it out in my notebook (yes the note above says "Biden wins?")

11/4/2020, 9:30:56 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

phew I'm so bad at SketchUp, but I have a base model ready, including the holes in the back. The HDMI was really difficult to make until I got an HDMI model to copy the layout from.

11/4/2020, 11:02:38 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

For practice, I cut out a spare PCB to use as a case. Note to self: never attempt to cut a PCB with a box cutter. I now have blisters. Also, leave extra open space around the keyboard. I'm leaning more and more towards 3D printing a case.

11/6/2020, 11:36:49 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I slightly scaled up the keyboard opening in my SketchUp model. The price for a PLA 3D print is not bad, but the lead time is quite long

11/7/2020, 12:12:53 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I decided to go for it and ordered one in blue. If it works out I'll publish the sketchup file on my Galaksija GitHub repo: https://github.com/mejs/galaksija

11/7/2020, 2:19:15 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Here's the temporary top cover out of spare PCB

11/7/2020, 10:22:27 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I've been curious about the MIPRO logo for Galaksija and how to get it. Galaksija ROMs are relatively accessible, but they all seem to feature the Elektronika inzenjering logo. Since it's a character, just like a letter, it's stored on the character ROM. https://twitter.com/mejs/status/1317916636884668419

11/8/2020, 1:29:25 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I noticed that it's used in the SAM Coupé Galaksija emulator. I tried it out and confirmed this, but I couldn't find a way to extract the ROM. https://simonowen.com/sam/galemu/

11/8/2020, 1:30:47 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

These are ROMs for 27256 EPROMs that feature a full 256KB, instead of 4KB for Galaksija's ROM A and B, and 2KB for the original character ROM. So the character ROM featured a bunch of extra stuff. I compared it with the one I have and grabbed exactly the 2KB I need.

11/8/2020, 1:30:49 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

There's only a few bytes difference. Using @avian2's chargendump tool, I was able to view the different renders for characters 0 and 39 (left and right side of logo) for both ROMs.

11/8/2020, 1:30:50 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Kind of fun! I tested the modified ROM in MAME, and it works. Might play around and burn it in my 2716 ROM to have on the real Galaksija. I kind of like the MIPRO logo better? Here's a side to side of both.

11/8/2020, 1:30:51 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Couldn't resist. I burned my 2716 ROM with the MIPRO logo. Looks great!

11/8/2020, 1:55:47 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Game of life is a cellular automaton, "a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input."

11/8/2020, 2:32:31 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

So it seems likely that he designed the MIPRO logo himself. I've been struggling to find any information on this company. From what I could find out, Voja worked at MIPRO at the time when Galaksija was designed and released.

11/8/2020, 2:37:58 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I can't find anything about MIPRO from Belgrade. There is a construction company based there using that name now.

11/8/2020, 2:41:43 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

It's so weird. It's very difficult to find any trace of them. Some Galaksijas had their name on the case and on the PCB.

11/8/2020, 2:43:52 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I've completed the case mock up with some duct tape! I'm also trying out the logo.

11/8/2020, 9:46:05 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

I've added MIPRO, Elektronika inženjering, Galaksija and Zavod za udžbenike i nastavna sredstva logos to represent different phases of Galaksija production.

11/9/2020, 12:38:07 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Here are some of the logos/labels I've come accros

11/9/2020, 12:39:34 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I'm so excited to send one Galaksija PCB to @2cmk KIKA Hacklab in Skopje! @fau_ig and the team have been building a Galaksija using a homemade PCB, and hopefully this new one helps them assemble another one!
https://twitter.com/2cmk/status/1010439307759423488

11/10/2020, 11:10:11 AM

Favs: 6

Retweets: 3

Vlado Vince

@mejs

So after trying out virtually every game for Galaksija (lol) and experimenting with demos, I finally came across the first educational program for this computer: Math! And I even found scans and photos of the tape, so this is the first time I actually saw what one looked like!

11/11/2020, 1:16:29 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

The tape consists of basic math tasks: addition, subtraction, multiplication, division. There is also a recording for the ZX Spectrum, as well as a "General tech culture test"

11/11/2020, 1:19:01 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Here's what addition looks like. There is a weird "feature" where numbers are typed in reverse, so to get 134 I had to type in 431.

11/11/2020, 1:27:30 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

But I really like the tech quiz! The first few questions are weird. They ask you details about the youth organization behind the quiz (lol), but the rest are a nice mix of physics, electronics and history (note the who invented the phone question w/ Tesla, Bell and Edison :)

11/11/2020, 1:38:15 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

So I got 16/20. It also has a 5 minute timer, and it's meant to be played by multiple students. I reign supreme now.

11/11/2020, 1:39:45 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Here's an ad from Svet Kompjutera magazine (November 1984) where Zavod za udžbenike iz looking for Galaksija, "Sinkler" (I assume this is ZX Spectrum) and Commodore 64 programmers

11/11/2020, 1:50:02 AM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Here's another interesting Zavod za udžbenike ad (Svet kompjutera 4/'84): you can order different Galaksija configs, accessories, tapes (chess, math --the one I have--, another math, demo tape) and books and manuals

11/11/2020, 2:00:57 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

I've been trying to find a copy of that demo tape for a while with no luck. It was referenced in the Galaksija getting started guide, and this ad lists the programs on it (some of which I have), but I can't find a photo of it or anything beyond these rare references

11/11/2020, 2:04:35 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Tonight I came across not one, but 3 (!) Galaksija emulators made by Ferenc Hindicki. But more than just another Galaksija emulator, Hindicki's 100MB publicly available ZIP file is an incredible labor of love, organized in retro HTML files with amazing amount of documentation

11/15/2020, 1:04:37 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Ferenc's project was hidden in a thread on Elite Security forum. A few years ago he announced he was working on a Galaksija emulator because the existing ones had some issues. And then a week ago he published a Google Drive link to this amazing project https://elitesecurity.org/t487913-PureBasic-Galaksija-emulator?__cf_chl_jschl_tk__=85717b6e650b24e366256318f697e105d41a0533-1605419448-0-AcHgYNCxO1bafuoI7CripBW1iRlBDRXVUAvnnd7Ulje11l8xBXS7PRMKtxtFLdtwzkyIG6e-_UThFZXv2EDs2QBWuyBwjYamnOaifT8RObMWQrsVP7nqIvFHhZ7mEtleFqmQGkVPLx2UR5kS4qwnOGJ6RvG5Z4WfxOjMmwTj61CamEGtJgY8QmumZUf8ZB-0eFyYOZDKo06MkVqT4MrkGSP9o1uxMsZh19LtcRvjIWeutUxDGFX7Ibi9tB7vNRF9jevxdqcBygt2gpA00sT_iJYz65e_aLafx14hcXEx4_7Zguj9fxdyiN_8_hs8y9wUYMdplbxBxVeRjQrKEzU3tQ8ey6ebBIVfN_DgUP7eD5FmnUtrWVuTxnJEZbaQ1cW1wg

11/15/2020, 1:04:48 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

The project consists of 3 (!) JS web based emulators, a drawing tool (!) that exports hexdumps that can be loaded to other emulators or actual Galaksija, and a Windows emulator called GalMin.

11/15/2020, 1:58:26 AM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

I'm so excited to have found GalMin. Even though it doesn't render correctly, it's the first program I've found that has the ability to actually export to .gpt files, Galaksija cassette image format that is ubiquitous online, but one that I haven't found any tools to convert to

11/15/2020, 2:05:08 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

There's a number of tools to convert from gtp - mainly @avian2's gtp2wav tool, but MAME's casstool supports it too. But I've been trying to find a tool that does the opposite: converts wav to gtp. GalMin doesn't seem to do it either, but I do have a plan...

11/15/2020, 2:09:46 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

MAME supports loading WAV tapes, and it also supports saving .gal snapshots (snapshot format used by the old Galaxy Win emulator). GalWin support loading .gal snapshots... And then it supports saving the program to gtp. https://twitter.com/mejs/status/1321634402921779200

11/15/2020, 2:13:06 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

So if this works (I still need to try it), I have a workflow to save programs I actually write on the real Galaksija to .gtp!

11/15/2020, 2:13:07 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I drew this with Ferenc's tool and then played it on Galaksija 😄

11/15/2020, 4:18:32 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

I tested galmin emulator on a physical Windows computer as opposed to a VM and it's rendering fine, so my issue must be related to virtualization graphics. I'm glad that's the case because this is a very good emulator. https://twitter.com/mejs/status/1327870230866038784

11/15/2020, 7:46:09 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

However, I'm still working on getting a worflow ready for backing up programs actually written on my real Galaksija to .gtp files. Two issues:
- my wav files won't load into MAME (it doesn't like the audio)
- I can't figure out how to save .gal snapshots w/ MAME

11/15/2020, 7:48:32 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Here's a comparison between a wav file I recorded from my Galaksija and a gtp2wav generated file in Audacity. I would like to clean up everything that's not red (clipped audio, ie. signals I want to keep), but I can't figure out how to do it in Audacity.

11/15/2020, 7:53:26 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Everything I find is about *removing* clipped audio (which makes sense if you're working with audio for humans). I want to keep only clipped tones and get rid of everything else.

11/15/2020, 7:54:43 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Confirmed. MAME doesn't like something about Audacity exported wav files (as opposed to the ones exported by itself or gtp2wav). I exported the same wav I got from MAME through Audacity, and it fails to load in MAME. However, I can't see any difference
https://twitter.com/mejs/status/1328151462799609857

11/15/2020, 8:52:47 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Welp so apparently MAME doesn't like signed encoding?? I managed to load its own recording, but I'm still having trouble with Galaksija's.

11/15/2020, 10:31:35 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Ok, kind of success?? I managed to load a Galaksija made recording into MAME by recording at 20% (trial and error), but the recording does come up with a single wrong character that breaks the program. In any case, now I know you can do it, and I also know that MAME is SENSITIVE.

11/16/2020, 1:15:16 AM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Welp, 19% seems to be the sweet spot. This is what the homebrew soundwaves MAME likes look like.

11/16/2020, 1:22:21 AM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Welp, I decided to reverse engineer Galaksija tape gtp format (LITERALLY CANNOT FIND ANY DOCUMENTATION ONLINE WHAT THE HELL!!!) and build a tool to convert MAME dumps into .gtp. This should be easy! I'm doing this in bash because I'm a horrible programmer and tools are available.

11/16/2020, 4:47:46 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

Yay I have a working script! There's still some stuff I don't understand with the gtp format (mainly variable d in the script, which I just copied from another file for now), but this thing works!

11/16/2020, 6:12:17 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

So realistically, what would be really cool is to have a simple wav2gtp converter. Instead, what I have requires 3 steps:
- load a MAME compatible WAV into Galaksija running in MAME with debugger enabled
- run memory dump out of MAME
- run my script to get gtp file.

11/16/2020, 6:19:36 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Here's how gtp reverse engineering is going. I *think* I've got most of it right, but there's still a section that's confusing me.

11/16/2020, 7:58:23 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Well, making progress. Looks like the "mystery prefix" seems to be a 9 byte strings (at least it is in a number of example gtps I've found) , and the first 3 bytes are always A5 36 2C. This translates to
165
54
44
or ¥6, in ASCII ???

11/16/2020, 8:15:13 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

love to make progress 🥳 At this point the only mystery numbers are the 2 suffix bytes which I suppose are some kind of checksum. Just need to figure out how to calculate.

11/16/2020, 9:08:07 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

And here it is! My dump2gtp converter is ready. This tool is a hot mess that needs clean up, but it works and will convert MAME memory dumps into the portable Galaksija gtp format. It automatically calculates checksum and program length for verification. https://github.com/mejs/galaksija/blob/master/tools/dump2gtp.sh

11/17/2020, 5:41:18 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Making this was an unexpected but fun side-project, and reverse engineering both the (relatively) modern gtp format and the 40 year old Galaksija checksum was fun fun fun. I learned a lot!

11/17/2020, 5:43:49 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

By the end of it I did come across a thread on Z88dev kit forum with some leads on the gtp format, but by this point it mostly served to confirm my assumptions: https://www.z88dk.org/forum/viewtopic.php?id=3391

11/17/2020, 5:43:49 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Here's my current understanding of gtp virtual tape format and how it relates to information on regular physical Galaksija tape.

11/17/2020, 6:18:14 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

But by far the most interesting thing was understanding the 8 bit checksum. It consists of summing the complete data section (including start byte), running a modulo 256 operation on it, getting its two's complement and then subtracting 1 from it.

11/17/2020, 7:37:09 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

To calculate it, I ended up first converting the hex numbers to decimal to sum them and get modulo 256, then converted them to binary to get 2s complement, and finally go back to decimal and then hex. But it works 😵

11/17/2020, 7:39:22 PM

Favs: 0

Retweets: 0

Vlado Vince

@mejs

Galaksija case is finally out for delivery!!!

11/25/2020, 10:36:09 AM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

The case is here! Time for a makeover! #galaksija

11/25/2020, 1:31:41 PM

Favs: 1

Retweets: 0

Vlado Vince

@mejs

It will require a bit of work around the keyboard, but nothing major. I'll make adjustments to my SketchUp file before publishing it with the corrections!

11/25/2020, 1:41:24 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Galaksija case is ready! I like it a lot. There are a few minor details left, but this means this project is finally close to complete.

11/25/2020, 5:37:39 PM

Favs: 6

Retweets: 0

Vlado Vince

@mejs

With the logos #galaksija

11/25/2020, 7:24:30 PM

Favs: 4

Retweets: 0

Vlado Vince

@mejs

I've made the corrections and published the SketchUp file on GitHub. This should be a good starting point if you're making one yourself, but you should do your measurements and adjust I/O ports as needed: https://github.com/mejs/galaksija/tree/master/case

11/25/2020, 10:27:43 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Final two #Galaksija PCBs shipped to Croatia. I love how we'll get 4 new Galaksijas out of this :)

12/2/2020, 5:01:30 PM

Favs: 3

Retweets: 0

Vlado Vince

@mejs

Retroinfo just published my article about building a #Galaksija. It's in BCS, but there will be an English version soon. Big shoutout to @PEEKANDPOKE museum - had I not visited this summer I would never have gotten into YU computers and built this! https://retroinfo.hr/vladimir-vince-galaksija-moja-prica/

12/3/2020, 10:43:20 AM

Favs: 11

Retweets: 3

Vlado Vince

@mejs

This article is focused on the tech. I'm also working on an accompanying piece which will focus on the history and culture that developed alongside this lovable computer. #galaksija

12/3/2020, 12:16:34 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

It's been a while since I posted about the Galaksija, but the old reliable is getting ready for my exhibit at @vcfederation East in October! This is a very early look at a demo I'll be showing off.

8/29/2021, 7:08:41 PM

Favs: 5

Retweets: 0

Vlado Vince

@mejs

So far I plan to have a Galaksija and my Orao replica (featuring my PS/2 keyboard adapter), as well as a C64 and a ZX Spectrum to tell the story how they quickly dominated the market after the Galaksija helped open up the country to imported computers https://twitter.com/mejs/status/1427997568529747979

8/29/2021, 7:13:28 PM

Favs: 2

Retweets: 0

Vlado Vince

@mejs

Been a while since I posted about the Galaksija, but I'm so excited to see other people making their own! Here's @stungbysegfault building one. Is this the first YouTube video of Galaksija getting assembled?https://twitter.com/stungbysegfault/status/1509889547974418436

4/2/2022, 10:04:54 AM

Favs: 1

Retweets: 0