Pionier van homecomputers en zuinige processors Chuck Peddle is overleden

Charles 'Chuck' Peddle is op 15 december 2019 overleden. De Amerikaan werkte aan de goedkope en populaire 6502-processor bij MOS Technology en legde daarmee de basis voor de homecomputer.

Chuck PeddiePeddle werkte begin jaren zeventig aan de 6800-processor bij Motorola, maar vond de prijs van die chip te hoog. Daarop besloot hij samen met collega's Harry Bawcom, Wil Mathys, Rod Orgill, Ray Hirt, Mike Janes, Terry Holdt en Bill Mensch naar concurrent MOS Technology over te stappen, beschrijft een zoon van een van hen op Team 6502.

Bij MOS Technology leidde Peddle het werk aan de MOS 6502-processor. Het doel was om een 8bit-processor met 16bit-adresbus met afmetingen van 3,9 x 4,3mm op 8 µm te maken. De omvang was klein om zoveel mogelijk chips uit wafers te kunnen halen en daarmee de prijs laag te kunnen houden. Bill Mensch, waarmee Peddle aan de 6800 werkte, beschrijft hoe met name Intels 4040 van 29 dollar als concurrent gezien werd en niet de duurdere Motorola 6800 of Intel 8080.

De prijs werd bij verschijning in 1975 25 dollar. De processor en varianten daarvan werden onder andere gebruikt in een grote hoeveelheid homecomputers en andere systemen waaronder de Atari 2600, Atari 800, Apple II, Nintendo Entertainment System, Commodore PET, Commodore VIC-20, Commodore 64, Atari Lynx, BBC Micro en ook in de originele Tamagotchi.

Peddle werkte in 1976 aan de KIM-1, een goedkope singleboardcomputer bestaande uit een 6502- en twee 6530-chips. Nadat MOS Technology werd overgenomen, leidde Peddle in 1977 de ontwikkeling van de Commodore PET, de eerste computer van Commodore voor de massamarkt.

Door Olaf van Miltenburg

Nieuwscoördinator

23-12-2019 • 13:50

30

Reacties (30)

30
30
21
6
0
5
Wijzig sortering
Voor de geïnteresseerden hier een podcast aflevering met een interessant interview met Chuck https://theamphour.com/24...ic-chipmaking-coryphaeus/, echt een aanrader!

[Reactie gewijzigd door bossssie op 25 juli 2024 23:39]

Ook leuk: Bill Herd (ontwerper van de Commodore Plus/4 en 128) en Jeri Ellsworth (ontwerper van de C64DTV) in gesprek met Chuck Peddle: https://www.youtube.com/watch?v=cns75TIrzb8
Als je de Motorola 6800 en 6502 vergelijkt, dan zie je dat de 6502 minimalistischer was dan de 6800 door de verwijdering van accumulator B, de 6502 heeft een enkele accumulator, maar dat compenseert door toevoeging van de zeropage-addresseermode. Dit was de grote innovatie van Peddle, waarmee de rekenkracht van de processor flink toenam.

Als de de rekenkracht van een Commodore 64 en originele IBM PC vergelijkt, dan is het nog niet zo triviaal om te bepalen welke meer rekenkracht heeft: Op het eerste gezicht is de 8-bit 985 KHz 6510 geen partij voor een 16-bit 4,77MHz 8088. Maar als je iets verder kijkt, dan kan de 8088 slechts eens per vier klokpulsen een byte uit het geheugen lezen. Dan is het verschil in kloksnelheid al flink gecompenseerd.

Als je dan ook nog eens gaat bekijken dat een 8088-instructie veel meer bytes in beslag neemt dan een 6502-instructie dan volgt de conclusie dat de 6502 veel meer instructies per seconde uit het geheugen kan lezen. Dankzij de zero-page kun je 6502-instructies nog extra kort maken en dus heeft een assemblerprogrameur veel mogelijkheden tot software-optimalisatie.

Uiteindelijk komt het bij de 8088 aan op krachtige instructies die via de microcode uitgevoerd worden: Op het moment dat je een "rep movsb" doet, dan heeft de 6502 daar geen verweer tegen. Of ingebouwde complexe instructies zoals hardwarematig kunnen delen (bijv. "div dx"), in dat soort gevallen is de 8088 veel sneller. Maar op het moment dat het aankomt op simpele instructies is de 6502 de krachtiger processor.

En dat is waarom de geschiedenis is zoals hij is: De 6502 was dankzij zijn minimalistische architectuur spotgoedkoop, maar je kreeg er desondanks behoorlijk wat rekenkracht uit. En dat is waarom talloze fabrikanten voor de 6502 kozen.

[Reactie gewijzigd door dmantione op 25 juli 2024 23:39]

