Google Analytics

26 maart 2022

Bouw: De "mini" Microcomp-2 een controversiële computer

In 1981 verscheen in Australië het eerste nummer van het elektronica tijdschrift Talking Electronics, opgericht en gepubliceerd door Colin Mitchell. 

Het eerste nummer van Talking Electronics

Het tijdschrift verscheen onregelmatig en was gericht op de beginnende elektronica hobbyist. Het  bevatte allerlei leuke ideeën voor het bouwen van diverse zelfbouw schakelingen. In mei 1989 verscheen het laatste nummer: 15.

Het Microcomp-1 ontwerp

In de delen 13 en 14 verscheen het ontwerp voor een computer gebaseerd op de Z80 processor met een minimum aan onderdelen: De Microcomp-1. Deze computer bestond uit slechts 3 IC's en bevatte 2 7-segment displays, een 4x4 led matrix, 8 uitvoer leds en een buzzer. Daarnaast bevat het een reset knop, twee bedieningsknoppen A en B en een 8 voudige dip schakelaar waarmee een programma kan worden geselecteerd.

Het printontwerp is enkelzijdig waardoor er veel draadbruggen nodig zijn en ook de led matrix dient aan de achterkant met draadbruggen aan elkaar te worden verbonden. De afmeting van de printplaat bedraagt ongeveer 17 bij 10 cm.

Er kunnen ook uitbreidingen op worden aangesloten zoals een telefoon kiezer, een morse trainer of een 4 cijfer display.

Het controversiële aan dit ontwerp is dat de Microcomp-1 geen RAM geheugen heeft, alleen een EPROM waarin het programma is opgeslagen. Dit beperkt de mogelijkheden van deze computer behoorlijk aangezien alleen de 11 interne registers en de 7 schaduw registers van de Z80 kunnen worden gebruikt voor het vastleggen van gegevens. Bovendien kunnen bepaalde Z80 instructies die met de geheugenstack werken zoals CALL/RET, LD (xx),yy, PUSH/POP en RST xx niet worden gebruikt.

Nu (2022) ruim 40 jaar later is Colin Mitchell nog steeds actief en biedt de meeste van zijn ontwerpen aan als kits via internet. De Microcomp-1 ontbreekt helaas en daarom heeft Brian Chiha met toestemming van Colin een nieuw kleiner formaat (12 x 6,5 cm) printplaat ontworpen: de "Mini" Microcomp-2.

Op deze nieuwe dubbelzijdige printplaat zijn geen draadbruggen meer nodig.

Deze PCB is als Shared Project te bestellen bij PCBWay.
Hoewel je voor deze computer niet direct een praktische toepassing verwacht, heb ik toch een nuttige inzet gevonden: een Z80 Central Processing Unit (CPU) tester.

Veel eenvoudige CPU-testers werken als zogeheten NOP-testers. NOP (No Operation) is een processorinstructie die zelf geen bewerking uitvoert en alleen de programmateller verhoogt. Ontwikkelaars gebruiken deze instructie vooral bij het testen en debuggen van software. Wanneer je leds op de adreslijnen aansluit, knipperen deze bij een correct functionerende processor. Zo controleer je echter slechts een klein deel van de CPU-functionaliteit.

Dit ontwerp pakt het grondiger aan. Het voert een breed scala aan processorinstructies uit, waardoor de werking van de Z80 veel uitgebreider wordt getest. Dat resulteert in een aanzienlijk betrouwbaardere en representatievere test.

De Bouw

Om het testen van Z80 CPU's te vergemakkelijken, soldeer ik een ZIF-voet in plaats van een standaard IC-voet.

De aansluitingen van een Z80 CPU

Het elektronica ontwerp is nog van voor het USB tijdperk en heeft een 9V wissel of gelijkspanning als voedingsingang. Ik ga dit ontwerp aanpassen met een 5V USB B connector en laat alle componenten die nodig zijn voor de oorspronkelijke voeding achterwege.

De buzzer rechtsonder die kan worden gebruikt om signalen op de print hoorbaar te maken ten behoeve van foutopsporing heb ik ook achterwege gelaten.

