tirsdag 8. august 2017

RC6502 Apple 1 Replica SBC

Dette er et innlegg relatert til RC6502, mitt forsøk på å bygge en fungerende replika av den første Apple maskinen som ble laget. Det som trengs av tegninger og programvare for bruk av maskinvaren er lagt ut på https://github.com/tebl/RC6502.

RC6502 State of art

Mine opprinnelige mål med RC6502-maskinen min var å lage en maskin som var i stand til å fungere tilsvarende som en av de opprinnelige Apple 1 datamaskinene, eller i det minste så langt som det er praktisk å gjøre dette i dag (få av oss arbeider frivillig med en CRT-monitor, så denne biten er erstattet av en Arduino Nano som trer inn i rollen som tastatur og skjerm sett fra datamaskinens side).

Alt gikk selvsagt ikke på skinner, slik som man kan lese ut av gjennomgangen i innlegget Montering og feilsøking - konklusjonen for eventuelle lesere som aldri nådde frem til konklusjonen, var at maskinen fungerer uten endringer i maskinvaren. 

Mål oppnådd!

Hva gjør man når har oppnådd målene sine innenfor IT-sektoren? Det... Det skal jeg fortelle deg så snart jeg har luktet på muligheten til å i det hele tatt komme i nærheten. Historisk sett ut fra tidsalderen maskinen stammer fra så var svaret å lage dem enda mindre.

Challenge accepted!

RC6502 Apple 1 Replica SBC

Det neste logiske skrittet var vel egentlig det de fleste egentlig starter med, det vil si å lage en versjon av maskinen der alt av funksjonalitet er lagt ut på en enkel PCB. Disse versjonene er gjerne de som senere blir lagt ut for salg og blir da referert til som en Single Board Computer - SBC. Disse blir langt mer kompakte enn maskinen jeg så langt har bygd - borte er behovet for en backplane samt at eventuell logikk som tidligere var gjengitt på flere av kortene nå er begrenset til det minimale.

Den komplette tegningen over hvordan alle komponentene henger sammen, essensielt sett alle modulene komprimert ned til en enkel sammenhengende skisse uten overlapp, er gjengitt nedenfor. Det er relativt mye som foregår her, men mye må kunne sies om å det å se en komplett fungerende datamaskin på en enkelt A3-side.

(Last ned i PDF-format)

Det eneste som er nytt her er fire hull lagt inn for å sette inn "føtter" for maskinen, den andre er at det er lagt inn en 3.3K resistor fra CPU pin 36 til +5v. Kan ikke se at dette gjorde noen forskjell på maskinens funksjon, men det er dette som ser ut til å være anbefalt ved bruk av 65c02 prosessorer fra Western Design - ikke det at jeg har fått disse til å fungere så langt, men det får være en sak for mitt fremtidige jeg. Kortet fungerer med de langt billigere og langt mer tidsriktige versjonene av 6502-prosessoren, så er fornøyd så langt.

Slet kraftig med å få alt inn på en PCB med størrelse under 10 ganger 10 centimeter i og med at dette er nåværende grenser for å få produsert en PCB innenfor grensene til lommeboken min (konstant for lite penger, og alltid altfor lite tid til å bruke alt jeg likevel kjøper). Endte opp med å måtte gjemme en del av resistorene under pluggene for å koble til Arduino Nano-en. Resultatet kan du se nedenfor, og til tross for at noen med mer erfaring utvilsomt ville klart det langt bedre så er resultatet overraskende bra.


Man ser her også skruene for de allerede nevnte føttene, har her brukt hex-avstandsskruer tilsvarende de man gjerne vil bruke mellom pc-kabinett og hovedkort. Nederst er det også inkludert tilkoblingsmuligheter slik at man kan bruke SBC-modulen sammen med en eventuell backplane for bruk av andre tilleggs-moduler - her kan man selvsagt også bruke en 40 pins sokkel kuttet ned til 39 for bruk av en enkelt modul uten behov for backplane. Muligheter så langt øyet ser...

I og med at jeg først startet med å bygge slike maskiner for å lære om hvordan disse fungerer så tenkte jeg at det var på sin plass å bruke baksiden av kortet til noe fornuftig, derfor har jeg nærmest skrevet inn dokumentasjonen på selve kortet. På den måten skal det ikke være nødvendig å bla så veldig mye i notatene, de mest brukte kommandoene finner man ved å snu på kortet! Praktisk.


Den nevnte resistoren som ble lagt med i diagrammet kom selvsagt ikke inn i PCB-en, men den ble slengt inn på baksiden istedenfor.

SBC-versjonen av maskinen fungerer, så da har man gjort det også! Har fortsatt en håndfull av dem liggende, så dersom andre ønsker å bygge sin egen versjon av maskinen så er det gode muligheter for det. Muligens i bytte mot en Amiga 500, men den delen forblir nok bare en gammel teknologs drøm så får heller bare avslutte med et action-foto av maskinen i bruk!


3 kommentarer:

  1. Hello friend! I love the work you've done here and I'm trying to build the RC6502 SBC, but I've had to luck. I've tried both the Revision B board, and the Revision F board, but neither work. I would love to correspond with you to get it working, but I have no contact info for you. Thanks!

    SvarSlett
  2. I have mine working. A few observations: I believe it was not working because I was mixing LS chips with HCT chips. When I added a 74hct00n, 74hct04n, and 74hct138n it worked. Also I first tried it with an R6502 CPU, and that did not work. It is working now with an SY6502. Thanks!

    SvarSlett
  3. Some clues as to why other 6502's maynot work (pins 1,3,37,38)

    http://www.westerndesigncenter.com/wdc/AN-002_W65C02S_Replacements.cfm?fbclid=IwAR2vck7wad2wCMHNNxVWXxILflfeCzQkimGfupMCTuPetB3MKwwtvA_xg5U

    SvarSlett