Voor de pre-Apple gebruikers was er de Elektuur Junior computer die gebaseerd was op de KIM-1, met een 6502. Wat een weelde toen er een krachtige BASIC interpreter kwam, op bijvoorbeeld de BBC Micro!
In het begin veegde een 2 MHz 65C02 nog de vloer aan met de 8086 IBM-PC XT. Andere home-computers als Amiga waren toen ook al krachtiger en hadden stevige graphics waar de IBM-PC een lachertje bij was met z'n peperdure CGA-kaart. Alleen de naam IBM zou de reden geweest zijn 'de (business) markt' koos voor de PC...
Chuck Peddle is wel een van de groten geweest voor de duizelingwekkend ontwikkelingen dankzij de legendarische 6502. Later flopte zijn Victor 9000 personal computer helaas, hoewel die ook vol zat met nieuw vernuft. Zo had de floppy drive een variabel toerental om de lineaire snelheid onder de koppen constant te houden. Zo konden de buitenste sporen meer data per sector opslaan dan de sporen aan de binnenkant.
Een deel daarvan zat al in de Commodore-floppydrives: Die variëren niet hun toerental, maar kunnen wel de bitrate verhogen in de buitenste sporen, zodat daar meer gegevens opgeslagen kunnen worden. De GCR-codering van de floppy's is ook door Peddle bedacht en uiteraard gebruikte hij zijn eigen 6502 voor softwarematige GCR-decodering waar in andere computers een floppycontrollerchip voor MFM-decodering gebruikt wordt. Je kunt zeggen dat de floppydrives van IBM en Commodore weliswaar dezelfde diskettes gebruiken, maar de techniek totaal anders is.
Nou, ik heb mijzelf leren programmeren op een originele IBM XT, terwijl ik bij anderen wel eens een C64, ZX spectrum of Atari zag werken.

Het was een wereld van verschil. Je kunt de IBM XT wel afdoen als overpriced, maar het was wel enorm stabiel en degelijk om maar niet te zeggen een log apparaat.

De markt voor de XT was er dan ook een waar betrouwbaarheid belangrijk was. Zakelijk zou je nooit met een van de eerder door mij genoemde apparaten kunnen werken.

Overigens was ik wél enorm onder de indruk toen ik rond '86 voor het eerst een Apple Macintosh zag.
Mooie post! Je geeft een leuk inkijkje. Zelf stapte ik op computervlak in met de 68000 Atari ST. Dit maakt de homecomputergeschiedenis voor mij wat schetsmatig. Dit maakt MOS technology bij mij onterecht een blinde vlek, zeker als hun processor in veel leidende homecomputers werd gebruikt.

Een kleine correctie, ik liep even vast in je vergelijking tussen de 6510 en de 8088 proceesor. De 6510 was naar ik begrijp 0,985 Mhz. Al was dat uit de context van je tekst ook al wel af te leiden.

Tenslotte vroeg ik mijzelf nog af waarom de Amiga's, ST's, Apple Mackintoshes verder waren gegaan met Motorola en de PC's met Intel. Uit een informatieve MOS_Technology wiki werd nog iets explicieter uitgesproken dan in dit artikel dat MOS Technology werd opgekocht door Commodore Business Machines (CBM). CBM maakte toen nog rekenmachines. Peddle wist de toenmalige baas van CBM, Jack Tramiel (die later met de introductie van de ST Atari zou revitaliseren) ervan te overtuigen dat homecomputers the way to go zou worden. Een mogelijke reden dat onder de vlag van Commodore die processor ontwikkeling geen wind meer in de zeilen kreeg lijkt te maken te hebben met het uiteenvallen van het team van Peddle. Misschien lag het accent bij eigenaar Commodore als apparatenbouwer toch iets minder op de processorontwikkeling dan dat dit het geval is geweest bij MOS Technology.

Dit laatste doet mij wel aan de what if denken zou Pebble gewoon door hebben kunnen ontwikkelen, niet gestoord door bedrijfsovernames en andere stoorfactoren. Wat zou dit betekend hebben voor de toenmalige hegenomie van Intel en Motorola.

@qbig1970 Ja helemaal een typo, dank je.

Edits: Intel ipv IBM natuurlijk als processorbouwer

[Reactie gewijzigd door teacup op 25 juli 2024 23:39]

moet dat niet 68000 zijn? Typo? of ??
nope, de 68000 kwam veel later.
de 6800 is enigszins vergelijkbaar met de 6502 en 6510.
Die 68000 sloeg terug op de Atari ST, wat mijn eerste computer was. Relevant voor mij, minder rrlevsnt voor dit topic. Dat apparaat maakte deel uit van een latere ontwikkeling dan die van de home computers waarin de MOS Technology processors zijn gebruikt. De 6800 is inderdaad meer van dat tijdperk.

