ZX81 repair & mods

Hallo, Fangemeinde alter 8-Bit Rechner!

 

Ich bin Rico, DL1RIC, und seit kurzem in Besitz eines ZX81 – vertrauensvoll überlassen von Lucian, IZ6NNH. Danke nochmals.

Der Rechner funktionierte bis auf die Speichererweiterung. Da gab es das übliche Kontaktproblem am Edge Connector. Also das Memorypack 32k  erst mal aufgeschraubt und mittels Seitenschneider alle Verbindungen zur 46 poligen Buchse gekappt. Aus einem alten Motherboard habe ich dann einen ISA-Port herausgesägt und diesen auf die 2 mal 23 Pins bearbeitet. Zu beachten ist dabei, dass es keine Verbindungen zwischen den Kontakten gibt. War bei mir so. Schlimmstenfalls liegen die +9V auf irgendeiner Leitung und das wars dann für den Rechner. Also mit einem Durchgangsprüfer systematisch alles „durchklingeln“.

Verbliebene Kontakte auf dem Memorypack so biegen, dass, wenn die „neue“ Buchse angelötet wird, das Gehäuse auf der Unterseite der Buchse keinen Kurzschluss verursacht.

 

Nach dem Zusammenbau, nochmaligem Test auf Kurzschlüsse und Zusammendrücken von Pin 3 und 44 der Buchse zur Mitte (Positionierung der Buchse am Connector) stecken wir das Teil mal an. Nach dem Einschalten erfolgt ein kurzes Zucken auf dem Bildschirm und nach einigen Sekunden der Prompt „K“. Falls man sofort nach dem Einschalten diesen sieht, dann ist nur der interne 1k-Speicher aktiv. Also noch mal durchchecken…ggf. Stromaufnahme prüfen. Ohne Modul ca. 0,25 A und mit ca. 0,45 A bei 8,5 V DC in. Im Modul ist ein PROM verbaut…der zieht schon gute 100 mA.

Ok. Also der Prompt wird angezeigt…und mit dem Befehl DIM A(3000) reservieren wir einen Speicherbereich, der auf den externen RAM zugreift. Nach „NEWLINE“ erfolgt im Normalfall die Ausgabe 0/0. Somit sehen wir, dass die Erweiterung funktioniert.

Falls die Anzeige 4/0 erscheint, dann wird der RAM nicht angesprochen.

 

Somit hätten wir einen Rechner mit einer Speichererweiterung und fertig zum Einlesen und Ausgeben von Dateien auf Magnetband. Die Anzeige erfolgt bei mir auf einen LCD TV.

Der Vorbesitzer baute den internen UHF Modulator auf Video Out um. Tutorials gibt’s da zuhauf in Internet. Das Problem mit dem fehlen der Schwarzschulter hatte ich nicht, da hier eine neuere ULA verbaut wurde (210er statt 184er). Das Bild sieht echt gut aus.

Als Aufzeichnungsgerät nutze ich ein Notebook mit einem Audiobearbeitungsprogramm.

Dafür schnell ein Kabel gebastelt…für den ZX81 alles Mono Klinkenstecker und für den PC Monostecker für Mic Eingang und Stereo Klinkenstecker für Kopfhörerausgang…nur ein Kanal belegt. Alles in 3,5 mm Ausführung. Achtung! EAR Buchse vom ZX81 geht zur Kopfhörerbuchse des Notebooks.

Den Aufnahmepegel am Notebook so einstellen, dass er bei 0 dB liegt. Und da es der ZX81 schön laut mag, stellen wir die Lautstärke am Notebook auf max.

 

Als nächstes hatte ich vor, die leidliche Eingabe der Load und Save Befehle nebst Anhängsel zu automatisieren. Also Schaltplan vom ZX81 hergenommen und geschaut, welcher Kontakt die Ausgänge der ULA (KBD 0-5) und die Adresseingänge schalten.

Ich wollte 2 Befehle schalten: Load „“  und Save“A“. Den Buchstaben A nahm ich, da er keine weitere Leitung benötigt. Und ohne Buchstabe speichert der ZX81 nicht.

