Hinahayaan ka ng retro computing na maunawaan ang kasaysayan ng teknolohiya, na nagpapakita kung gaano kalayo ang narating ng mga modernong computer. Narito kung paano bumuo ng iyong sariling gumaganang Apple I replica.
Malayo na ang narating ng mga computer mula noong unang nagsimula ang Apple noong 1976. Noong mga araw na unang pinagsama nina Steve Jobs at Steve Wozniak ang orihinal na Apple I na mga computer kit, ang lahat ay kinuha at binuo sa pamamagitan ng kamay.
Ang Apple ay isang maliit na kumpanya na nakabase sa garahe ng mga magulang ni Steve Jobs, at ang Apple ay nagbebenta ng mga kit na computer sa labas ng garahe.
Ang Apple I kit ay binubuo ng isang malaking motherboard, ilang dosenang logic chips, malaki power capacitor, diodes, resistors, ROM chip, at 6502 CPU na idinisenyo ng MOS Technology at lisensyado sa Motorola.
Ang 6502 ay isang karaniwang CPU noong 1980’s-ginagamit sa mga Apple, Atari, at Commodore na mga computer. Ito ang unang tunay na murang microcomputer na CPU at ang pangunahing elemento na nagbigay-daan sa rebolusyon ng personal na computer na mangyari.
Para sa Apple I, iniwan din ito bilang ehersisyo para sa user na bumuo ng homebrew power supply at kumuha ng keyboard na nagmula sa isang kumpanyang tinatawag na Datanetics, na kalaunan ay gumawa ng Apple II na keyboard.
Maaari kang makakita ng 1979 larawan ng Jobs with a Apple II sa website ng Computer History Museum.
Ang Apple I ay naibenta sa anyo ng kit-walang ganap na pinagsama-samang mga yunit ang naibenta.
Ang makina ay unang inilabas noong ika-11 ng Abril, 1976-sampung araw lamang pagkatapos itatag ang Apple sa araw ng Abril Fool ng parehong taon. Bilang isang biro, nagpasya sina Steve at Steve na itakda ang presyo ng makina sa $666.66 US dollars.
Maliit ang mga benta ng Apple I, pangunahin dahil sa napakalimitadong kakayahan nito. Mayroon ding mga mas advanced na kit mula sa iba pang mga kumpanya na magagamit, tulad ng Sinclair ng UK, na ang mga makina ay nag-aalok ng built-in na video, graphics, keyboard, cassette port, at mamaya, kulay.
Ang orihinal na Apple I na computer ni Steve Wozniak, na binuo sa garahe ng pamilya ng Jobs at nakalagay sa isang kahon na gawa sa kahoy, ay orihinal na naka-display sa sariling internal museum ng Apple sa R+D Six sa 1 Infinite Loop, sa Cupertino, CA , ngunit ito ay nasa Smithsonian Museum sa Washington, DC.
Ang follow-up na computer, ang Apple II, na ipinadala makalipas ang dalawang taon sa isang ganap na naka-assemble na case, kumpleto sa panloob na power supply at keyboard. May kasama itong graphics mode at sinusuportahan ang BASIC, na kailangang i-load mula sa floppy disk, o isang ROM-based na add-in card.
Ang pangalawang modelo, ang Apple II+ makalipas ang isang taon ay sumuporta sa built-in na BASIC, at nag-boot mula sa isang panlabas na floppy disk.
Ang Apple II ay ang unang killer na produkto ng Apple, at nang ang unang killer app ng Apple II na VisiCalc ay isinulat nina Dan Bricklin at Bob Frankston makalipas ang isang taon, ang Apple ay naging unang hit na bilyong dolyar na personal computer company ng Silicon Valley sa magdamag..
Ang mga Apple II na computer ay lumipad mula sa mga istante habang ginagamit ng mga accountant at iba pang negosyante ang VisiCalc upang pamahalaan ang kanilang mga negosyo at i-automate ang bookkeeping at pagtataya.
Lubos na nalimitahan ang Apple I, pangunahin dahil napakamahal ng RAM noong panahong iyon, at sinusuportahan ng makina ang 4K o 8K ng RAM na napapalawak sa 32K. Ang Apple I ay text-only, at walang graphics mode, kulay, at mga sprite para sa paglikha ng laro.
Walang operating system ang makina-Maaaring i-load ang BASIC mula sa isang opsyonal na Compact Cassette, isang sikat na format ng audio noong 1970s, sa kondisyon na binuo din ng user ang opsyonal na cassette expansion interface card na akma sa solong expansion port ng machine.
Kung walang BASIC, kung gusto ng user na i-program ang Apple I kailangan nilang gumamit ng Motorola 6502 assembly language at ang built-in na monitor ng makina, ang WozMon.
Ang orihinal na Apple I.
Fast-forward apatnapu’t limang taon
Sa mundo ngayon, ang mga naka-print na circuit board (PCB) ay maaaring idisenyo sa mga oras o araw sa software, ang file ay nai-save at na-upload sa internet sa mga PCB production house sa buong mundo. Ang mamimili ay maaaring magkaroon ng mga board sa kanilang pintuan sa loob ng isang linggo-halos walang bayad.
Isama ito sa mga makabagong pag-unlad sa mga processor at microcontroller gaya ng mga FPGA, flash EPROMS, at IoT device gaya ng Arduino, at mayroon kang lahat ng mga gawa ng isang bagong retro computing revolution.
Muling nilikha ng ilang masisipag na negosyante ang orihinal na Apple I PCB at ngayon ay ibinebenta ang mga ito online kasama ang eBay at Etsy. Maaari kang bumili ng isa sa mga board na ito at lagyan ng mga bahagi ang mga ito, bumuo ng isang bagong gumaganang eksaktong kopya ng orihinal na Apple I.
Kailangan mo ring maghanap ng orihinal na gumaganang Apple I ROM chip, at bumuo ng sarili mong custom na power supply para sa board o maghanap ng isang prebuilt online. Ang orihinal na dokumentasyon ng Apple I ay maaari ding makita online, ngunit tandaan na ang dokumento ay naka-copyright pa rin na materyal na pagmamay-ari ng Apple, Inc.
Isang replica Apple I PCB na ibinebenta sa eBay mula sa nagbebentang”newton-computer”. Kasama rin ang cassette interface na PCB.
RC6502 replica PCB
Kung hindi mo kayang bilhin at i-assemble ang lahat ng kailangan para makagawa ng isang bagong orihinal na Apple I, mayroong isang mas mahusay na paraan. Si Tebi ng Norway ay lumikha ng isang maliit na bagong PCB na tinatawag na RC6502 na gumagamit ng orihinal na Apple I ROM, isang solong SRAM chip, isang 6502 CPU na tumatakbo sa 1MHz, at isang solong 6821P PIA chip, na orihinal ding ginawa ng Motorola.
Ang board ay nangangailangan din ng isang Arduino Nano, kung saan kailangan mong i-load ang isang program, pati na rin ang ilang iba pang maliliit na bahagi. Maaari ka ring gumawa ng opsyonal na backplane PCB para magdagdag ng iba pang feature kabilang ang isang video display unit.
Nag-assemble ng RC6502 na computer.
Ang RC6502 ay open source, at maaari mong i-download ang mga Gerber file at mag-order ng sarili mong online, o mag-order ng board mula sa mga nagbebenta sa eBay, Amazon, Etsy, at maraming iba pang online na outlet. Ang Gerber file ay isang computer-generated schematic ng isang electronic circuit na ginagamit upang makagawa ng PCB.
Ang malaking bentahe ng RC6502 ay ang laki nito at mababang bilang ng bahagi, dahil ang kabuuang gastos sa paggawa ng board ay wala pang $50.
Pagsisimula
Tingnan natin ang hubad na PCB:
RC6502 replica Apple I PCB.
Sa kaliwang sulok sa itaas, mayroong 3 bahagi: isang 1MHz crystal oscillator chip, isang karaniwang 555 timer chip, at isang MCP23S17-E/SP Serial Peripheral Interface (SPI) chip. Ang huli, na ginawa ng Microchip Technology Inc. ng Chandler, AZ, ay tumutulong sa board na makipag-ugnayan sa isang Arduino Nano.
Ang MCP23S17-E/SP ay maaaring medyo mahal at mahirap hanapin dahil sa mga isyu sa supply chain na dulot ng pandemya ng COVID, ngunit unti-unti nang nagiging available ang mga ito.
Mukhang malaki ang stock ng DigiKey ngayon, o subukan ang AliExpress. Natagpuan namin ang sa amin sa AliExpress, ngunit nagkakahalaga ito ng $7 kasama ang pagpapadala sa panahon ng kakulangan.
Gumamit ng 1Mhz crystal oscillator chip. Ang orihinal na Apple ay tumakbo din ako sa 1MHz.
Sa kanang sulok sa itaas ng board ay isang puwang para sa mga header ng Arduino Nano, na dapat mong ihinang upang maisaksak mo ang isang Arduino sa mga ito.
Sa ibaba nito ay 3 karaniwang logic chip: 74HCT138N, 74HCT04N, at 74HCT00N. Ito ay mga logic gate, multiplexer, at inverters at lahat ay nagkakahalaga ng halos ilang dolyar bawat isa.
Sa ilalim ng tatlong logic chips ay isang solong SRAM chip (HM62256BLP-7 na ginawa ni Hitachi, o isang katumbas), at isang solong flashable na EPROM, sa kasong ito ay isang Atmel AT28C64-15PC). Kakailanganin mo rin ng USB programmer device para i-flash ang Atmel chip.
Ang”-7″sa dulo ng HM62256BLP-7 ay nagpapahiwatig ng bilis ng RAM-sa kasong ito ay 70ns, ngunit maaari kang makakuha ng bahagyang mas mabagal na mga chip upang gumana, posibleng kasingbagal ng 100ns (o”-10″sa dulo ng pangalan ng modelo ng chip). Sa karamihan ng mga kaso, kung malapit na ang bilis, maaaring pabagalin ang RAM upang tumugma sa bilis ng board.
Hitachi HM62256BLP-7 SRAM chip.
Sa kaliwa ng RAM at EPROM ay isang Motorola 6502 CPU, na tumatakbo sa 1 MHz, bagama’t maaari mong makuha ang modernong katumbas ng 6502, ang 65C02 upang gumana din. Ang 65C02 ay isang modernong kapalit para sa 6502, at ginawa ng Western Design Center (ang kahalili na kumpanya sa MOS Technology), na matatagpuan sa Mesa, AZ.
Ang 65C02 ay gumagamit ng mas modernong disenyo, gumagamit ng mas mababa sa 1/10 ng kapangyarihan ng orihinal na 6502s, at maaaring patakbuhin sa variable na bilis hanggang 14MHz. Ang Pin 37 ay isang pin ng input ng orasan upang ang CPU ay maaaring hinimok ng isang panlabas na oscillator-sa kasong ito ang 1MHz na kristal.
Ang mas bagong W65C02S6TPG-14 CPU ng WDC, na maaaring tumakbo sa hanggang 14MHz at gumagamit ng mas kaunting kapangyarihan.
Kung hindi ka gagamit ng 65C02, kakailanganin mong kumuha ng gumaganang ginamit na 6502, o isang Bagong Lumang Stock mula sa mga online na nagbebenta. Matatagpuan ang mga ito sa eBay, minsan sa Amazon, sa AliExpress, o maraming iba pang nagbebenta sa ibang bansa.
Habang ginawa ng MOS Technology ang orihinal na 6502, kalaunan ay binigyan sila ng lisensya sa Motorola upang makakita ka ng 6502 na mga modelo mula sa parehong kumpanya. Ang 6502 ay nabigyan din ng lisensya sa Rockwell International at UMC.
Mahahanap mo pa rin ang NOS Rockwell at UMC 6502 na mga dekada na ngunit hindi pa nagagamit.
A NOS UMC 6502, date code”9028T”-ika-2 linggo ng ika-8 buwan ng 1990.
Karaniwan, ang mga chips ay may date stamp code sa mga ito kasama ang linggo, buwan, at taon na ginawa ang mga ito. Ang taon ay karaniwang unang nakalista sa code ng petsa-ngunit hindi palaging.
Sa larawan sa ibaba, ang 6502 date stamp code ay”0988″-na nagpapahiwatig ng Setyembre, 1988.
6502 CPU at Motorola MC6821P PIA chip. Ang isang MC6822P ay maaari ding gumana.
Sa karamihan ng mga kaso, sa pangkalahatan ay mas mahusay na makuha ang pinakabagong mga chip na posible dahil ang ilang mga maagang pagpapatakbo ng produksyon ay maaaring nagkaroon ng mga problema, at sa karamihan ng mga kaso, ang mga materyales ng chips ay bumababa sa paglipas ng panahon. Kaya ang isang chip na ginawa noong 1992 ay karaniwang mas mahusay kaysa sa isang ginawa noong 1979.
Karaniwan, ang mga tunay na Motorola 6502 ay may logo ng Motorola”M”sa mga ito, ngunit hindi palaging. Ang ilang mga chip ay nauuwi bilang e-waste sa China o India at kinukuha mula sa mga board, nire-refurbished, at muling pinalalabas, kadalasan ay may generic na print sa mga ito, tulad ng ipinapakita sa itaas.
Alamin na ang ilang chips mula sa China ay pekeng at bagama’t maaaring gumana ang mga ito, maaaring hindi sila maaasahan o gumana nang matagal.
Kakailanganin mo rin ang ilang IC socket, jumper header, PC motherboard-style na plastic jumper, iba’t ibang resistors, at ceramic capacitor-karamihan, ngunit hindi lahat ng 104’s o 0.1uF.
Para sa buong listahan ng Bill of Materials (BOM) para sa proyekto, tingnan ang pahina ng GitHub ni Tebi.
Solder socket at basic parts
Una gugustuhin mong maghinang sa lahat ng resistors, ceramic capacitor, ang isang electrolytic capacitor, isang maliit na panandaliang naka-on push button switch, at ang mga header ng jumper. Maglaan ng oras at i-verify ang lahat ng solder joints.
Mayroong dalawang uri ng IC socket: ang isang uri (ang mas murang uri) ay may flat-leaf-like na koneksyon at isang plastic surround na nakapatong sa PCB.
Bagama’t mas mura, ang mga ito ay hindi rin maaasahan: ang maliliit na dahon ng metal na may hawak na mga IC pin ay maaaring ma-dislocate, at imposibleng makita ang ilalim ng plastic housing dahil ito ay naka-flush.
Ang iba pang uri ng socket ay gumagamit ng mga bilugan na nakataas na pin, na may mga bilog na butas sa itaas, at kadalasang gintong-plated upang maiwasan ang kaagnasan-kahit na mga dekada sa hinaharap. Ang pangalawang uri ng socket ay nagkakahalaga ng kaunti pa ngunit sulit ito.
Pinapayagan ka rin nilang suriin ang tuktok na bahagi ng mga solder joint sa isang PCB upang matiyak na walang mga hindi gustong tulay sa pagitan ng mga butas (kilala bilang vias).
Tandaan na ang mga socket at IC ay karaniwang may hugis kalahating bilog na bingaw sa isang dulo. Karaniwan, ang mga PCB ay mayroon ding mga marka na may semi-circle notch. Pasok ang mga socket upang tumugma ang mga bingaw sa mga marka ng PCB.
Siguraduhin ng mga bingaw na maipasok ang mga IC sa tamang paraan na tumutugma sa mga socket. Pinipigilan nito ang mga fried chips dahil sa pabalik na pagpasok.
Kakailanganin mo ring maghinang sa maliit na switch sa pag-reset, o mga header para sa isang panlabas na switch, power, at power LED sa kanang sulok sa itaas ng board.
Ang mahabang pin header sa ilalim ng board ay may iba’t ibang koneksyon, kabilang ang power at iba pang feature. Tingnan ang pahina ng GitHub at dokumentasyon para sa kumpletong pinout ng lahat ng mahabang jumper pin.
Ang isang paunang build na may lahat ng maliliit na bahagi na naka-install ay ganito ang hitsura:
Initial RC6502 small parts assembly: lahat maliban sa mga IC, crystal, at Arduino.
Mag-install ng mga chips
Susunod, maghinang sa dalawang row ng pin socket header para sa Arduino Nano sa kanang sulok sa itaas ng board, at i-install ang lahat ng chips sa kanilang mga socket maliban sa Atmel EPROM chip.
Ang ibig sabihin ng EPROM ay Erasable Programmable Read Only Memory. Kakailanganin mong gumamit ng USB programmer device sa isang PC para i-flash ang EPROM chip.
Kapag nag-flash, ipasok ang Atmel chip sa socket nito. Gayundin, maghinang sa 1Mhz na kristal sa kaliwang sulok sa itaas ng board.
Maging maingat sa paglalagay ng mga IC sa kanilang mga socket upang matiyak na walang mga pin na mabaluktot o makaligtaan ang mga butas ng socket.
Susunod, magdagdag ng maliliit na plastic jumper sa mga jumper pin gaya ng inilarawan sa dokumentasyon. May mga jumper para sa dami ng RAM, PIA-enable, ROM-enable, at iba pa. Binabago ng bawat setting ng jumper kung paano kumikilos ang board.
Backplane at opsyonal na video
Isang mas naunang bersyon ng RC6502 Apple gumamit ako ng backplane board, na maaari mo pa ring itayo, at ilang mga anak na card na pinagana o hindi pinagana ang mga jumper. Ngunit ang mas bagong bersyon ng board ay isang Single Board Computer (SBC) na disenyo na self-contained.
Kung gusto mong gamitin ang backplane board, kakailanganin mong gumamit ng angled header sa SBC para sa mahabang header connector upang ang board ay maisaksak nang patayo sa backplane.
Kung gusto mong gumamit ng aktwal na video display kasama ang board, kakailanganin mong magdagdag ng dalawang maliit, karagdagang board (tinatawag na Video Display Units), at ang backplane board. Kung hindi, pagkatapos ay kumonekta ka sa SBC board sa isang serial connection sa pamamagitan ng Arduino.
Tingnan ang Bus.md na dokumento sa ang GitHub page para sa buong paglalarawan ng system bus at pinout.
Power
Kung gusto mong paganahin ang board gamit ang USB connection ng Arduino, at hindi mo ginagamit ang backplane, magdagdag ng jumper sa dalawa-pin header sa tabi lamang ng power LED na may markang”USB Power”.
Kung hindi, ang backplane ay nagbibigay ng kuryente mula sa DC power jack nito sa mga pin 17 at 18 ng mahabang header sa SBC. Para sa Arduino USB connection, maaaring gusto mong kumuha ng USB cable na may power switch dito para ma-on at off mo ang power.
Kapag handa na ang lahat, ikonekta ang Arduino USB cable, isaksak ito sa iyong Mac, at itapon ang power switch.
Koneksyon sa Arduino
Kapag naka-on na, kakailanganin mong ilunsad ang Arduino IDE app sa iyong Mac o PC at sa ilalim ng Tools-> Mga Board->Arduino AVR Boards piliin ang Arduino Nano. Sa sandaling napili, maaaring kailanganin mo ring itakda ang serial port sa ilalim ng Tools->Port kung hindi ito awtomatikong pinipili.
Kapag nakakonekta na sa Arduino IDE, i-upload ang PIA Communicator sketch program sa Arduino gamit ang IDE gaya ng nabanggit sa dokumentasyon. Nagbibigay-daan ito sa serial monitor ng IDE na makipag-ugnayan sa Apple I at ipakita ang output nito sa isang window sa iyong Mac.
Kung nagkakaproblema ka sa pagkonekta, tingnan ang baud rate-ang rate kung saan inililipat ang data sa serial connection. Dapat itong itakda sa 115200.
Kung gumagana ang lahat gaya ng nakaplano, sa serial monitor sa Arduino IDE dapat kang makakita ng isang tandang padamdam:”!”. Maaari ka na ngayong mag-type ng anumang hexadecimal address upang ipakita ang mga nilalaman nito.
Hinahayaan ka rin ng PIA Communicator na mag-upload ng parehong 6502 assembly at BASIC program sa Apple I at patakbuhin ang mga ito. Kapag na-load mo na ang BASIC sa Apple I maaari mong i-type ang mga BASIC program nang direkta sa Apple I sa serial connection at patakbuhin ang mga ito.
Pinapalitan ng BASIC ang command line prompt para magpakita ng”>”sa halip na”!”sa serial window.
Built-in na apps
Tatlong app ang binuo sa Apple I ROM. Ang mga ito ay nakalista sa likod ng RC6502 PCB sa ilalim ng CPU, kasama ang mga ROM memory address sa hexadecimal na kailangan mo upang ma-access ang mga ito. Ito ay:
Integer BASIC (E000) Krusader Assembler (F000) Woz Monitor (FF00)
Upang patakbuhin ang alinman sa tatlong programa, sa”!”prompt i-type ang hex address, na sinusundan ng isang puwang, pagkatapos ay isang malaking titik na”R”, pagkatapos ay pindutin ang Bumalik. Halimbawa, upang i-load ang Integer BASIC sa Apple I mula sa Arduino serial window sa iyong Mac type:
at pindutin ang Return.
Dapat mong makita ang senyales na pagbabago ng serial window sa:”>”.
Nasa BASIC ka na ngayon at maaaring mag-type ng mga BASIC na programa. Kapag naipasok na ang isang BASIC program, i-type ang run at pindutin ang Return upang patakbuhin ito.
Ang mundo ng retro computing ay lumalawak at ang RC6502 ay isang mabilis at murang paraan upang makapagsimula sa isang Apple I build.
Siguraduhing tingnan din ang kahanga-hangang libro Apple I Replica Creation: Back to the Garage ($6 PDF)-na naglalaman ng panimula ni Steve Wozniak mismo.