Maar ik had graag een Pebble antwoord gezien op de 68000 van Motorola of de 80286 van Intel.

[Reactie gewijzigd door teacup op 25 juli 2024 23:39]

Het had inderdaad 985 KHz moeten zijn, ik heb het aangepast.
De goedkoopste, maar in de praktijk rampzalig door alle fouten. Ongebruikte codes hadden onvoorspelbare effecten, instructies van meerdere bytes over de paginagrens lazen uit de verkeerde pagina, stack van slechts 256 bytes. Daar moest je dan maar omheen programmeren.
Nou de Commodore 64 en Atari modellen die hem gebruiken waren anders een groot succes!

Deze processor heeft met zijn prijs de homecomputer op de kaart gezet. En dat is een behoorlijke prestatie.

[Reactie gewijzigd door GekkePrutser op 25 juli 2024 23:39]

Weinig problemen mee gehad. De 'illegal' op codes waren op een gegeven moment zelfs gedocumenteerd, waardoor ze zelfs (soort van) bruikbaar werden. Maar goed, hier had je alleen last van als je jumps of branches deed naar verkeerde adressen. De stack was ruim zat voor een ieder die handmatig assembler programmeerde. Kan me goed voorstellen dat compiler bouwers hier meer issues mee hadden. Maar wie wilde er nu gecompileerde code draaien op de 6502? Echte mannen schreven hun eigen code! :)

Heerlijke CPU om het vak mee te leren en te begrijpen wat zich allemaal afspeelt. Nog leuker was het je code te optimaliseren m.b.t. grootte en snelheid. Met de beperkte resources in kloksnelheid (0,97 mhz als je PAL draaide en max. 65536 geheugenlocaties) plukte je vrijwel meteen hiervan de vruchten.

R.I.P. Chuck, veel plezier gehad van je werk.
De goedkoopste, maar in de praktijk rampzalig door alle fouten. Ongebruikte codes hadden onvoorspelbare effecten, instructies van meerdere bytes over de paginagrens lazen uit de verkeerde pagina, stack van slechts 256 bytes.
Van alle voorbeelden die je noemt is er geen enkele daadwerkelijk een fout in de processor...

Dat undocumented opcodes rare dingen doen is niet meer dan normaal, dat was zo bij veel (alle?) chips van die generatie. Met hardwired instruction decoders heb je immers weinig andere opties; pas met de overstap naar processors die microcode gebruiken kon dat "probleem" worden opgelost.
Dit exacte probleem zegt me zo snel even niets (ik ben geen 6502 expert), maar is het mogelijk dat dit gedrag bij normaal ("correct") gebruik niet optreedt, perfect gedocumenteerd was en dat jij simpelweg de handleiding niet goed genoeg gelezen hebt?
Ehm ja, natuurlijk ga je beperkingen hebben (zoals een 8 bit stack pointer) in een chip die van voren af aan ontworpen is om zo goedkoop mogelijk te zijn. Als je voor 100 euro een derdehands Trabant koopt, dan ga je toch ook niet klagen dat ie geen cruise control heeft!?
Ik denk dat hij hier op doelt:

ldx #$01
lda $ff,x

Intuïtief zou je misschien zeggen dat $ff+$01=$100 en je uit geheugenlocatie $0100 leest..., maar deze instructie leest uit geheugenlocatie $0000. Ik denk niet dat je het een bug kan noemen, omdat de zeropage bedoeld als gebied waar extra snelle toegang op mogelijk is en dus 16-bit arithmetica op de zeropage vermoedelijk bewust niet gedaan is. Het is ook gewoon gedocumenteerd gedrag.

Als je geen zero-pageadressering gebruikt:

ldx #$01
lda $00ff,x

... lees je wel uit geheugenlocatie $0100. Je krijgt wel een penalty van één klokpuls wegens het overschrijven van een paginagrens.
De beste man Peddle en het gehele team hebben verandering gebacht.
Geheugen was destijds verschrikkelijk duur, we hebben niet voor niets de Millenium crisis gehad omdat met 2 bytes wilde besparen ;)

Alle moet doorontwikkeld worden. De eerste Raspberry PI was het ook net niet, de 2e en nu 4e generatie zijn zeer goed door ontwikkeld en perfect inzetbaar..
Ik heb nog steeds heel goede herinneringen aan mijn KIM1 (compleet met Teletype aansluiting). Zonder deze single board was ik nooit in de IT terechtgekomen. Daarna natuurlijk een Commodore 64 (met twee echte real time klokken!). Een deel van de opcode is nog steeds blijven hangen: A9 - load accumulator immediate :D
Ik ben mijn computerleven ooit begonnen op de C= PET met de 6502 bij het museum voor het onderwijs in Den Haag. Later ben ik thuis aan de slag gegaan met de Z80 van de ZX-Spectrum. In die tijd was er een ware oorlog gaande tussen C64 met de 6502 aan de ene kant en de ZX-Spectrum aan de andere kant. Mooie tijden waren dat.