Links op de foto hierboven zie je een USB B connector op een breakout printplaatje (onderzijde), deze wordt gesoldeerd op de plaats van de 1000uF condensator (net boven de blauwe instel potmeter) en levert dan direct de 5V voedingsspanning. 

Er is dan geen ruimte meer voor de 1uF condensator die gebruikt wordt voor het reset signaal, dus die soldeer ik aan de onderkant. Ook wordt de in- en uitgang van de niet gebruikte 7805 spanningsregulator met een draadbrug doorverbonden (links). Een dikke dubbelzijdige sterk klevende tape zorgt voor fixatie van de USB printje op de hoofdprint (rechts).

De Software

In het Talking Electronics tijdschrift verschenen diverse software lijsten die door Brian Chiha zijn verzameld. Ook heeft hij zelf enkele toepassingen geschreven zoals spellen en deze gezamenlijk in een bestand ondergebracht die kan worden gebruikt om een 2732 EPROM te programmeren en is te downloaden op github.

De software is opgedeeld in twee geheugenbanken. Door middel van een miniatuur schuifschakelaar in het midden van de print kan tussen de twee banken worden geschakeld.

De eerste bank (schakelaar naar rechts) bevat de volgende programma's:

  • 99 op/aftel teller (dip schakelaar op 0)
  • Quickdraw (dip schakelaar op 2)
  • Scrollende tekst (dip schakelaar op 8)
  • Weergave geheugen (dip schakelaar op 20)
  • Led Demo 1 (dip schakelaar op 30)
  • Dobbelsteen (dip schakelaar op 47)

De tweede bank (schakelaar naar links) bevat de volgende software die door middel van een menu met knop A kan worden doorlopen en met knop B kan worden geselecteerd:

  • Blackjack spel
  • Mastermind spel
  • NIM spel
  • Tug 'O War spel
  • LED demo 2

Het programmeren van de 2732 EPROM bleek een behoorlijke uitdaging. Dit verouderde type EPROM wordt door zijn lange programmeer tijd en/of hoge programmeer spanning niet goed meer door moderne EPROM programmers ondersteund. De 2732A werkt met een programmeer spanning (Vpp) van 21V. en de 2732B met 12.5V.

De laatste versie van de populaire TL866II programmer kan nog maar tot 18V programmeren. Oudere versies van de TL866 konden wel tot 21V. Ook het programmeren van de 2732B versie op 12.5V lukt niet met de TL866II omdat de benodigde stroom niet kan worden geleverd en zelfs de langzaamste instelbare programmeer timing toch nog te snel blijkt voor dit type IC.

Uiteindelijk is het wel gelukt door een 2732A type te programmeren met behulp van een GQ-4x4 EPROM programmer. Deze programmer is echter wel ruim 2x zo duur.
De stoom geleverd door de 5V USB aansluiting bleek niet voldoende dus dient ook een externe 9V voeding op de programmer te worden aangesloten. De programmeer snelheid dient bovendien te worden verlaagd door Speed: 0 in te stellen.

Links de TL866II programmer en rechts de GQ-4x4

Het eindresultaat


Een werkende "Mini" Microcomp-2 met het op/aftel programma en een werkend geteste Z80 CPU.

Rest nu nog om software te schrijven die speciaal gericht is op het testen van Z80 processors door het uitvoeren van zo veel mogelijk instructies en bovendien softwarematig kan detecteren of het een NMOS of CMOS type Z80 betreft.

3 opmerkingen:

  1. Wel 4 jaar later dan uw publicatie, maar ik ben er wel blij mee.
    Ben sinds een korte tijd bezig met diverse SBC's en dit is een leuke aanvulling van mijn collectie.
    Dank voor het plaatsen van dit project.

    BeantwoordenVerwijderen
    Reacties
    1. Altijd leuk om reacties te lezen, dank!

      Verwijderen
    2. Graag gedaan.
      Ben overigens nu een 28C16 en een 28C32 aan de gang te krijgen. Het zou moeten werken als ik de /WE aan Vcc leg. Tot nog toe geen positief nieuws. Maar ik blijf er mee bezig.

      Verwijderen