De OSHintosh is een open-source hardware-implementatie van een Macintosh 512Ke logic board, ontworpen als een Diskless Workstation. In plaats van traditionele opslag start het systeem op vanaf een in ROM gebakken schijf en maakt het gebruik van LocalTalk voor netwerkcommunicatie.
Technische specificaties en ontwerp:
- Hardware: Het maakt gebruik van een twee-laags PCB, 41256 RAM, een ATX-voeding en een geïntegreerde Pico Scan Converter.
- Ontwikkeling: De auteur beschrijft de overgang van VDEV1, die diverse handmatige hardware-aanpassingen (bodges) vereiste, naar de verbeterde VDEV2-versie.
- Programmering: Er is een uitgebreide handleiding opgenomen voor het programmeren van negen IC's (GALs, EEPROMs en een ATTINY85) met behulp van de
minipro tool.
Daarnaast legt het artikel uit hoe men via emulatie (Mini vMac) en command-line tools (srec_cat) nieuwe ROM-images kan maken. Het sluit af met instructies voor de configuratie van AppleShare en de specifieke poortindeling voor printer- en modemverbindingen.
OSHintosh: Een Open Source Hardware Diskloze 68000 Macintosh
Wat is de OSHintosh?
In essentie is de OSHintosh een Macintosh 512Ke logic board, met een aantal specifieke wijzigingen:
- Hij start op vanaf een schijf die in de ROM is "gebakken".
- De stroomvoorziening wordt verzorgd door een ATX-voeding.
- Er is een geïntegreerde Pico Scan Converter aanwezig.
- Een SCHWIM vervangt de IWM.
De ROM-schijf is gebaseerd op de originele ROMinator. Daarnaast heeft de OSHintosh de optie om extra bestanden te benaderen via een LocalTalk-server. Omdat er geen SCSI, geen floppy-drive of andere massageheugens aanwezig zijn, fungeert het apparaat effectief als een Diskless Workstation.
Het project kan worden beschouwd als de spirituele opvolger van de Macintosh XO (ook bekend als de Macintosh Classic).
Technische details van het ontwerp
- PCB: Het board is ontworpen met slechts twee lagen, wat de productiekosten aanzienlijk verlaagt.
- Geheugen: Er is gekozen voor 41256 RAM om het probleem van de huidige schaarste en hoge kosten van 30-pins RAM-sockets te omzeilen. Hierdoor is het geheel een DIP THT Macintosh. Dit is de eerste Macintosh die op een twee-laags PCB is ontworpen sinds het "SCC Word Wide" prototype uit 1982.
- Vormfactor: Het board heeft ongeveer de vorm van ATX, hoewel de montagegaten niet ATX-conform zijn. Het is bedoeld om qua positionering tussen de ITX Plus (van Max1zzz) en de PicoMac (van evansm7) in te zitten.
- Functionaliteit: Het RAM is beperkt tot 512K en er is geen massageheugen, maar het beschikt over "echte" LocalTalk-poorten voor communicatie met een AppleTalk-netwerk, en het ondersteunt geluid.
Hardware-opmerkingen en Disclaimer
De initiële VDEV1-printplaat vereiste een aanzienlijk aantal ad-hoc aanpassingen (bodges) om operationeel te worden:
- Ontbrekende track toegevoegd tussen pin 1 van de 74ls161s en pin 8 van de 74ls04-inverter.
- Ontbrekende 47R-weerstand (TSEN2) toegevoegd van pin 11 van de TSG en ASG naar ground.
- Vier ontbrekende 2k2 pull-up weerstanden toegevoegd op adreslijnen A9, A10, A11 en A12.
- Twee ontbrekende 3k3 pull-up weerstanden toegevoegd op !AS en !VIAIRQ.
- Pin 4 van IC43 moet verbonden worden met -12V in plaats van GND.
- Pin 12 van IC18 moet verbonden worden met track VA11 in plaats van track VA12.
- Pin 8 van IC43 moet verbonden worden met +12V in plaats van 5V.
- Fouten in de zeefdruk voor R68, R69, R70 en R71 (het schema en de BOM zijn correct, de zeefdruk is onjuist).
- Fouten in de zeefdruk voor R40 en R43 (het schema en de BOM zijn correct, de zeefdruk is onjuist).
VDEV2 is voltooid en geüpload. Deze versie zou alle problemen van de VDEV1-printplaat moeten oplossen, maar is nog niet getest.
Vereisten voor Programmering
Een Ti866-programmeur of een vergelijkbaar model wordt aanbevolen. In totaal moeten negen programmeerbare IC's worden geconfigureerd:
- 6 x 16V8 GALs
- 2 x 39F040 EEPROMs
- 1 x ATTINY85 (RTC)
Moeilijk verkrijgbare componenten
Let op dat de volgende IC's mogelijk lastig te vinden zijn:
- 15.6672mhz oscillator (eventueel via eBay of op maat besteld).
- Zilog Z8530 SCC.
- 6522 VIA (de W65C22N6TPG zou een geschikt alternatief moeten zijn en wordt nog steeds geproduceerd).
- 41256 DRAM (x16!).
Daarnaast gaat dit project ervan uit dat u toegang heeft tot originele Macintosh-periferie of zelf adapters toevoegt. De OSHintosh maakt gebruik van de originele quadrature 9-pins muis en het originele RJ-toetsenbord.
Instructies voor Programmering
GAL JED-bestanden
De GALs zijn afkomstig uit het PLD-archief. De programmering kan worden uitgevoerd met minipro via het volgende commando:
minipro -p GAL16V8* -w (GAL)16V8.jed
De ATTINY85 programmeren
De ATTINY85 RTC-firmware (ontwikkeld door pgreenland) kan met een Ti866 onder minipro als volgt worden geprogrammeerd:
- Wis de ATTINY85:
minipro -p ATTINY85 -E
- Flash de fuses zoals gedefinieerd in het bestand
attiny_RTC.fuses:
minipro -p ATTINY85 -c config -w attiny_RTC.fuses -e
- Flash de firmware naar de ATTINY:
minipro -p ATTINY85 -e -c code -f ihex -w ATtinyRTC.hex
Het maken van nieuwe ROMinator-schijven
Normaal gesproken wordt de ROMinator geprogrammeerd met de BMOW-flasher tool op een Macintosh. Omdat de OSHintosh geen massageheugen heeft, is dit niet mogelijk. In plaats daarvan kan een modded ROM als volgt worden gemaakt:
- Gebruik Mini vMac (of een andere emulator) om een kopie van het schijmimage
rominator-disk.dsk aan te passen met de gewenste bestanden en programma's. Het wordt aangeraden om ongewenste bestanden te verwijderen in plaats van de schijf te wissen, om corruptie te voorkomen.
- Voeg het "raw" ROMinator-binairbestand (de ROM zonder het schijmimage) en de nieuwe schijf samen. Op een Unix-machine kan dit met
cat:
cat ROMINATORRAW.bin oshintoshdisk.dsk > OSHINTOSH_COMBINED.bin
- Splits het gecombineerde
.bin-bestand in twee images (high en low) voor de OSHintosh.
Voor de HIGH ROM: sreccat -o HIGH.bin -binary OSHINTOSHCOMBINED.bin -binary -split 2 0
Voor de LOW ROM: sreccat -o LOW.bin -binary OSHINTOSHCOMBINED.bin -binary -split 2 1
- Flash de resulterende images naar de EEPROMs:
minipro -p SST39SF040 -w OSHINTOSHLOW.bin minipro -p SST39SF040 -w OSHINTOSHHIGH.bin
Bij succes zal de OSHintosh een "ping" geven in plaats van het gebruikelijke startgeluid. Wanneer de "R"-toets wordt ingedrukt, start de OSHintosh op vanaf de ROM.
AppleShare, Chooser en Seriële Poorten
Voor het gebruik van AppleShare om programma's op de OSHintosh uit te voeren, is het aanbevolen om de OSHintosh Disk.dsk-bestanden als uitgangspunt te gebruiken. De variant van Chooser op deze opstartschijf is namelijk hersteld uit de Macintosh Classic ROM-schijf. Normaal start Chooser niet op een vergrendelde schijf, maar de variant van de Macintosh Classic werkt wel op vergrendelde opstartschijven. Gebruik daarom het systeembestand uit OSHintosh Disk.dsk of OSHintosh Disk 6.0.8.dsk.
Poortconfiguratie:
- Connector CN3 (middelste connector): Printerpoort / AppleShare.
- Connector CN2 (meest linkse connector): Modemconnector.
Erkenningen
Veel dank aan: AlextheCat, Bitsavers, Bolle, Daniel Kottke, Demik, GuruThree, HKZ, Mattmos, Max1zzz, Pgreenland, The PLD Archive, en vele anderen.
OSHintosh: Een Open Source Hardware Diskloze 68000 Macintosh
Wat is de OSHintosh?
In essentie is de OSHintosh een Macintosh 512Ke logic board, met een aantal specifieke wijzigingen:
- Hij start op vanaf een schijf die in de ROM is "gebakken".
- De stroomvoorziening wordt verzorgd door een ATX-voeding.
- Er is een geïntegreerde Pico Scan Converter aanwezig.
- Een SCHWIM vervangt de IWM.
De ROM-schijf is gebaseerd op de originele ROMinator. Daarnaast heeft de OSHintosh de optie om extra bestanden te benaderen via een LocalTalk-server. Omdat er geen SCSI, geen floppy-drive of andere massageheugens aanwezig zijn, fungeert het apparaat effectief als een Diskless Workstation.
Het project kan worden beschouwd als de spirituele opvolger van de Macintosh XO (ook bekend als de Macintosh Classic).
Technische details van het ontwerp
- PCB: Het board is ontworpen met slechts twee lagen, wat de productiekosten aanzienlijk verlaagt.
- Geheugen: Er is gekozen voor 41256 RAM om het probleem van de huidige schaarste en hoge kosten van 30-pins RAM-sockets te omzeilen. Hierdoor is het geheel een DIP THT Macintosh. Dit is de eerste Macintosh die op een twee-laags PCB is ontworpen sinds het "SCC Word Wide" prototype uit 1982.
- Vormfactor: Het board heeft ongeveer de vorm van ATX, hoewel de montagegaten niet ATX-conform zijn. Het is bedoeld om qua positionering tussen de ITX Plus (van Max1zzz) en de PicoMac (van evansm7) in te zitten.
- Functionaliteit: Het RAM is beperkt tot 512K en er is geen massageheugen, maar het beschikt over "echte" LocalTalk-poorten voor communicatie met een AppleTalk-netwerk, en het ondersteunt geluid.
Hardware-opmerkingen en Disclaimer
De initiële VDEV1-printplaat vereiste een aanzienlijk aantal ad-hoc aanpassingen (bodges) om operationeel te worden:
- Ontbrekende track toegevoegd tussen pin 1 van de 74ls161s en pin 8 van de 74ls04-inverter.
- Ontbrekende 47R-weerstand (TSEN2) toegevoegd van pin 11 van de TSG en ASG naar ground.
- Vier ontbrekende 2k2 pull-up weerstanden toegevoegd op adreslijnen A9, A10, A11 en A12.
- Twee ontbrekende 3k3 pull-up weerstanden toegevoegd op !AS en !VIAIRQ.
- Pin 4 van IC43 moet verbonden worden met -12V in plaats van GND.
- Pin 12 van IC18 moet verbonden worden met track VA11 in plaats van track VA12.
- Pin 8 van IC43 moet verbonden worden met +12V in plaats van 5V.
- Fouten in de zeefdruk voor R68, R69, R70 en R71 (het schema en de BOM zijn correct, de zeefdruk is onjuist).
- Fouten in de zeefdruk voor R40 en R43 (het schema en de BOM zijn correct, de zeefdruk is onjuist).
VDEV2 is voltooid en geüpload. Deze versie zou alle problemen van de VDEV1-printplaat moeten oplossen, maar is nog niet getest.
Vereisten voor Programmering
Een Ti866-programmeur of een vergelijkbaar model wordt aanbevolen. In totaal moeten negen programmeerbare IC's worden geconfigureerd:
- 6 x 16V8 GALs
- 2 x 39F040 EEPROMs
- 1 x ATTINY85 (RTC)
Moeilijk verkrijgbare componenten
Let op dat de volgende IC's mogelijk lastig te vinden zijn:
- 15.6672mhz oscillator (eventueel via eBay of op maat besteld).
- Zilog Z8530 SCC.
- 6522 VIA (de W65C22N6TPG zou een geschikt alternatief moeten zijn en wordt nog steeds geproduceerd).
- 41256 DRAM (x16!).
Daarnaast gaat dit project ervan uit dat u toegang heeft tot originele Macintosh-periferie of zelf adapters toevoegt. De OSHintosh maakt gebruik van de originele quadrature 9-pins muis en het originele RJ-toetsenbord.
Instructies voor Programmering
GAL JED-bestanden
De GALs zijn afkomstig uit het PLD-archief. De programmering kan worden uitgevoerd met minipro via het volgende commando:
minipro -p GAL16V8* -w (GAL)16V8.jed
De ATTINY85 programmeren
De ATTINY85 RTC-firmware (ontwikkeld door pgreenland) kan met een Ti866 onder minipro als volgt worden geprogrammeerd:
- Wis de ATTINY85:
minipro -p ATTINY85 -E
- Flash de fuses zoals gedefinieerd in het bestand
attiny_RTC.fuses:
minipro -p ATTINY85 -c config -w attiny_RTC.fuses -e
- Flash de firmware naar de ATTINY:
minipro -p ATTINY85 -e -c code -f ihex -w ATtinyRTC.hex
Het maken van nieuwe ROMinator-schijven
Normaal gesproken wordt de ROMinator geprogrammeerd met de BMOW-flasher tool op een Macintosh. Omdat de OSHintosh geen massageheugen heeft, is dit niet mogelijk. In plaats daarvan kan een modded ROM als volgt worden gemaakt:
- Gebruik Mini vMac (of een andere emulator) om een kopie van het schijmimage
rominator-disk.dsk aan te passen met de gewenste bestanden en programma's. Het wordt aangeraden om ongewenste bestanden te verwijderen in plaats van de schijf te wissen, om corruptie te voorkomen.
- Voeg het "raw" ROMinator-binairbestand (de ROM zonder het schijmimage) en de nieuwe schijf samen. Op een Unix-machine kan dit met
cat:
cat ROMINATORRAW.bin oshintoshdisk.dsk > OSHINTOSH_COMBINED.bin
- Splits het gecombineerde
.bin-bestand in twee images (high en low) voor de OSHintosh.
Voor de HIGH ROM: sreccat -o HIGH.bin -binary OSHINTOSHCOMBINED.bin -binary -split 2 0
Voor de LOW ROM: sreccat -o LOW.bin -binary OSHINTOSHCOMBINED.bin -binary -split 2 1
- Flash de resulterende images naar de EEPROMs:
minipro -p SST39SF040 -w OSHINTOSHLOW.bin minipro -p SST39SF040 -w OSHINTOSHHIGH.bin
Bij succes zal de OSHintosh een "ping" geven in plaats van het gebruikelijke startgeluid. Wanneer de "R"-toets wordt ingedrukt, start de OSHintosh op vanaf de ROM.
AppleShare, Chooser en Seriële Poorten
Voor het gebruik van AppleShare om programma's op de OSHintosh uit te voeren, is het aanbevolen om de OSHintosh Disk.dsk-bestanden als uitgangspunt te gebruiken. De variant van Chooser op deze opstartschijf is namelijk hersteld uit de Macintosh Classic ROM-schijf. Normaal start Chooser niet op een vergrendelde schijf, maar de variant van de Macintosh Classic werkt wel op vergrendelde opstartschijven. Gebruik daarom het systeembestand uit OSHintosh Disk.dsk of OSHintosh Disk 6.0.8.dsk.
Poortconfiguratie:
- Connector CN3 (middelste connector): Printerpoort / AppleShare.
- Connector CN2 (meest linkse connector): Modemconnector.
Erkenningen
Veel dank aan: AlextheCat, Bitsavers, Bolle, Daniel Kottke, Demik, GuruThree, HKZ, Mattmos, Max1zzz, Pgreenland, The PLD Archive, en vele anderen.