Hobbyist bouwt Amiga 600 op basis van fpga

Een gebruiker van het AmigaLove-forum heeft een Commodore Amiga 600 gebouwd door gebruik te maken van een fpga en het board hiervoor in te bouwen in een originele behuizing van de homecomputer. De build was niet goedkoop volgens hem.

Gebruiker mattsoft spreekt van een lastige build, die bij elkaar ook nog eens 390 dollar, omgerekend ongeveer 333 euro, kostte. Hij vatte het plan voor de fpga-Amiga op toen hij las over het MiSTer-project, dat ook een minimig AGA-variant heeft. Hierbij worden Amiga-chipsets hardwarematig geēmuleerd met een fpga, een concept dat de Nederlander Dennis van Weeren in 2005 als eerste toepaste.

Mattsoft maakte gebruik van een Terasic DE10-Nano-pcb met een Altera Cyclone-fpga en een ARM Cortex-A9. Vervolgens kocht hij een originele Amiga 600-behuizing op eBay en een toetsenbord op Amibay. Dit laatste verbond hij met een Tynemouth Software A600-keyboardinterface en ook plaatste hij een Zero4U-usb-hub toe. Hij probeerde de i/o zoveel mogelijk via de originele plekken van de interfaces te laten verlopen en de behuizing zo min mogelijk aan te passen. Zo zijn op de plekken van de DB9-aansluitingen usb-poorten geplaatst.

Amiga 600 fpga mattsoft
Amiga 600 fpga mattsoftAmiga 600 fpga mattsoftAmiga 600 fpga mattsoft

Door Olaf van Miltenburg

Nieuwscoördinator

11-07-2018 • 12:59

52

Reacties (52)

52
48
31
7
1
12
Wijzig sortering
Ik heb het artikel nu 4 keer gelezen, maar snap nog steeds niet waar het over gaat... Kan aan mij liggen natuurlijk, maar misschien kan er nog een alinea "jip-en-janneke" uitleg bij komen?

[Reactie gewijzigd door DominoNL op 23 juli 2024 03:26]

De Commodore Amiga 600 is een oude personal computer. Die allang niet meer gemaakt wordt.

Waar dit artikel om draait is dat de hardware en ik gok ook het besturingssysteem van de Amiga 600 in hardware ge-emuleerd wordt. Dit gebeurt met de hulp van een FPGA (Field Programmable Gate Array). Wat in weze een programmeerbare chip is, die je kan programmeren via een taal dat VHDL heet(Very high speed intergrated circuit Hardware Description Language).

Het verschil met een bekende microcontroller of een Pi is de manier.
Bij een microcontroller moet je software schrijven wat door de microcontroller wordt uitgevoerd. De microcontroller heeft een vast aantal instructies en de software wordt omgezet in machine taal wat de microcontroller kan uitvoeren.

Voor een FPGA maak je geen software, maar beschrijf je hoe de hardware van de FPGA aan elkaar geknoopt moet worden om een bepaalde functie te maken.

Je maakt dus in feite een chip die alleen de functies heeft die jij omschijft. Wat in dit geval het emuleren is van een Amiga 600. Dit is best knap en vandaar het artikel.

edit: Spelling.

[Reactie gewijzigd door maxxie85 op 23 juli 2024 03:26]

De Amiga had ook nog wat specifieke hardware voor grafische functies en geluid. Zijn deze ook in de FPGA opgenomen? Het OS was geheel in C geschreven en erg toegankelijk. Heerlijk om tegenaan te programmeren.
Ja, de FGPA doet een hele Amiga na qua hardware, OCS/ECS/AGA naar keuze.
En als je een andere core in laadt, doet hij wat anders.
(Van een Acorn Archimedes tot een ZX-Spectrum)
Toen de allereerste Amiga uitkwam, was die specifieke hardware bijzonder. Het ging om de Copper (co-processor) en de Blitter (block-image transfer). Zie "Original Chip Set". Daar zaten wel tienduizenden (!) transistoren in, de chips hadden direct toegang tot het werkgeheugen (niet via de CPU), en ze konden paralelle verwerkingen doen op een reeks geheugenlocaties. Toen een hele prestatie, nu onderdeel van iedere CPU of GPU. En tegenwoordig kun je het dus nadoen met een FPGA. Maar eind jaren 1980 las ik vol bewondering de artikelen in papieren tijdschriften daarover. :)

