It’s been some time again that I manage to find time and energy in the later evening hours to write here on the blog about one of my little projects. Over the past few years, I’ve gotten into the habit of listening to podcasts during car rides and at night. These primarily include podcasts on technical topics. Among them is a podcast called “Retrokompott” which is about home computers and technology from our youth. Their tagline is:
Retrokompott, eine Zeitreise in die Vergangenheit alter Homecomputer, Spielekonsolen und Games
In one of the contributions of Retrokompott one discussed for some episodes (172-177) about the Vectrex, the home – vector game machine of MBE. Among other things, homebrew projects, i.e. software developments of the users, were presented. “Vectorblade” is a game title, which was developed by Malban [http://vide.malban.de/]. The project was created with the Vectrexcompiler (vide), also developed by Malban. The sources are publicly available on the website. In the “compote” article, people were so enthusiastic about Vectorblade that my interest was piqued. The game module was also available for purchase through Malban for a while. However, I have not found a source through which I can easily purchase the module. So I thought, I’ll just rebuild it for myself. The special thing about this gamerom is the size of the game. It has 192 kB. To address this memory, Malban used bank switching technology. He uses a flash memory from SST, the SST39SF020, in his design. The bank switching is controlled by a quad 2-input NAND Schmitt trigger (74AC132). Malban has published on git the layout. There he uses the memory in the DIL package and also the AC132. Detailed instructions can be found here.
Since I still have some boards left over from my old homebuilt Rom module project, I was able to quickly put together a test setup. I didn’t have any flash memory available – but a sufficiently large EPROM. The video compiler and the source files are also published on Malban’s GIT. After a short study of his vide-compiler I managed to compile the project and create a ROM – file. With my “Far East Programmer” I could then “burn” the EPROM. With a few wire bridges and an AC132, my old ROM board project then became the Vectorblade experimental setup.
With the exception that no settings can be saved, the test setup works and the game can be played :). The next step of the rebuild was to draw the PCB. Here I wanted to build in the Schmitt-Trigger device in SMD design and the SST still in DIL. I also realized this design and tested it successfully. But there is a little catch – none of my suppliers has the SST39SF020 flash memory in DIL design in stock. I have now some boards with DIL – layout but no chips… So once again to the PC and redraw the design on PLCC socket. Thought – done and ordered a set of boards from the Far East producer.
A suitable case can be created with the 3D printer itself. To be more precise, I found what I was looking for on Thingiverse and was able to choose from a variety of suitable designs.
The overlay is missing, but the game is fun even without it. Malban has managed to create a great game here.
For the Vectrex game console a home arcade machine from 1982, there were, or there are a very limited number of game titles available. I will present the Vectrex itself, or the restoration of this darling, in a separate article.
The games were available in the form of ROM modules and had to be inserted into the side of the console. Today, like the console itself, they are pretty rare and difficult to find. In terms of price, they are usually not bargains either. There are also replicas, multiroms and some DIY projects that keep the game program or even several games saved on the basis of the old EPROMS and were thus playable via a “module”. Since I also have all sorts of Eproms with different sizes in the component store and also got a couple of 27C512 Eproms sponsored by a colleague (thank you Jürgen), I just had to try to tinker with a ROM module.
So quickly thought about what I would need for this. Here is a small list:
old EPROMS (I use Eproms that can be erased with UV light)
an Eprom programmer (in the back corner of a box I found a ChipLab programmer with a parallel interface)
an old computer with a parallel interface and an older operating system (Windows XP). Fortunately, I once again did without disposal and brought an old laptop back to life.
software for the programmer (here I use “ChipLab” which can run on WindowsXP with the help of “porttalk22”)
the binary data or HEX files of the original ROM modules (you can use the internet search for this)
a layout tool (Autodesk Eagle)
a craft shop where you can etch circuit boards, or an account with
a Far Eastern PCB manufacturer
Soldering tools and small parts
and of course a Vectrex – otherwise none of this makes any sense
In order to determine the memory requirements of the Eproms, I first have to know the size of the games. Here is the list of titles and their size:
Games with a size of 4 kB (4 kilo bytes). This corresponds to an address range from hex 0000 to 0FFF
Armor Attack
Art Master
Bedlam
Berzerk
Clean-Sweep
Cosmic Chasm
Engine Analyzer
Hyperchase
Minestorm 2
Rip Off
Scramble
Solar Quest
Space Wars
Star Castle
Star Hawk
Star Trek
Games with a size of 8 kB (8 kilo bytes). This corresponds to an address range from hex 0000 to 1FFF
Animaction
Blitz
Fortess of Narzod
Heads Up
Melody Master
Pitchers Duel
Pole Position
Spike
Spinball
Tour de France
Web Wars
Games with a size of 12 kB (12 kilo bytes). This corresponds to an address range from hex 0000 to 2FFF
Dark Tower
Next, I’ll take a look at the Eproms for pinout and size. I have two sizes available for the number of pins. Eproms with 28pin and 32pin in DIL housing. The following types belong to those in the 28-pin housing:
27c64 8k x 8 bit so 64 kb (kilo Bit)
27c128 16k x 8 bit so 128 kb (kilo Bit)
27c256 32k x 8 bit so 256 kb (kilo Bit)
27c512 64k x 8 bit so 512 kb (kilo Bit)
The pinout is identical except for the different number of address lines. However, the 1Mbit variant 27C1001 (27C010) has a different pinout.
The next step is to look at the pinout of the Vectrex module bay. The pin numbers of the module are marked in the picture below.
The signals associated with the pin numbers can be found in the Vectrex circuit diagram of the mainboard. The picture below shows an extract from the circuit diagram with the area of the 36-pin cartridge connector. (Source: console5.com)
All the information you need to start with a circuit diagram and layout has now been collected. I looked for an eagle layout for the circuit board connector on the web. But nothing could be found straight away. So an original ROM module had to be used as a reference for the dimensions and spacing of the contact pads. With the dimensions removed in this way, it was quickly done and I had drawn a new Eagle component and saved it in the library.
I drew two variants of the module circuits. One for the EPROMs with 28 pins and one for the 1Mbit ROMs with 32 connection pins. (Since there is also space for more games here) In order to be able to distribute all possible sizes of games differently on the EPROM, I have made address bits 12, 13 and 14 switchable. In such a way that these three address lines can either be controlled by the Vectrex or selected externally by the operator using DIP switches (L / H). Bits 15 and 16 (can also be selected via DIP switches).
The following table shows a few examples of how the start addresses of the games can be selected.
bit
16
bit
15
bit
14
bit
13
bit
12
bit11-bit0
game adresses
adresses
start – end (hex)
L
L
L
L
L
at 8k game
0000 – 1FFF
L
L
L
H
L
at 8k game
2000 – 3FFF
L
L
H
L
L
at 8k game
4000 – 5FFF
L
L
H
H
L
at 8k game
6000 – 7FFF
L
H
L
L
L
at 8k game
8000 – 9FFF
L
H
L
H
L
at 8k game
A000 – BFFF
L
H
H
L
L
at 8k game
C000 – DFFF
L
H
H
H
L
at 8k game
E000 – FFFF
H
L
L
L
L
at 4k game
10000-10FFF
…
…
…
…
…
and so on…
…
Provided, of course, that the game data was written to the EPROM in this way. To do this, I use one of the many freeware hex editors (HxD) and assemble a binary file from the individual game images. This “file” is then imported into the ChipLab software, the correct EPROM is selected from the database, then the chip is inserted into the programmer and off you go … (First, check again whether the chip is empty. Otherwise it has to ” topless “in the sun, or under the UV lamp (for about 15-20min)
Once the chip has been filled with bits and a layout has been made from the circuit diagram, a prototype can be etched. To do this, I was able to use our company’s etching system in a short lunch break and remove the unnecessary copper from the board using etching technology.
After exposing a double-sided board coated with photopositive lacquer and then developing it, the excess copper can be removed with EisenDreiChlorid. What remains is the desired structure.
Sometimes a selfie in between. It takes about 57 seconds to expose the circuit board to UV light. Enough time to take stupid photos with the phone: D
The next step is to drill the holes in the board. The vias (VIAs) from the top to the bottom layer are not implemented in the prototype by galvanic application of copper in the holes, but by hand by pushing a piece of silver wire through the hole and then soldering it on both sides.
Now all that’s missing is the assembly. But it is done very quickly. Because apart from the IC socket, a couple of pull-up resistors and the DIP switches, there isn’t much on the board. So solder the few parts, put the chip in the socket – and the ROM module is ready.
What the finished module looks like on the Vectrex and, above all, how it works, I’ll show you in a short video. I also embellished the board a bit and commissioned it as an industrially manufactured circuit board from a Far Eastern printed circuit board manufacturer …
(small update on October 20, 2020)
The circuit boards made in far east have come and, in my opinion, look quite acceptable. A board is quickly assembled … here is the result:
It was some time ago that I edited and prepared this darling. Writing a post about it is a completely different topic. I have often thought to myself that one could film the repairs and preparations right away and then make a small film out of them and publish it on a video platform … Well, at least now, in the meanwhile second Corona Lock down and a sleepless night, I am sitting in front of the computer again and try to write a few lines about this piece of ingenious hardware. I have never owned this “ingenious piece of hardware” myself and found out about its existence late, but when I had read a little bit, I had to have one – but of course at an affordable price. As always, we searched for defective devices for a long time – and since they were only manufactured for a short time, they are also rare and difficult to find. But after a long search I was lucky and found a defective, but partly complete device. As already written above in the title, it is about the (or “the”) Vectrex.
The Vectrex is a home arcade machine, with a 24cm monochrome picture tube, a fold-out and also removable joystick. This slot machine is a complete “stand-alone” system that only needs a power supply from the socket and you can start right away. The game of the Vectrex is called “MINE STORM” and is a clone of the ASTEROID game. So at that time you bought an ASTEROIDS machine for your home. When I speak of “then”, it means from 1982 to 1984. Because the US company General Consumers Electronics (GCE) started selling the machine in 1982. At that time, however, Atari was already on the market with the 2600 and enjoyed great popularity. The sale of the C64 by Commodore was also imminent. These events reduced the chance of the Vectrex’s big breakthrough, especially since the starting price of $ 200 was not a bargain. The sales company GCE went bankrupt in 1984. In Europe, “MB” Milton Bradley was the rights holder from 1983 and sold the Vectrex (or which?). In order to not only have to play the integrated MINE STORM, there is an expansion port in which game modules in ROM form can be plugged. There was a manageable amount of game titles – by that I mean, there weren’t that many. I mentioned a few of them in the post “Homemade game module for the Vectrex”. But there is still a community today that deals with the hardware and software for the Vectrex and develops its own games (so-called homebrew games). On the website vectrex.de you can find a rich collection of information about the hardware. Youtubers like Zerobrain and Wolfgang Robel also deal with this topic and have published interesting articles on it.
So – but now to the technology of the console. The Vectrex consists of a black plastic housing. Built into it is a CRT (in German a cathode ray tube, i.e. picture tube) in portrait format. A board for controlling the tube with the high voltage generation and drivers for the deflection coils. Then there’s a 50 Hz mains transformer that serves as a low-voltage supply for all of the electronics. It should be noted here that the primary side of the transformer is connected directly to the mains cable as the 240VAC side. The transformer ALWAYS consumes energy. The combined volume / mains switch is attached to the low-voltage side and only separates the electronics. The transformer always remains connected to the network. So if you are not using the device, you should also pull the power plug.
To continue with the list of innards: What is still missing is the, well, not entirely unimportant part – the mainboard with the “computer”. A 6809 CPU from Motorola works on it. This is an 8-bit CPU that is driven with a clock rate of 1.6MHz. The clock is generated by the on-chip oscillator, which only needs the quartz in the outside world. As always, the exact technical features can be found in the data sheet. A three-channel synthesizer sound chip, the AY-3-8910, is installed to generate the sound. Unfortunately, savings were made in further signal processing and the audio signal has to take along almost all of the radiated interference on the way to the audio amplifier that the power levels emit to control the picture tube. But that is a well-known phenomenon. The Vectrex is known for the “I call it” messy, noisy sound output. But this also shows the originality of the early consoles. Allegedly the last generations should not have this problem anymore before the end of the sale. So far I have only got to know the noisy Vectrexes.
From sound to picture. And that’s also one of the big differences from traditional video game consoles. A conventional game console as well as any television receiver rasterizes the image. The electron beam of the tube means that the image information is written line by line onto the luminous layer. Depending on the standard, there are differences here, such as field processes or the number of lines or the number of image changes. But the principle is the same for all raster writers. At the top left, you begin to write a line with the different brightness and color information. Then the beam reaches the right end of the picture edge and is switched to dark in order to start again very quickly in the next or (depending on the method) the next but one line. With the PAL system the time from left to right was 64µs and that with 625 lines. That means a complete picture was written in 0.04s. This in turn means that in one second you can achieve a number of 25 displayed images:
64µs per line * 625 lines = 0.04s per image * 25 images = 1 second
So far so good. The electron beam was deflected by means of magnetic fields via coils on the neck of the picture tube.
It works a little differently with the Vectrex. The name Vectrex, according to my approach, comes from the term “vector” by definition: size that is represented as an arrow running in a certain direction with a certain length and which can be determined by various information (direction, amount). In the data sheet of the Vectrex one reads with a screen resolution of 256×256 positions. This means that, starting from its zero position (i.e. both deflection coils do not generate a magnetic field), the electron beam can be deflected in 128 steps up, down, left and right. (both axes each have a resolution of 8 bits). How does it work now? Let us assume that a small triangle is to be displayed in the upper left area of the screen. We assume that the left edge of the image is at x = -128, the right at x = + 128, the upper at y = -128 and the lower at y = + 128.
For this purpose, the electron beam is deflected from its zero position to the top left, for example in x = -50 and y = -50. From there it drives to the next point of the triangle e.g. -40 / -60 and from there to the next (e.g. -30 / -50) and then back again to -50 / -50. While approaching these three points, the electron beam is switched to light. So he draws the triangle. From the last point and also the first point of the closed triangle, it goes back to the zero position and of course with the electron beam switched to dark. As long as the triangle is displayed on the screen, the process is repeated at maximum speed in order to see a nice, flicker-free triangle. Now you can imagine what happens if a lot of symbols are to be drawn at the same time. Of course that is not possible. The beam must approach and draw all symbols one after the other. This means, in turn, the more symbols, the longer it takes until the image is completely drawn and, conversely, the slower the refresh rate. So the more graphic symbols, the more flicker.
The X / Y data are generated digitally as 8-bit values and converted into an analog voltage via two 8-bit DA converters (digital / analog). This voltage is adapted to the non-linear behavior of the deflection electronics (using OP-amp integrators) and fed to a two-channel amplifier stage, which also creates frequencies in the higher kilohertz range and is able to drive the deflection coils, i.e. inductive loads. And what is available here: An audio output stage from an audio amplifier. And that’s exactly how it was solved here. Under the heat sink is a LM379 dual 6W audio amplifier IC from National Semiconductor. A nice detail on the side: The high-voltage transformer is IC-clocked by an NE555 …
In order to be able to operate the games on the Vectrex, a removable controller – i.e. joystick – is integrated with four buttons in the form of the lower front cover. The two-axis stick consists of two potentiometers with which a fine, “quasi stepless” control of the game objects is possible.
Well, and such a console, or Home Arcade, or just such a treasure, I found cheap after an endless search. With a few problems, of course. First and foremost, it was important to me that everything was complete and that no parts were missing if possible. From the outside, everything was there, except for a cut power cord. The controller was complete – the spiral connection cable was not missing either and was in good condition. Unfortunately, someone had already tinkered with the controller housing and tried to pry the two housing halves apart with a screwdriver, but apparently had not considered that there are a number of screws under the upper sticker that hold everything together. The case looks accordingly today. – Unfortunately-
Due to the accumulation of dust and the musty smell, the Vectrex had apparently spent the past 35 years in a cellar or attic. So my plan was to completely dismantle the whole device and check for completeness at the same time. As soon as I opened the case screws, I noticed that a couple of screws were missing. So there was already someone inside. After the complete dismantling, intensive cleaning was required. More precisely, it was more of a washing. So everything from the picture tube, the deflection unit to the boards had to go into the soap bath. After drying, the result can also be seen. The parts look like new again. Repairs could now begin.
In the end it turned out that apart from a few small things there were no major problems. At first the power switch was so resinous on the contacts that no closed contacts could be reached at both poles. Then there was no high voltage on the tube – here the transistor BU407 was defective and only switched through very tired or not at all. The various pots needed a little affection and one or the other capacitor still had to be replaced. But that’s about it. Below I upload a few pictures of the cleaning and repair work.
Behind the title mentioned in the article headline is my idea of tidying up the “ingmarsretro” blog and tidying it up a bit. By “cleaning up” I mean checking the individual posts again for spelling errors, maybe reformatting one or the other post and adding to it. That is why there will be no other contribution in January 2021.
There are also plenty of new posts that are digitally saved on the server, but there is no paper version of them yet. So I want to put all the posts that have been created since the last backup back on paper in the form of a book. And unfortunately that is not done in a jiffy, but requires a lot of work. The job and the “family time” with my little son only allow me to work on the contributions mostly at night. And between the posts I also work on the projects (little projects) that I then write about. I also have a lot of them in my head that may one day be realized. And then there are some that I’m working on that are still to be completed, or at least should be continued.
For the last few months I have been working on a Nixie clock that should be set up fairly discreetly. The watch has meanwhile also achieved a reasonable status, so that circuit boards from self-etched prototypes to reasonable, industrially manufactured condition have been created here.
The “tube radio receiver” that I started with a few years ago is also waiting to be tinkered with.
Of course, the topic of retro computers does not let me go either. Here are a few devices left to restore and wait to be brought back to life. (This is where I remember right away: I’m looking for a RUN / STOP button for a Commodore Plus 4 – I would be happy if any reader could help …)
The project with the MOS8501 CPU as a lattice – FPGA – mini board is also in the “carry on queue”. There is still a lot to do here (the level shifters are not doing as they should, the VHDL code still needs to be adapted, the prototypes Circuit boards have to be combined on one board and then also miniaturized …) So there is still enough to do.
Then there are also old devices that I would like to present here in the blog and a number of repairs that keep falling into my hands … Also one or the other HomeMatic tinkering is still pending.
I also toyed with the idea of publishing content from the blog in the form of videos on YouTube. On the one hand, however, I cannot assess whether someone is interested and whether I would like to do that to myself, to present my face in front of the camera. It would probably make more sense to do it with a more didactically gifted person as the protagonist. And of course for Lau, as fun. On the other hand, there are quite a few Youtubers here who are very experienced here (e.g. Dave Jones with his EEVblog, NoelsRetroLab, Adrian’s Digital Basement, GreatScott, ZeroBrain, JanBeta, etc.) and have been doing this for a long time. Also not to be neglected is the immense effort involved in producing such films. When I look at my assembly videos here: It takes almost one day to record the raw material when soldering the respective kit and, in total, almost three days for the cut and post-processing. Let’s see if something can come of it one day …