Google Analytics

23 april 2022

Toepassing: Een 6502 CPU tester

De 6502 Central Processing Unit (CPU), ontwikkeld door MOS is in 1975 op de markt gebracht. Veel home computers uit de jaren 70/80 maakten er gebruik van zoals de Commodore PET en VIC-20, de Acorn en Apple homecomputers, enkele Atari computers en nog vele andere.

Er bestaan ook veel varianten op de 6502 processor, zo is voor de Atari de 6502C, ook wel Sally of C014806 gemaakt. Deze versie bevat een extra Halt signaal op pin 35 waarmee de processor tijdelijk kan worden gestopt. De 6510 versie is gebruikt in de Commodore 64 en bevatte 6 extra I/O poorten en de 8502 is gebruikt in de Commodore 128. Door de extra I/O aansluitingen verschillen de 6510 en de 8502 aansluitingen nogal, ook de voedingsspanning zit op andere pinnen en daarom zijn deze IC's niet zo maar uit te wisselen. De 85xx serie verschilde van de 65x serie alleen in het fabricage proces.


Een originele MOS 6502 uit 1985.


Een moderne 65C02 van Western Design Center (WDC) uit 2022.


Een 6502C (Sally) voor de Atari uit 1980.


Een 6510 gebruikt in de Commodore 64 uit 1984.


Een 8502 gebruikt in de Commodore 128 uit 1988.


Aansluitingen van de vergelijkbare 6502 varianten

De verschillen in aansluitingen van de 6510 (c64) en de 8502 (C128)

Ten behoeve van het testen van oudere CPU's wordt tegenwoordig vaak gebruik gemaakt van zo genaamde "NOP testers". Deze eenvoudige testers maken alleen gebruik van de No Operation (NOP) instructie van de processor. Die instructie voert op zich niets uit en verhoogt alleen de adresteller. Door het aansluiten van leds op de adreslijnen wordt zichtbaar of er enige activiteit is. Het mag duidelijk zijn dat dit soort testers alleen een indicatie geven dat er iets op de processor gebeurt maar helemaal betrouwbaar is het niet.

Een betere benadering heeft de MOS6502/WDC65C02 Tester die een stap verder gaat en een testprogramma uitvoert die is opgeslagen in een 27C512 EEPROM. Hij is ontwikkeld voor het testen van de 6502 CPU en de varianten 65C02 en 6502C (Sally).

Rechtsboven zijn 16 leds geplaatst om de activiteit op de adreslijnen weer te geven en daaronder 8 leds om de databits weer te geven.
Met de dipschakelaars links kan de juiste klokfrequentie worden ingesteld op 1, 2, 4 of 8 MHz en met de schuifschakelaar kan gekozen worden voor de 6502 of de 65C02. Het geheel word gevoed door een 5V adapter aangesloten op de Mini USB aansluiting rechtsboven.
Met de resetknop onder kan het programma worden gestart. In de 6502 stand kan ook het verschil worden bepaald tussen een 6502 en een 65C02 (Sally). Dit kan door het indrukken van de "Halt Sally" knop. Gebeurt er niets dan is het een 6502 en stopt het uitvoeren dan betreft het een "Sally".

Het type 6502 staat toch op de IC opdruk? Dat klopt maar het komt echt voor dat vooral Chinese IC verkopers de ene processor verkopen voor een andere door de originele opdruk weg te polijsten en van een andere te voorzien om zo meer geld te kunnen vangen.

Bij een goed werkende 6502 CPU zullen de databit leds afwisselend oplichten zoals in de animatie hieronder.

14 april 2022

Bouw: Een kwantumfluctuatie display

Vandaag, 14 april is het wereld kwantum dag en dat sluit mooi aan op de bouw van een kwantumfluctuatie display. De basis voor dit bouwpakket, ook bekend als de "Random Retro Blinker" of de "Really Random Blinker" is een transistor die op een verkeerde (onbedoelde) manier is aangesloten.