Edit: Ik dacht tienduizenden transistoren, maar het zijn er duizenden. En hier is een vergelijking met een GTX 780.

[Reactie gewijzigd door enver63 op 23 juli 2024 03:26]

Gebaseerd op Minimig, dus ik zou zeggen ja (al staat het niet in de featurelijst op Github):

Core features supported
chipset variants : OCS, ECS, AGA
chipRAM : 0.5MB - 2.0MB
slowRAM : 0.0MB - 1.5MB
fastRAM : 0.0MB - 24MB
CPU core : 68000, 68010, 68020
kickstart : 1.2 - 3.1 (256kB, 512kB & 1MB kickstart ROMs currently supported)
HRTmon with custom registers mirror
floppy disks : 1-4 floppies (supports ADF floppy image format), with normal & turbo speeds
hard disks : 1-2 hard disk images (supports whole disk images, partition images, using whole SD card and using SD card partition)
video standard : PAL / NTSC
supports normal & scandoubled video output (15kHz / 30kHz) - can be used with a monitor or a TV with a SCART cable
peripherals : real Amiga mice, real Amiga joysticks, USB keyboards, USB mice, USB gamepads, MIDI in / out
could potentially support anything that can be connected to USB (ethernet, RTC, USB Flash, ...)
Geweldig, ik had de mijne nooit moeten verkopen ... :'(
Ik heb mijn 1200 nog liggen, laatst nog even opgestart, niet te geloven dat het allemaal nog werkt.

[Reactie gewijzigd door Frost_Azimov op 23 juli 2024 03:26]

Kijk uit met lekkende condensators. Als je hem goed wilt houden kan je de best (laten) vervangen. Die troep uit de condensators vreet namelijk door je moederbord heen.
Alleen de timer batterij leeg :P
Heeft een 1200 (of 600 en 500) niet ;-). 2000, 3000 en 4000 wel (eruit halen: die lekken en slopen je moederbord)
Goede. Volgens mij geen klok dus geen batterij.
Nee, daarvoor moest je een insteekmodule (voor de front connector) kopen. Die modules hadden extra ram en een Real Time Clock, want RAM was wat beperkt op de A1000 (256K als ik het me goed herinner).

Hier een voorbeeld van een RAM expansion van Commodore zelf (helaas zonder RTC) => http://www.bigbookofamiga...bboah/product.aspx?id=971

Later kwamen er voor de A1000 oplossingen die intern geplaatst moesten worden (meestal met een PCB dat in de processor socket geplaatst moest worden waarop dan weer de processor zelf in een socket geplaatst werd.
Besturingsysteem (kickstart bij de Amiga) zit in ROM en zal meelopen via de ge-emuleerde omgeving. Op de FPGA emuleert men gewoon een 68k CPU. Zie de MiSTer github repo.
Eigenlijk is de kunst van dit project niet zozeer het emuleren e.d. Het is voornamelijk de build: een FPGA dev board in een A600 proppen en bekabelen. Software/hardware is er niet voor ontwikkeld. Een beetje een build-log frontpage post dus. Maar Amiga dus altijd +1.
Hij heeft een Amiga 600 nagebouwd met moderne onderdelen... O-)
De reactie kan ik natuurlijk niet wijzigen, maar ik kan je wel iets proberen uit te leggen.

Het artikel gaat over een Amiga die gebouwd is met hedendaagse hardware.