Ich brauche für Load: Load -Shift „“-Newline und für Save: Save-Shift“-A-Shift“-Newline. Also einen ATtiny2313 genommen, schnell ein Programm in Bascom geschrieben und eine kleine Lochrasterplatte dem Gehäuse angepasst und bestückt.

Das Programm ist einfach gehalten…die Pausen zwischen den simulierten Tastendrücken betragen eine halbe Sekunde, damit der ZX sicher hinterherkommt. Könnte mittels ändern der Konstante n sicher noch verkürzt werden.

Die Lochrasterplatte ist dem Gehäuseinneren angepasst. Ich habe für die Taster eine vorhandenes Loch zur Aufnahme einer DIN Buchse benutzt – einer der Vorbesitzer hatte sich hier schon verewigt. Die Taster bekommen noch Gummikappen – der obere Taster ist der Reset Knopf. Einfach ein Kabel vom Edge Connector Pin 21 (transparentes Kabel im Bildvordergrund) über den Taster nach Masse.

Gesamtansicht der Leiterplatte.

Als nächstes Projekt plante ich eine Ansteuerung einer Z80 PIO.

Im Internet fand ich einige Dokumentationen dazu – ebenso eine downloadbare PDF-Datei eines Buches „Programmieren in Basic und Maschinencode mit dem ZX81“.

Sehr einfach gehalten gibt dieses Buch viele nützliche Tipps zu diesem.

Es wird dort auch eine Ansteuerung einer PIO behandelt. Der Aufbau ist leicht und das Programm kurz. Es stellte sich heraus, dass die Adresse für die Daten zum Port B den Rechner zum Absturz führte. Es handelt sich um F9. Selbst ohne Erweiterungen am Rechner stürzte dieser ab. In einem ZX81 Forum fand ich eine Änderung der Beschaltung des LS138 und der PIO nebst den Adressen dazu. Also schnell umgebaut und Programm umgeschrieben… et voilà…es funktioniert.

Hier der Schaltplan:

Alles wieder auf Lochrasterplatte aufgebaut und eine weitere Buchse für den Edge Connector hergestellt. Und nochmals: Vorsicht mit Pin 45 – da liegt DC in an. Wer will, kann dort einen 7805 anschließen, um eine getrennte Stromversorgung für die Schaltung zu erstellen.

Die PIO benötigt ca. 50 mA und alle Dioden zusammen ca. 300 mA. Die Low-Power-Schottky IC’s sind vernachlässigbar. Ich hab es direkt an die 5 V vom ZX81 angeschlossen. Somit entnehme ich dem internen 7805 ca. 600 mA. Über ihn liegen 3,5 V. Also knapp 2 Watt Verlustleistung. Das Kühlblech müsste ausreichen.

Ich habe dafür keine Leiterplatte entworfen … noch nicht, da man hier noch einige Änderungen vornehmen kann.

Das Programm für die Steuerung habe ich aus dem Buch übernommen – nur die Adressen für Port A und Port B sind geändert.

FA à D7

FB à DF

F8  à C7

F9  à CF

Als erstes Programm ( hier auf dem Bild unvollständig) einen Test der Ports mittels Eingabe einer dezimalen Zahl 1 – 8.

Also LED 1 – LED 8.

Mit „8“ leuchten alle LED’s.

…und so weiter.

 

Ausblick:

 

Ich werde mich weiter mit der Programmierung der PIO beschäftigen – da gibt es noch viel Potenzial. Sicherlich kann man das heute mit viel einfacheren Mitteln realisieren:

Der ATtiny 2313 hat von Haus aus viel mehr Leistung als der ZX81.

Aber es macht Spaß, sich mit dieser über 40 Jahre alten Technik zu befassen.

Erfolg garantiert.

 

Rico

DL1RIC

 

Posted in DIY

12V to 6kV High Voltage transformer

The primay power source in my home made X-Ray machine is an high-voltage high-frequency transformer. This transformer is drived by a Mazilli ZVS circuit and it’s capable to output 6kV from 12V. It’s input circuit uses a center tapped coil drived in balanced way by two mosfets of the ZVS, with input voltage feeded into the center tap. This gives balanced sinusoidal waveform on it’s output. Sin wave helps the “slow” high voltage diodes of the HV multiplier chain to turn ON and OFF correctly minimizing RFI generation.