De emitter van de transistor is omgekeerd aangesloten op een 12-18V gelijkspanning. Aangezien de elektronen zich een weg proberen te banen door de silicium N-P overgang ontstaat een volkomen onvoorspelbaar gedrag en worden op die manier willekeurige pulsen gecreĆ«erd die bepaald worden door kwantummechanica. Deze methode zorgt voor een echte willekeurigheid (true random) in tegenstelling tot b.v. willekeurige getallen die via een computer algoritme worden gegenereerd (Pseudo random).

De willekeurige pulsen worden geleid door een 64 bits schuifregister waarop leds zijn aangesloten in een 8 x 8 matrix. op die manier kunnen 2 tot de macht 64 oftewel 18446744073709551615 combinaties worden weergegeven. Dat getal is groter dan het aantal zandkorrels tezamen op deze aarde. Het effect wat ontstaat is te vergelijken met de knipperende lichtjes op oude computers, zogenaamde "Blinkenlights".
Op de printplaat zijn twee potmeters aanwezig, Een voor de snelheid van de afwisseling van de patronen en een voor instelling van de waarschijnlijkheid van het oplichten. Er zijn dan gemiddeld meer of minder leds tegelijk aan.

Het bouwpakket is te koop bij Budgetronics.eu exclusief de leds die in een kleur of kleuren naar keuze kunnen worden bijbesteld en exclusief de benodigde voeding van 12-18V.

Wat heb je aan een kwantumfluctuatie display? Helemaal niets, maar het betoverende effect van de knipperende leds en de herinnering aan oude computers met hun vele "blinkenlights" maken het leuk om er naar te kijken.

De Bouw

Bij het pakket zitten bouwinstructies die eenvoudig zijn te volgen. Op de ene kant van de print worden alle componenten gesoldeerd en op de andere kant de 64 leds.

De twee geleverde potmeters hebben verschillende waarden (10k en 100k). Aangezien de waarde niet op de potmeter zelf is aangegeven dient deze eerst gemeten te worden tussen de pootjes met de kortste afstand voor dat deze op de juiste plaats kunnen worden gesoldeerd.
De componenten opdruk op de printplaat is niet helemaal foutloos. Zo ontbreekt de waarde voor R79 (1k) en worden er diverse waarden voor de keramische condensatoren op de printplaat aangegeven, terwijl deze allemaal 100nF blijken te zijn. Maar de grootste valkuil is de fout aangegeven oriĆ«ntatie van de leds. Zo wordt in de handleiding aangegeven dat de vlakke kant van de led uitgericht moet worden met de vlakke kant zoals op de printplaat staat afgedrukt. Het gevolg is dat de leds dan precies verkeerd om worden gesoldeerd. En het is een heel karwei om dit achteraf te corrigeren. Beter is om te zorgen dat het kortste pootje van de led (kathode) wordt gestoken in het vierkant gemarkeerde gaatje, dan gaat het altijd goed.

Verbetering van het ontwerp.

Het gebruik van de schuifregisters komt zichtbaar terug in de led patronen waarbij deze steeds per klokpuls opschuiven. Persoonlijk vind ik dat minder mooi. Ik zou er zelf voor kiezen om het willekeurige patroon 64x in te klokken en dan pas zichtbaar te maken. Aangezien de gebruikte 74HC164 schuifregisters niet over een latch beschikken, zou dit gerealiseerd kunnen worden door het patroon heel snel in te klokken (b.v. op de maximale frequentie van 3 Mhz) en daarna met de gewenste wisselsnelheid (oorspronkelijke kloksnelheid) te wachten op de volgende serie. Dit is mogelijk met een aangepast klokgenerator ontwerp met behulp van een CD4060 IC. In een van de volgend blogs kom ik hier zeker nog op terug en zal ik het ontwerp en verschil demonstreren.

Midjourney interpretatie van een quantum computer op basis van buitenaardse technologie. (Dec. 2022)