De hardware is een combinatie van een FPGA (field-programmable gate array) en een ARM Cortex-A9 die in een SoC (System on a Chip) zitten. Een FPGA kan je zien als programmeerbare hardware; je kan bijvoorbeeld een bestaande processor in een FPGA programmeren (heel kort door de bocht). De ARM processor stuurt de hele boel aan. De Terasic DE10-Nano-pcb is een printplaatje waar de SoC op gesoldeerd zit met RAM, Flash etc. etc..

Iemand heeft dus een Amiga weten na te bouwen in de SoC met de bovengenoemde hardware in een origineel kastje.
De originele Amiga 600 draait op een Motorola 68000 @ 7.nogwat MHz. Deze chip wordt niet meer gemaakt.

Wat de man die in het artikel genoemd wordt gedaan heeft, is een FPGA zo herprogrammeren dat deze op hardware niveau zich gedraagt als een 68000. Kortom, de logische poorten (AND/OR enz.) zodanig nagemaakt dat deze FPGA de instructieset van een 68000 begrijpt en zichzelf er naar gedraagt.

Dan kun je dus, middels wat omwegen, originele Amiga 6000 software door de FPGA laten draaien.
Nut en noodzaak? Geen.
Buiten de enorme kennis ervaring die hij heeft opgedaan. FPGA's zijn lastig te doorgronden en met zoiets complex als dit moet je er helemaal induiken. Buiten FPGA's leer je met zo'n project ook een hoop over processorarchitectuur, databussen enzovoorts. In dit geval ook 3D printing en waarschijnlijk board design.

Plus dat als hij het open source maakt, andere liefhebbers ook veel beter kunnen emuleren.

[Reactie gewijzigd door GekkePrutser op 23 juli 2024 03:26]

Mijn reactie was op het nut, niet de noodzaak.

Hobby's zijn zelden noodzakelijk. Net als films, muziek, feesten, bier, vuurwerk en nog veel meer. Niettemin zou het leven zonder al die dingen behoorlijk saai zijn :)

In dit geval is het nog iets waar je ontzettend veel van leert. Ik heb veel respect voor deze man _/-\o_

[Reactie gewijzigd door GekkePrutser op 23 juli 2024 03:26]

Je ziet fpga steeds meet opkomen in de IT. Also je over 10 jar relevant wilt zijn lan het geen kwaad er naar te kijken. Daarbij: alle cpu's zijn in feite fpga maar Dan zonder for (field programmable). Dus tenzij je stelt: kan de mensheid zonder computers? Is het antwoord: nee.
Overdrijven is ook een vak.

Zelfs als je abacus als eerste computer zou beschouwen, blijven er miljoenen jaren over dat diersoort mens zonder computer kon leven.

Vergelijk luiheid & afhankelijkheid door verslaving in voornamelijk "ontwikkelende" landen niet met primaire levensbehoeften en wat daar voor nodig is.

We zijn pas echt verloren als mensheid niet zonder computers zou kunnen.
Nut/noodzaak is niet zo 1-2-3 vast te stellen, en is subjectief. Hoeveel procent van jouw dagbesteding is nuttig en noodzakelijk geweest de laatste tijd? En met hoeveel procent had de mensheid ook wel zonder gekund? Hoe stel je dat vast? Heck, denk je dat de mensheid een noodzaak heeft aan jou als individu? Zou de wereld niet gewoon doordraaien als je er morgen niet meer zou zijn? Heb je dan wel of geen nut voor de mensheid om überhaupt te bestaan als het ook zonder je kan?
Al met al lijkt het dat je vragen over noodzaak en of de mensheid zonder kan, weinig zin hebben en verkeerde vragen zijn. :)
Dan is het toch efficiënter zo een artikel te negeren in plaats van een geladen vraag in een retro topic te pleuren, hoor ; je kan met je tijd beter iets nuttig doen, zoals reageren op coole artikels.

Terugkeren naar een probleem met nieuwe middelen dat je vroeger niet kon oplossen kan bijzonder helend zijn voor je psyche en je misschien van je fixatie op drognoodzakelijkheden afhelpen (het is nogal bijzonder dat je je druk maakt over nut in de mensheid zijn kleuterfase moet ik zeggen).