Transformer characteristcs:

  • Nominal allowable output 4.5-7.5kV @ 10mA from 10-15V@ 8A
  • 50kHz working frequency
  • Completly encased in epoxy
  • ZVS drive. Primary winding is a center tapped coil
  • ETD54 N87 ferrite core ungapped and #B66396W1022T1 Epcos coil former
  • Primary winding 4+4 turns of 2.5mm2 wire
  • Secondary HV winding 1400 turns 0.2mm dia CuEn

The realization of such kind of transformer presents many challenging problems to be solved. First one is insulation. I’m using standard ETD54 horizontal plastic coil former.

This requires an 8mm clearance/creepage free space between every single layer of the secondary high voltage winding and the side walls.

The insulation between ferrite core and first layer is insufficent because Epcos coil former is not rated for 6kV. I’ve fixed it wrapping a first insulation layer of 4 turns of 0.2mm thick PTFE tape. Each layer is made winding side by side 100 turns of the enameled wire. In total I’ve 14 layers with 0.4mm thick layers of PTFE between each coil winding layer.

The primary is periferic and very far from inner core. The need of a massive insulation between secondary and primary resulted in 3mm total thickness of PTFE tape. I’ve feared that positioning it near the core coud let me not enought space for the primary into the coil former. Winding the primary on external side of the coil former gives me some clearance even I exceed the coil former sides height. The HV output terminals are soldered to silicon insulated HV cable rated 10kV and the whole transfrmer is encased into epoxy. This prevents any kind of corona effect induced disasters like arcing, fire and smoke and gives to the whole trafo a mechanical rigidity and protection. I’ve made a custom cardboard mould for this.

The top of the transformer is separate from the bottom of the cardboard mould by a couple of insulating paper risers of 10mm diameter to let the epoxy to fill every side of the transformer with sufficent thickness

Posted in DIY

X-Ray dental film ECO 30

Hello! I’ve tested this “Dentalfilm ECO30” and “Ergonomix” with my improvised X-Ray machine.

Them are self developing film for X-Ray imaging of dental implants etc. Them are relatively small like 35x24mm but are also extremly sensible, sharp and easy to use. A secure way to get some decent results from your X-Ray improvided machine. The small size results ideal for imaging of IC’s and insects. I’ve no insects but I’m full of IC’s so…

64kb 8bit SRAM from Z80 computer project in SSOP package

 

5W white led over 2mm alluminium heathsink. Sadly it moved during exposure

 

Generic TQFP IC

 

Posted in DIY

X-Ray machine V1

Finally I’ve made it! Yes, I’ve built an X-Ray machine for non destructive inspection of circuits and objects.

The level of radiation generated by this device is sufficent to induce cancer or radiation illness, please don’t build and don’t operate such device. There is also another risk: it requires very high voltage to be operated. It generates very high and potentially lethal voltages.

How it’s made this demostrative prototype of X-Ray machine?

Look at my device. From the left to the right you can see:

  1. HV generator, ZVS type, drives a TV type flyback transformer. It’s not used in flyback mode because ZVS outputs a pure sinewave so it’s just working  as standard high frequency transformer. It’s output it’s around 15kV with 16V drive voltage. The ZVS diver starting voltage is 7V so, changing the voltage into the range 7-32V I can select output voltage. The whole assembly is enclosed into an electrical juncton box and insulated with silicon gel.
  2. SHV 6 stage voltage multiplier. This part it’s made with a 6 stage voltage multiplier enclosed in epoxy. It takes the 15kV input and multiply it x6 to the output. It’s maximum output voltage with 16V input to the ZVS is 90kV. I’ve operated it to 120kV maximum without any troubles for diodes and It’s scarry!
  3. X-Ray tube. This unit is a generic replacement for medical use. It’s a surplus tube from Ukraine and was made during soviet era. The big copper disk on the bottom is the anode. The two black wires on the top are the filament wires. You have to connect one of the two leads to the multiplier GND in order to provide a return path to the catode for the electrons that will circulate into the tube during operation.

How to generate X-Rays?

Basicly you just need to properly feed an X-ray generator tube. What it needs to be happy and hot? A proper high voltage for the anode and enought current flowing into it’s filament to heat the catode.