[Reactie gewijzigd door MartZuid op 25 juli 2024 23:39]

Ja, die ZX-spectrum werd ook door een redelijke exoot in processorland aangedreven, de Amerkaanse Zilog Z80. Die processor dreef trouwens naast de ZX-Spectrum voor Europa ook de heel populaire TRS-80 computer in de VS. TRS stond trouwens voor Tandy-RadioShack. Allebei bekende namen voor me, maar dat TRS er een afkorting van was, nooit geweten.

Mooie tijden inderdaad, alleen al door de diversiteit in die processors.
Nou ja, exoot... De Z80 was natuurlijk DE cpu voor vrijwel alle CP/M systemen, en code compatible met intel's 8080. Dus op een Z80 zat je al heel dicht tegen x86 assembler aan.
Een ongelukkinge formulering inderdaad. Lees mijn "exoot" ook niet als geringschattend. Met de ZX Spectrum was er een heel creatief platform omheen gebouwd. Voor home computers waren die ZX Spectrum en TRS-80 heel gangbaar en populair.

De reden dat ik op Martin_Z reageerde is dat toen nog best veel spelers waren in dat processorlandschap. Dat maakte het toen vanuit mijn optiek een mooie tijd.
Oh, maar zo had ik het niet opgevat hoor. Ik dacht dat je exoot bedoelde vanuit de techniek geredeneerd. Wat dat betreft was de Z80 juist heel gangbaar. En naast het home segment ook veel gebruikt in het zakelijke segment. De CP/M systemen die later allemaal vervangen werden door MS-Dos.

Zoals je zegt, veel spelers op de markt destijds en een zeer divers landschap. Leuke en leerzame tijden inderdaad.
Ik heb er 1 op de diskcontrollerkaart van een IBM 8088 zitten. Nooit geprobeerd om er iets anders mee te doen dan schijfstations gebruiken. Misschien lukt iets met debug...
MSX spel spelen op de Hercules. :+

[Reactie gewijzigd door blorf op 25 juli 2024 23:39]

Plus dat de MSX computers ook de Z80 gebruikten. Ik heb de 6502 en de Z80 in machinecode en assembly geprogrammeerd, de Z80 was wat gebruikersvriendelijker. Ik heb wel veer meer op de 6502 geprogrammeerd (in de Atari Lynx zit bijvoorbeeld een 65C02).
Jaaaa! Daar stond eerst 1 PET, een aantal terminals die verbonden waren met het Onderwijs Computer Centrum in Utrecht (computer psychiater Eliza) en een DPD-8 (?) waar via ponsband een voor die tijd mooi grafisch maanlandingsspel op werd geladen. Dat kon je bedienen met een lichtpen.

Verder stond er een IBM mainframe waar iedereen alle lege blokken inpikte. Totdat er niets meer over was waarna de volgende puber een harde reset gaf en de harde schijf gewist werd. Waren je programma's weer verdwenen 8)7

In een hoek stond nog een ander ding met een teletype. Maakte een hoop herrie en daar kon je je programma's nog op ponsband meenemen. Heb ik nog stukjes van liggen.

Door de grote wachtrijen schafte het museum later een reeks PETs aan. Uiteindelijk heb ik mijn ouders zo gek gekregen om een CBM-16 aan te schaffen. Met cassette recorder, bij BIASC in Rijswijk. Dat ding kostte toen 4350 gulden. Een megabedrag in die tijd.

Het boek van Rodney Zaks was voor mij de start om 6502 machinetaal te leren. Geweldige tijd. EA = NOP :)

Later was Bill Tjon een van de oprichters van de Commodore club. Bijeenkomsten in het weekend in het Lodewijk Makeblijde college in Rijswijk.

Ik word oud. Zucht.

[Reactie gewijzigd door rud op 25 juli 2024 23:39]

De 6502 heeft als voorbeeld gefungeerd voor de nu zo populaire ARM processoren.

[Reactie gewijzigd door mekkieboek op 25 juli 2024 23:39]

Bij de 6502 had je nog het idee dat je je hele computer en alle software er op (mits zelf geschreven) nog echt compleet in je hoofd kon hebben.
Dit boek is voor menigeen ook een trip down memory lane: SYBEX: Programming the 6502 by Rodnay Zaks

Nog steeds lezenswaardig en als epub en pdf te downloaden.
ook niet onbelangrijk, hij heeft Jack Tramiel (toen de CEO van Commodore) overtuigd om computers te gaan verkopen

Op dit item kan niet meer gereageerd worden.