Nee wat retro ontwikkeling betreft, of sleutelen aan oldtimers, dat moet je als een broodkruimelpad zien naar de basics, of oude technieken die mee aan de wieg gestaan hebben van het modern spul. Misschien zit een moderne techniek op een dood pad (zoals mogelijks de PC architectuur) en dan kan je maar beter een stapje terug kunnen zetten. Neem nu NASA, die hebben nu erg veel spijt van het niet koesteren van hun knowhow. Anno 2018 en ze zijn niet in staat een mens naar het ISS te brengen.
Neem nu NASA, die hebben nu erg veel spijt van het niet koesteren van hun knowhow. Anno 2018 en ze zijn niet in staat een mens naar het ISS te brengen.
Daar denken ze bij NASA net iets anders over:
By some estimates, NASA could afford 17 to 27 Falcon Heavy launches a year for what it is paying annually to develop the SLS rocket, which won't fly before 2020.
bron: https://arstechnica.com/s...-of-falcon-heavy-rockets/
Ik heb een Gameboy emulator op mijn smartwatch ;)
Is het mogelijk op deze build de Suzo Arcade joysticks aan te sluiten? En ik ben ook benieuwd of met die fpga bijvoorbeeld een snellere CPU of kloksnelheid te emuleren is. Waanzinnig leuk project!

[Reactie gewijzigd door 8bitfanaat op 23 juli 2024 03:26]

Als je deze joysticks bedoeld, dan nee helaas niet gezien deze build gebruik maakt van USB aansluitingen op de plaats waar de DB9 mouse / joystick aansluitingen zaten.

Duidelijk te zien op de foto's van zijn post.
Er zijn wel adapters voor usb->DB9 te vinden zo te zien: https://www.retronicdesign.com/en/
Thanks! Precies wat ik wilde. Met een originele joystick gamen op mijn pc. _/-\o_
De beste joystick ooit gemaakt.

Oops, was eigenlijk een reactie op 8bitfanaat. :o

[Reactie gewijzigd door Frappuccino op 23 juli 2024 03:26]

Top joystick! Voor de echte feel heb je die wel nodig vind ik.
/niet zo serieus nemen:
Duur? Weet je wel wat een originele A600 kostte? En dan inflatie meerekenen
/niet zo serieus nemen

Ik verwacht dat als je een A600 of A1200 in massaproductie onder € 500,- nieuw kunt maken, het een groot succes zou zijn.
De meeste gaan toch echt voor retro met misschien wat aangepast onderdelen zoals SD/CF card storage en evt een USB muis. Orgineel is toch het mooiste ook al werkt het misschien niet altijd even goed :)
Zou wel graag eennorginele hebben, maar ben bang dat als ik nu een tweede hands A1200 koop, dat hij net als mijn A500, zo de geest zal geven.

Daarnaast heb je nu ook de C64 mini voor minder dan €100,- met spellen. Dus zou verwachten dat vab de A1200 ook wel een variant gemaakt kan worden die minder dan b.v. €300,- kost
Weet het wel zeker. Heb ooit eens mn Amiga's verkocht - mega spijt van. Vond het altijd heerlijk om gewoon Captain Dynamo op te zetten puur vanwege de intro+music en ingame muziek. Ja ik kan youtube opzetten maar dat is toch anders. Nostalgie ten top

[Reactie gewijzigd door AOC op 23 juli 2024 03:26]

/niet zo serieus nemen:
Duur? Weet je wel wat een originele A600 kostte? En dan inflatie meerekenen
/niet zo serieus nemen

Ik verwacht dat als je een A600 of A1200 in massaproductie onder € 500,- nieuw kunt maken, het een groot succes zou zijn.
Ja je hebt ze nu al tweedehands vanaf €149,-

Als ik het geld had kocht ik hem.

Erg leuk dit, om weer is wat te horen over de Amiga, een van de beste computers die er waren in jaren 80 en begin jaren 90, ben ze zelf nu weer aan het opsparen, heb al weer 4 Commodore computers, de C64, C128DCR, Amiga 500, en Amiga CD32.