The heated catode generates a cloud of electrons around it that are accellerated to the anode by HV. When they reach the anode, the hit force is enought to convert some of them into X-Rays.

The ZVS driver, the HV flyback, capacitors and diodes used for the high voltage multiplier where bought from highvoltageshop.com

You can see a similar schematic of the ZVS sold by them:

The high voltage multiplier is made stacking 6 Cockcroft-Walton voltage doubler circuits.

Some more pictures of the multiplier and the X-Ray tube:

 

Using an X-Ray image intensifier screen positioned after the item to be inspected, you can take pictures of the shadows left where X-Rays cannot pass the object or are attenuated. Higher density appares as higher density shadows on the improvised “fluoroscopy” screen. You can get a proper X-Ray intensifier by scrapping an X-Ray medical cassette. Medical X-Ray casettes have glued on  inner sides this kinds of screens. Them are sold on eBay with specified emission color and sensibility like blue or green fluorescence emission ORTHO 100 or 400.Look at the pictures below.

 

Carefully regulating high voltage and filament current, you can generate X-Rays into a broad range of energy so you can “trim” them to acomplish the needed job. For metallic objects you’ll need higher voltages, for insects you’ll need much lower voltages… you have to experiment. I stronly recomand the use of a CCTV circuit to see what appares into the fluoroscopy screen from a protected remote location like a different room. You can use a standard analog BW CCTV camera and a cheap LCD screen that accept AV input. It’s usually a yellow RCA female connector on the screen back or side. Use a remote control of the HV generator. You can leave filament turned ON but stay away protected by at least a concrete wall during operation.

This is how looks an X-Ray intensifier screen that have blue characteristic. It’s a very fine grain screen. You can notice that the subject it’s a BDEG scintillation probe. The NaI(Tl) crystal on bottom it’s very dark because of it’s high density. The 1mm alluminium enclosure is clearly visible but it still permit to see the glass photomultiplier tube. Look how much free space there is between photo katode and first dynode! The glass body of the PMT is very evident. You can see also on the lower end of the image the yellow light emitted by the filament of the X-Ray tube. To protect the X-Ray intensifier for this light I’ve glued on it’s back a black cardboard pannel but… some light leaked!

Posted in DIY

Lead castle

A lead castle, also called a lead cave or a lead housing, is a structure composed of lead to provide shielding against gamma radiation in a variety of applications in the nuclear industry and other activities which use ionizing radiation.

This is what Wikipedia says about lead castle. In fact, to make gamma-ray spectrometry of samples of very low activity you’ll need to use a lead castle. You can see the gamma rays emitted by your sample to be measured as signal and background radiation as noise,  using a lead castle, it will shield your sample from background radiation improving signal/noise ratio of your measure. I’ve built mine from a camping inox stove, a tin can and some lead scrap.

First thing to do is search for a good inox stove of proper shape, it will be the external container of the lead castle. Second thing is buy a tin can of proper size to be burried inside the castle. It will become the inner wall of the well.

Is a good idea to cover the external surface of this tin an with 1mm of copper foil. It will supress the xray generated by the interaction of gamma rays from the sample to be tested and lead shield.

You can melt some lead with a torch into a proper steel can and pour it to form the lead shield. First, do this outside! Lead is cancirogen so, better to handle it with gloves and in open air.

I’ve then poured a 16mm thick lead shield to form the bottom of the lead castle.

Then I’ve puttend iside the inner tin can blocking it in place with the help of a 10kg hammer positioned over it. Remember the hydrostatic lift force! Lead is ultra dense, the lifting force generated by the lead displacement caused by the little tin can must be neutralized via an heavy weight object positioned over it. Finaly complete the castle pouring molten lead into the walls. This is the final result.

It will take many hours to coold down. I’ve tested it’s effectiveness putting inside it a Cs137 calibration source and measuring it with my 40x40mm NaI(Tl) scintillation probe. I’ve made two measures, one from inside and one outside the castle, keeping constant the distance between the source and crystal. Result? Take a look at the following picture.

 


Matthias Doe sent me some pictures of how his made it’s lead castle. Take a look and thank you Matthias!

This is the final result
Posted in DIY