[Reactie gewijzigd door AmigaWolf op 23 juli 2024 03:26]

Prachtig gemaakt zeg, erg veel oog voor detail, de SD kaart op de plek van de FDD, de HDMI bij video en USB bij de DB9's. En dan keurig netjes de FDD van een zwart 3d geprinte afdichting voorzien. Strak!
Gaaf, en dan ook nog netjes alle objecten als 3d print ter beschikking stellen, zodat je het zelf na kunt printen.

[Reactie gewijzigd door SkiFan op 23 juli 2024 03:26]

De A500, A500+ en de A1200 is zo'n beetje mijn hele jeugd.
Erg Knap wat Mattsoft gedaan heeft, zou er zo 1 kopen mocht het ooit op deze manier in productie gaan.
Kan niet anders dan heel jaloers worden op dit soort mooie projecten !
Krijg hier een heel hoog "DIT WIL IK OOK BOUWEN" gevoel van.

_/-\o_ _/-\o_ _/-\o_ _/-\o_

btw had dit project al een keer voorbij zien komen voor de Amiga 1200
Ik blijf fpga's enorm interessant vinden. Is er misschien iemand die hier wat goede startpunten voor heeft voor als je je wil verdiepen hierin? Ik heb al eens een google tour gemaakt, maar kwam er niet echt uit.

[Reactie gewijzigd door ro8in op 23 juli 2024 03:26]

Hallo ro8in,

Bij Digilent hebben ze mooie beginners bordjes met goede uitleg. Er zijn zelfs al betaalbare bordjes waarmee je via HDMI in & HDMI uit video bewerkingen kan doen. Erg leuk spul. Ook voor het simpele LED's PWMen hebben ze goede tutorials.

Zelf ben ik bezig met het Ultra96 board van Avnet. Prijs daarvan komt al iets hoger uit en is wellicht niet het beste starters bordje.

Verder heb je nog PYNQ, waarbij je via Python aan de slag kan op een FPGA. Maakt soms de drempel ook wat lager.

[Reactie gewijzigd door kdeboois op 23 juli 2024 03:26]

Dankjewel!

Heb je toevallig ook ervaring met Mojo FPGA bordjes?

Ze profileren ze een beetje als de Arduino onder de FPGA.

[Reactie gewijzigd door ro8in op 23 juli 2024 03:26]

Nee geen ervaring mee. Wel denk ik dat als het om Xilinx FPGA's gaat je te beperken tot de nieuwere devices. Om nu nog te gaan leren hoe ISE werkt is zonde omdat alle huidige FPGA's alleen nog door de modernere en makkelijker te leren Vivado worden ondersteund.

Hadden de makers van Mojo ook al ondekt...

Dus iets van een Zynq 7000 of Spartan / Artix7 of nieuwer is aan te raden.

[Reactie gewijzigd door kdeboois op 23 juli 2024 03:26]

Ah good to know thanks! Dus die onder jouw links werken allemaal met Vivado?
Nee, zitten ook oudere tussen. 7-series (Spartan/Artix 7) of Zynq / UltraScale werken met Vivado.
Ah Defender of the crown, zalig spel op de A500.
Send forth the campaign army!
Wellicht de ''next big thing'' voor Classic Amiga (In de zin dat ze voortborduren op bestaande blitter/copper (Wat nu SuperAGA heet) en een nieuwe 68k CPU (Als een softcore in een FPGA, dus geen ''echie'' 68k) genaamd 68080: De Vampire V4. Deze zal ook als een standalone systeem (Formaat Raspberry Pi) worden gepresenteerd.

Zie het als een AGA machine op Steroiden en 512 MB DDR3 waardoor je je workbench op 1080p (en je games ook!) kan weergeven. Leuk zonder acceleratie 3D renderen! :)

Meer info: http://wiki.apollo-accelerators.com/doku.php/faq

Op dit item kan niet meer gereageerd worden.