HARCON - a hackable retro computer [update I.]

Valamikor réges-régen, amikor Arduino még nem is létezett, amikor Raspberry PI sem volt még és STM32 sem volt, és covid sem volt, és elég lélegeztetőgép sem, csak szélfútta rónák voltak, meg rozzant, sovány kis PIC16F84-ek, meg holmi vérszegény AT90s1200-as kontrollerek ...
 ... na akkor, akkor szerettem volna én, különféle vezérlési feladatokra valami apró, kis fogyasztású PC-t, afféle kártyagépet magamnak. Nem egyet, hanem mindjárt hármat, négyet is, más és más célra. A gond az volt,

hogy ezeket a gépeket embertelen drágán mérték akkoriban, 1999 környékén vagy talán még előbb. Darabja úgy 30 000 pénz és a csillagos ég között leledzett, webshopban, enyhén felrázva, plusz szállítás és ÁFA.

És ebből mindjárt négyet?
Igen, tudom, hogy döbbenet olvasni, de az élet néha ilyen kegyetlen is tud lenni.

   Sóhajtottam egy nagyot, megtöröltem könnyektől maszatos arcomat és arra gondoltam, hogy építek egy PC kompatibilis kisgépet. Egy olyasmit, amiben minimal mode-ban egy i8088-as proci ketyegne, hortyogna, nyenyeregne 5 vagy 10 MHz-en (sebességre akkor még nem volt igényem).
   Ezt azért vetettem el, mert a 8088-as CPU beszerezhetősége nagyon esetleges, ezen túl, lassú, mármint a CPU és fajlagosan még jó drága is. Több mint 1000 HUF per darabont, plusz 27 százalék FŰ, FA, VIRÁG és a szállítási költség, na meg a jatt annak a szemét, mindig mosolygós, kedves kézbesítőnek.

   Ebben a 8088-asban az lett volna a jó, hogy a PC-hez már meglévő (ólredi egziszt) kódbázist felhasználhattam volna ilyen-olyan fejlesztéseimhez, lerövidítve az ezzel való piszmogásra szánt időt.
 

harcon

   Fontosnak tartom megjegyezni, hogy én magam is megcsinálhattam volna az egészet, teljesen egyedül, már ha nem lettem volna szinte totál hülye a dologhoz, így inkább egy avatottabb barátomhoz fordultam segítségért. Elmondtam neki a tervemet, azt is, hogy a kész boardot akár még árulni is lehetne. Erre ő, ez az egyébként mindig készséges, nagy tudású, bölcs és kooperatív perszon, azzal utasította el a közreműködést, nem hinné, hogy ilyesmire lenne számottevő kereslet.
 

board

   Nagyot hazudnék, ha azt állítanám, hogy igaza lett. Hiszen, megszületett az Arduino uno, a duo, a csinkve és csento, sőt, nem sokkal később (vagy sokkal később?) a Raspberry PI is, amiért (I remember) interneten keresztül is egymás sarkát taposták az emberek. Ez utóbbi, a raspi már egy elég duhaj darab volt. Szinte 100 %-ban leképezte azt, amiről korábban álmodoztam, legalábbis ezt gondoltam én, akkor.
   Kis méret, csekély fogyasztás, alacsony ár és relatív komoly számítási teljesítmény. Mi kell még? Vettem is egyet, igaz, mindjárt a B verzióból. De valahogy mégsem volt az igazi. Nem is nagyon tudtam, hogy miért nem felel meg. Elkezdtem gondolkozni ezen és rájöttem, hogy nekem mi is kell tulajdonképpen. Aki látogatja az eltökélt Youtuber, 8bitguy csatornáját, az talán látta azt a két videót, amiben a saját álom-gépét mutatja be, illetve az ezzel kapcsolatos igényeiről ejt néhány szót.

Nos, nekem is valami hasonló járt és jár ma is a fejemben.
Tulajdonképpen egy nyolc bites kis gép kéne, de a korábbi nyolc bites gépek teljesítményének sokszorosával. Ezt az álmomat egyedül nem leszek képes megvalósítani, a HUP viszont egy szakportál, így én bohó, itt keresek a hozzám hasonlóan gondolkodók között ehhez szakmai partnert, kollégát, ítészt, szellemi kútfőt, józan kritikust.
  Mondom, józant.
  Tehát, aki kedvet érez egy ilyen kis masina megtervezéséhez, megépítéséhez, az ebben a thread-ben csatlakozhat, hozzászólhat, vagy építő szándékú kritikával illetheti a mindenkori eredményeket.

Mi is volna az alap koncepció?

Egy, a korabeli retró gépekhez képest igen gyors, de mindenképpen nyolc bites, 10-100 Mhz-es gépet képzelek el, legalább 128 kB statikus memóriával, 32 vagy 64 kB ROM-mal, grafikus illesztővel és egyéb bővítési lehetőséggel.
Ami nagy plusz lenne a retró gépekhez [c64, spectrum, stb.] képest, a sebesség mellett, az a grafikai képesség. Hiszen adott a lehetőség, hogy a mára meghaladott 320 x 200 képpontnál akár négyszer, hatszor nagyobb felbontást is elérhetővé tegyünk. 

 
Az én elvárásaim a következők lennének:

- Legyen annyira olcsó, amennyire csak lehetséges. Önköltségi áron max. 5000 Ft, de ha megéri, akkor lehet akár 7-8000 is.  
- Legyen minél kevesebb alkatrészből megvalósítva. Board size: 8-10 x 12-15 cm.
- Legyen 8 bites. Ez nagyban segíti a megismerhetőséget.
- Legyen a lehető legegyszerűbb az alapgép. ZX81 jellegű design.  
- Legyen modulárisan bővíthető, 4 db slot vagy tüskesor. Struktúrájában mint egy PC MoBo.
- Legyen sokkal gyorsabb a korabeli 8 bites gépeknél. Erre adott a lehetőség. 20 Mhz-es z80 egy USA dollár.
- Legyen egy jól definiált buszrendszere. A busz tartalmazza a tápfeszültséget, a cím- az adat- és a kontrollsínt.
- Legyen az alap órajel alkalmas [osztás után] külső, saját órajel nélküli perifériák meghajtására is.
- Lehetőség szerint az alap csak DIP alkatrészeket tartalmazzon, szervizelhetőség okán. A CPU lehet ez alól kivétel.
- Lehetőség szerint egy tápfeszültség szintet [+5V max. 2A] igényeljen és abból alakítsa ki a továbbiakat [3V3, 12V, stb].         

Általam javasolt
- CPU: W65C02-14 vagy z84000-20 CPU. Mindkettő DIP-40, előbbi 14 utóbbi 20 MHz-es. Azt hiszem mindkettő statikus.    
  6502 esetén legalább  14-szeres, z80 esetén legalább 8-szoros plusz a korábbiakhoz képest.  
- RAM: 1,2,4 x 128 kB, 55 nSec STATIC RAM [bank switch]
- GLUE: ATMEGA8-16 DIP [20 MHz]. Ez, amellett, hogy tartalmazná a szükséges logikát, soros portján keresztül terminál csatlakozási lehetőséget is biztosít.
Arduino-val (pontosabban, azon keresztül) programozható és rendkívül olcsó, kevesebb mint 200 Ft [ALIEXPRESS].   

Valójában akkor lenne izgalmas a gépecske [legalábbis számomra], ha grafikus illesztővel is el lenne látva, de, tekintve, hogy sokan csak kijelző nélkül, vezérlés céljára, netán soros terminálon keresztül használnák, így a grafikus illesztő inkább maradjon csak opció.

Ehhez az egészhez, ha a processzor valamely korabeli procival [8088, z80, 6502] kompatibilis lenne, fel lehetne használni az itt-ott sikkadó, hatalmas, abandoned, nem kis részben copyleft kódbázist.

  A dologban, ha az úgy sikerül, van pénz is. Végeztem egy lassú, de alapos piackutatást és igenis, van kereslet az ilyen gépekre. Elég megtekinteni azokat a weblapokat, blogokat, ahol valami hasonlót épített valaki és publikálta is. A "bámészkodók" minden ilyen gépecskénél feltűnnek, gratulálnak is és nem csak puszta udvariasságból. Utánépítők is jócskán akadnak, ha van lehetőségük az utánépítésre. Akad olyan kisgép is, amit már igazoltan sok ezren, de inkább sok tízezren megvásároltak, vagy utánépítettek, köztük én is. Ez a z80-MBC2 (lásd a képen). Pedig bár ügyes, de elég szerény képességű kis cucc. Mi nem ebben a súlycsoportban versenyeznénk.
 

mbc

  A retró élményen túl, egy efféle gép, a korabeli masinákat túlszárnyaló sebességével, valamint a PC-k processzoránál és architektúrájánál sokkal egyszerűbb felépítésével, valódi csemegéje lehet a 40-70 éves korosztályon túl még a mai fiataloknak is.
Lényegében, egy olyan, retró élményt is biztosító gép lenne ez, ami három paraméterében is állva hagyná a 8 bites korszak gépeit. Ez a sebesség, a memória mérete és a grafikai képességek.

  A gép, vagy a project neve, munkacíme: HARCON  Ez a Hackable Retro Computer szavakból képzett fantázianév. Tudom, a végén a Con az Com kellene, hogy legyen, de a Con valahogy jobban hangzott a Comnál.
Természetesen ez is le- vagy kicserélhető  valami alkalmasabbra.   
   Adott esetben alapítványi rendszerben is végezhető a gép gondozása, forgalmazása, jogkezelése. A Raspi is  hasonló rendszerű, ha jól tudom. Alapítványt pedig bárki tehet, költségmentesen, nem szükséges hozzá még ügyvéd sem.

   A fejlesztés fő vonalakban naplózva is lenne, csak a miheztartás végett, hogy tudjuk, hol is tartunk. Ez azért fontos, mert lehetnek olyan segítők, akik egy-két hónap után újra belebocsátkoznának a fejlesztésbe és kell, hogy tudják, akkor éppen hogyan áll a projekt.

   Ha elkészül, akkor meg lehet futtatni KickStarteren, IndieGoGo-n is.  

test

Az első lépés, a CPU kiválasztása. Ezek:

A. 6502 CPU korszerűsített változata. DIP 40.
    Előny a RISC jelleg, a "jó" programozhatóság.
    Max. 14 MHz frekin járatható.
    Hátránya a beszerzés nehézkessége és az ára, kb. 2500 Ft darabja.

B. z80 CPU korszerűsített változata. DIP 40
    Előnye a nagy sebesség (20 Mhz) az alacsony ár (kb. 1 USD darabja) és a könnyű beszerezhetőség.
    A korábbi z80 alapú gépek 2.5-3.5 Mhz-en jártak. Ez a CPU annak a sebességnek kb. 8-szorosára képes.

====================================================================

2021.05.23 - 06.00

Távirati stílusban megejtem az első összegzést. 

CPU - A CPU-val kapcsolatban arra jutottam, hogy a szoft proci kiesik [főként jogi okok miatt]. Verenyben marad a 6502 és a z80. Ha azt találom, hogy a 6502-10MHz-ből van elég forrás, akkor az lesz a kiválasztott, ha nincs, akkor a z80 20 Mhz. Egyéb lehetőségek, 8051, 8085, stb. nem jönnek szóba, most nem akarom részletesen megindokolni, hogy miért.

RAM - Tekintve, hogy az egyszerre címezhető tartomány 64k, továbbá, tekntve, hogy az ilyen 8 bitesekben a bővített, tehát >64k RAM felsőbb területeit inkább csak RAM disk-nek használják, így 128k-nál több operatív tár beépítését egyszerűen nem látom indokoltnak.
A 128k annyiban plusz a 64k-hoz képest, hogy a BIOS tartalmat [oprendszer + rutinok] a RAM felsőbb címeire bemásolva a gép jelentősen gyorsulna. A lapozás kiosztása [egyelőre]: 4 db 32k-s bank, amiből az egyik fix. 

ROM - Egyelőre úgy itélem meg, hogy a ROM mérete nem kell, hogy a 8 kByte-ot meghaladja. Egy szimpla, WOZ monitor jellegű operációs rendszert képzeltem el. A WOZ-MON-nál persze sokkal több szolgáltatással. Ennek két verziója lenne.
Az egyik minimális, ami csak a memória listázását, annak byte-onkénti írását és adott címről történő program futtatást tenne lehetővé, na meg, intel hex formátumú file-ok soros porton keresztül történő fogadását.
A másikról majd később.

MEMÓRIA kiosztás - később [CPU függő].

VIDEO - a video képessége meg kell, hogy haladja a korai 8 bitesek képességeit. Viszont, úgy gondolom, hogy a túl jó grafika éppen úgy árthat a gép népszerűségének, mint a low end.
Karakteres üzemmód nincs. Nem látom értelmét.
A felbontás 384 x 256. Ez jobb mint a 4:3 arány.
Szinek tekintetében én elégnek találom a 16 színt. Talán a néhai spectrum harsány, élénk, erőteljes színeit kellene reprodukálni. 

EMULÁCIÓ:  Ha a gép "alaplapjának" arhitektúrája véglegesül, akkor készítek egy HaRCoN-Emulátort.
Ha a cpu a 6502 lesz, akkor nincs nagy gond, mert hasonló emu-t [apple-1] már írtam. Csak ezt kell majd módosítani.
Ha a z80 futna be, ahhoz pedig találtam egy megfelelőnek igérkező, copyleft, open source emulációt, amit kiegészítek a szükséges dolgokkal.

screen

Köszönök minden eddigi hozzászólást, észrevételt.

========   Egyelőre ennyi lenne. Várom a további reakciókat, véleményeket, megjegyzéseket.

Hozzászólások

a Harcom tényleg furább név lett volna :)

Nekem a commander x16 jut eszembe, mint érdekes neoretro projekt, lehet hogy érdemes lenne rálesni, a projekt oldaláról hogy oldanak dolgokat...

Amúgy meg sok sikert :)

“Politikusok a döntésüket a háttérben dolgozó szakemberek javaslatai alapján hozzák meg." (Trey)

Ismerem a commander x16 projektet. Köszi, hogy szóba hoztad. Az irány hasonló, annyi bajom van csak vele, hogy az egyszerűen baromi nagy és ebből kifolyólag drága is. 
Én alapvetően vezérlési feladatokra használnám, nálam a maximális méret és fogyasztás is számít.

Egyébként, ez az a gép, amire utaltam a leírásban 8bitguy-jal kapcsolatban. Az ő álomgépe. 
De vannak koncepcionális eltérések is. A commander 6502-es procit hajt, mindssze 8 Mhz-en, viszont RAM és ROM nagyon sok van benne.
Az egész inkább egy friss tervezésű konzolgép benyomását kelti bennem.

Sok a hasonlóság, de a különbség sem kevés. 
Köszönöm a biztatást.

Miért is nem jó az RPi? Valahogy nem jött át.

Az RPi valahogy nem kínálta azt az élményt, amit a 8 bitesek.  Voltak konkrét gondok is vele, pl az SD kártyán lévő adatok elveszése, felülíródása, a stabil táplálás kérdése ma sem megoldott, de ha ez a néhány probléma nem lett volna, akkor sem felelt volna meg az igényeimnek. Elvileg alkalmas sok mindenre, gyakorlatilag meg, valahogy mégis, szinte csak multimédia centernek, TV okosítónak használja a tulajdonosok zöme. Szóval, azt hiszem az az igazi nyolc bites feeling hiányzik belőle és talán túlontúl kompakt is.
Nekem mondjuk előbb volt PC-m és csak azt követően lettek nyolc bites gépeim. Maga a nyolc bites korszak megfáradt szele ugyan még elért, de akkor már nem lett volna jó döntés mondjuk egy commodore 64-re beruházni. Vettem én magamnak később vic20-ast, zx81-et, c16-ot és egy primo-t is, de csak azért, hogy ismerkedjek velük. Azt tudtam, hogy ezeknek a számítógépeknek mint számítógép, már leáldozott, maga alá gyűrte őket a PC. 
Ma egy kicsit másképp látom. Úgy itélem meg, hogy azok a kisgépek külön kategóriát képviseltek  és képviselnek ma is. Azokon a gépeken keresztül könnyebb volt bekerülni a számítástechnika világába, a hardver közelébe, mint a maiakkal. 

Ha a soft-CPU belefér, akkor az FPGA implementációkkal mi a helyzet?

De, 6809-ben gondolkoznék a leginkább [szerintem a legjobb 8 bites proci], csak:

Azt hol lehet kapni?

Mennyiért lehet kapni, ha lehet?

Hányan ismerik annyira, mint a 6502-t vagy a z80-at?

Mert a board sikere ettől is függ, hogy mennyire ismerik a benne lévő procit. Az itt szóba hozott commander x16-ra, bár még kapni sem lehet, már írtak egy rakat alkalmazást. Ciklus pontos emulátor elérhető hozzá.

+1

Pl. itt meg itt.

Pár dollár.

Na, ez jó kérdés. A TRS-80 és Dragon userek biztos. :P

A 6501-es a 6800-as koppintása volt, nem hiszem, hogy olyan nehéz lenne valami fordítót írni, ami megfelelteti a 6502-es kódot 6809-esnek. Annak idején is dolgoztak így. Ciklus-pontos emulátort írni nem nehéz, ha tudjuk, hogy egy ciklus alatt mi játszódhat le a CPU-ban. Nyilván a 6502-es sokkal jobban dokumentálva van belülről, de talán akadnak hasonló doksik 6809-eshez is.

AliExpressen:

https://www.aliexpress.com/wholesale?trafficChannel=main&d=y&CatId=0&SearchText=hd63b09&ltype=wholesale&SortType=price_asc&groupsort=1&page=1

A 6309-es még többet is tud.

Van RC2014-eshez 6809 CPU panel:

https://hackaday.io/project/172025-6809-cpu-card-for-rc2014

Lehet, hogy nem eszik meg a szabványos RC2014-es kártyát....

http://plazmauniverzum.hu <> A látható anyag 99.999%-a plazma <>

Anno, Steve Woz nekiült és egy 6502 köré megépítette az apple I-et, az apple II-t, vagy mások megépítették a commodore gépcsaládot, a z80 köré pedig a zx 81-et, a zx spectrumot, vagy más, nagyobb karriert befutott gépeket, akkor az embereknek, eme gépek vevőinek kialakult egy viszonyuk ezen gépek valamelyikével, az életük részévé vált, megismerték, megszerették ezeket a masinákat. Kötődtek hozzájuk, és ez a kötődés sok esetben ma is tart. Ezt nevezik nosztalgiának. Mi erre a nosztalgiára építkezhetünk, ezt használhatjuk ki, ezt szolgálhatjuk ki.
A 6809, vagy a 6309 hiába jobb proci a 6502-nél, hiába alázza porig a z80-at, ha egyszer az emberek nem ismerik, nem jelent számukra semmit. A 6502 és a z80 viszont hívószó, olyan ereje van, hogy az emberek ma is odafigyelnek ha látják valahol leírva, ahogy hívószó a commodore, az apple, vagy a speccy. Ezekre pedig nekünk lehet hivatkozni.

A másik, hogy a 6502-nek és a z80-nak is van korszerűsített, a korábbiak sebességét sokszorosan felülmúló változata. 
A 6502-nél kb. 14-szeres, z80-nál 8-szoros a sebességnövekedés.

Van z80-as kisgépem ami 8 MHz-en működik. Érezni is a primo 2.5 MHz-éhez képest a kb háromszoros teljesítménybeli pluszt. És ezt a háromszoros sebességet még meg lehet két és félszerezni. Ha pedig lehet, akkor meggyőződésem, hogy meg is kell.

Ha az is cél, hogy a mai fiatalokat megnyerjük, akkor a korabeli 1-3 MHz-es proci-sebességgel ez nem fog menni (kipróbáltam). Még az aktívan  nosztalgiázók sem kivánják a 3-5 perces betöltéseket újraélni. Azt sem, hogy egy játék közepette a joystick/key állapotának változását a gép nem képes időben feldolgozni a lassú processzor miatt.
 

Az viszont már élmény, hogy egy korabeli gép-ember kapcsolat feelingjét úgy élheti meg valaki, hogy az eredeti sebesség sokszorosát élvezheti.
Kivált, ha a grafika jobb, a hang is szebb és a memória is több. Plusz, emellett újra megélheti az elveszettnek hitt pillanatokat, bevetheti, reaktiválhatja, netán bővítheti is a korábban megszerzett tudását.

De ez a misszió csak a 6502, z80, commodore, apple, spectrum, enterprise hívószavakra építkezve lesz sikeres.

 

Oké, értem a dolgot. Én is kipróbáltam a fiaimmal, de nem arattam sok sikert. Amin nem indul el a Wither 3, az már nem számítógép....

Gondoltam, nekiállnak programozni kicsit. De nem. Talán majd a Python 3....

Azért gondoltam a 14-20MHz-et soknak, mert ott már kell tudni nyákot tervezni. Telepátiával megy a jel, ügyelni kell az azonos vezetékhosszakra, kapacitásokra, induktivitásokra. Le is kell zárni a buszt, mint a hajdani (- egyébként figyelemreméltó -) szabványos S100-nál.

Ott vannak még a perifériák is, kell tudni szerezni 10-20MHz-es soros, párhuzamos portot, hang IC-t. Nem ártana valami háttértár hozzá, az IEEE-488 fájdalmasan lassú, egy USB stack meg nem nagyon fér el 64-KiB-ban...

A VGA is szívás, lásd Commander X64. 2 féle FCPGA-val is próbálkoznak, ami megint nem túl retro. Ráadásul ők is belefutottak valami sebességproblémába és nehezen jöttek rá (Adrian talán), hogy mi a gond a panelon.

Szerintem a "retró" feeling-hez, amit érzünk, egy hajdani gép modern megfelelője lenne az igazi, amit akár az iskolákban is taníthatnának ASSEMBLY programozásra (lásd az angol példát a BBC Micro-val). Jogi problémák miatt nem nagyon lehet Commodore, Sinclair-nek nevezni. A Primo sem biztos, hogy szabad ;)

Az ár pedig totál szívás, csak a billentyűzet sokkal többe kerül, mint 5000 Ft (Cherry MX darabonként ;) )...

(Sóhaj.....)

http://plazmauniverzum.hu <> A látható anyag 99.999%-a plazma <>

Azért gondoltam a 14-20MHz-et soknak, mert ott már kell tudni nyákot tervezni.

Én a WDC 65C02-esével kiegyeznék, 10 MHz-en.

Ez már elvi tízszeres teljesítmény plusz.

Nem ártana valami háttértár hozzá

Tervezem egy Atmega kontroller bedolgozását - hogy a ROM tartalmat be lehessen másolni a RAM-ba - IIC busz tehát lesz. Azon keresztül meg pofonegyszerű az SD kártyák olvasása.  

A VGA is szívás, lásd Commander X64. 2 féle FCPGA-val is próbálkoznak

Igen, ettől én is tartok. Egyébként úgy látom, hogy a nyolc bitesek varázsa a sajátos grafikájukban rejlett. Eredendően attól, hogy van egy nyolc bites cpu, még senki nem esik hanyatt. Pláne, ha tizenéves. A z80-at, a 6502-t a grafika és a hang "adta el". 
A játékokon kersztül kedvelte meg az emberek többsége ezeket a kis masinákat. A játékok pedig talán azért vonzották úgy a fiatalokat, mert egy sajátos környezet-ábrázolást nyújtottak. A csak néhány, de annál élénkebb, telt szín, a két-három tucatnyi pixelből kirajzolt karakterek. A szűkös erőforrásokkal való zsonglőrködés. Ezek mind arra késztették a fejlesztőket, hogy a leképezni szándékozott valós világnak csak stilizált valamilyét adják vissza. Ez viszont jótékonyan hatott a userek képzelőerejére, fantáziájára.
 

Jogi problémák miatt nem nagyon lehet Commodore, Sinclair-nek nevezni. A Primo sem biztos, hogy szabad ;)

Ezt nem is akarnám, de hivatkozni lehet a cpu esetén a korábbi gépekre.

Az ár pedig totál szívás, csak a billentyűzet sokkal többe kerül, mint 5000 Ft (Cherry MX darabonként ;) )...

Az árat én billentyűzet és tokozat nélkül kalkuláltam.
Tehát: egy alaplap, azon néhány alkatrész, a fő komponensek és a bővítési lehetőség.

A soft core-okra, mint tartalmakra, vagy FPGA-ra, mint fizikai megvalósításra? 

Is-is. Nezz korul az opencores-on, eleg sok jo projekt van. Peldaul Z80-ra is. Itt nem is az az elonye hogy magat a processzort bele tudod tenni az FPGA-ba hanem hogy ezutobbiba belefernek a periferiak is (ebben az esetben billentyuzet-vezerles, kijelzo meghajtas, kulso busz csatlakozas es soros port is), illetve ha van az FPGA-ban sok esetben RAM is (egeszen megabit-es nagysagrendig), illetve embedded block ram (EBR) is, amit tudsz elore inicializalni (BIOS-nak, flash-nak, stb). Azaz nem kizart hogy pl egy iCE40UP5K-ba belefer a teljes zx spectrum ;) Persze maga a processzor eszi meg a legtobbet, de pl ez a linkelt NextZ80 projekt elso blikkre bele is ferhet 5k-nyi LC-be a leirasa alapjan.

Szerkesztve: 2021. 05. 16., v – 12:53

TCH, apal, sorry, most el kell lépnem, de később majd jövök és válaszolok. Üdv addig is.

Nincs jó megoldás, mert nincs 1 dolláros processzor. Ebay-t ne nézd, mert sok a csaló, hamisítvány és ilyenre nem építhetsz terméket.
Ami realisztikusabb, az Z8S18033VSG. 3800HUF/db, 33MHz-es, 1MB memóriát támogat, két beépített UART, 16 bites timerek. De ehhez még mindig kell memória, videókártya, stb. A videókártya a legneccesebb, 24 dip tok alatt nem sikerült megoldanom.

Vagy ott az ATmega2560 van beépített memória kontrollerrel, de az csak 64KB-ot támogat.

A emulált softCPU-nál elveszted a sebesség 90%-át és nem nyersz semmit, cserében olcsó, de lebutítod az amúgy jó proceszsort.

Végül marad az FPGA vagy CPLD megoldás, de ott az egészet neked kell kireszelni.És, megint nem egy dollár.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

És, mi értelme van egy 20+ éves alkatrészt használni, kétséges elérhetőséggel?

Akkor miért nem mondjuk valamelyik 8051 utód? Az gyártásban van, van memória kontrollere. Pl. AT89S8253 ez is két dollár, dip40 tokos, 24 MHz. Chipcadnél kapásból van 2 db a raktáron.

Itt egy leírás a memória interfacelésére: https://gzalo.com/en/articles/8052-ram/

Közben eszembejutott, hogy annó csináltak ici-pici 8 bites számítógépet 8051-es mikrokontrollerből. Itt van, ni:https://fleasystems.com/fleatiny.html

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Egyrészt csak egy példa volt, hogy kaphatóe-e olcsó 8-bites CPU. Másrészt meg a processzorok nem romlanak meg. Harmadrészt a 6502-esből is vannak a mai napig gyártott verziók, mert pl. a WDC a mai napig gyártja őket. A WDC 65C02-esének 10 MHz-es változata konkrétan egy dollárba kerül.

Oké, akkor pár évtized után nem romlik meg. Nyilván, amikor már porlik szét a műanyag/kerámia, akkor annak is annyi, de az nem 20 év után fog bekövetkezni, hanem többszáz, vagy ezer. (Egy nem korrodáló fémtokba zárt processzornál pedig még több idő.) A homecomputerek többsége alaphangon 30-40 éves és nem az IC-k azok amik kinyúvadnak benne, hanem az elkók száradnak ki, a forrasztások engednek el, stb.
Az IC-k a legtartósabb alkatrészek között vannak.

Cipőt, cipőboltból, elektronikai alkatrészt disztribótortól vagy gyártótól veszünk.

A megadott alkatrészt a Western Design Center már nem gyártja, helyette van W65C02S6TPG-14, ami kapható is a Mousernél. Csak épp nem 1 USD, hanem 2500 HUF.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Én szoktam venni kéz alól is; a használtpiac nem ördögtől való. Pláne nem egy CPU esetén, ami - mint tisztáztuk - nem (pár évtized alatt) romlik meg.

Ez már az OP-ban is szerepelt, de egyébként egyfelől a lényeg az volt, hogy gyártják még a 6502-est is, másfelől meg csak akkor annyi, ha 1 darabot vesz belőle, akkor meg kb. nem mindegy, hogy egy dollár vagy hat egész valamennyi? Ha meg sokat vesz belőle, akkor meg mindjárt sokkal olcsóbb lesz. Ez még le sincs tisztázva, hogy mennyi lenne az igény.

Persze, régi vasak felújításakor én is lutrizom. De egy termknél, ahol ezt írja az OP, " Ha elkészül, akkor meg lehet futtatni KickStarteren, IndieGoGo-n is.", nem lehet a beszállítói láncot egy nem gyártott alkatrészre építeni. A másik, hogy minden erának megvannak a maga társkomponensei. Nem mindegy mennyire szívás tápfeszültségeket, időzítéseket, adat, címbusz terheléseket belőni a perifériáknál.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Miért nem jó a kínai átszitázott z80-as 0,5 Dollárért? Vettem 4-et, 2 CMOS, 2 NMOS vot, azonos címkével ;)

Hobbinak teljesen jó, meg szétégetni a próbapanelen :)

Ipari, fizetős alkatrészt pedig csak számlára tudunk venni, ki is fizetik, bele kell férnie az új, ropogós, 12 bites AD-s ATTINY-nek is....

http://plazmauniverzum.hu <> A látható anyag 99.999%-a plazma <>

"Nincs jó megoldás, mert nincs 1 dolláros processzor. Ebay-t ne nézd, mert sok a csaló, hamisítvány és ilyenre nem építhetsz terméket."

Ezt én megkontrázom.
Mostanában nem, de korábban napi szinten rendeltem aliexpress-ről. A rendelések 90 %-a befut. Vásároltam különböző cpu-kat, RAM-ot, kontrollert. Z80? Tessék: Z840020PEC  (rev5, 20 MHz-es, CMOS) van egy dollárért, ennél kisebb sebességű, 10, 8 illetve 6 MHz-es van hetven dollárcentért is.
Atmega8-16-ból vettem 65 centért 200 darabot (0.65/db), most fogyott el, még van talán néhány példány.

https://www.aliexpress.com/w/wholesale-atmega8-16pu.html

https://www.aliexpress.com/item/4001126329300.html?spm=a2g0o.productlist.0.0.311977b87ONMe2&algo_pvid=a4a325c5-394b-4737-83e7-8528591344c3&algo_expid=a4a325c5-394b-4737-83e7-8528591344c3-2&btsid=0bb0623b16212168714235467e1803&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

https://www.aliexpress.com/item/1005002578200511.html?spm=a2g0o.product…

Ami olykor előfordul, hogy nem teljesen azt küldik, amit rendelt az ember, pl. atmega32A helyett küldtek atmega32L-t, igaz, azt legalább elég olcsón. Vagy olyan is akad, hogy használt, kiműtött alkatrészeket küldenek, ezt jobb előre tisztázni.

Ok. És, hogy akarsz 1000 vagy nagyobb darabszámú Kickstartert indítani " teljesen azt küldik, amit rendelt az ember" és " használt, kiműtött alkatrészeket küldenek"-re?

Értem én, hogy kínai felebarátaink, minden project maradékot, kamionról leesett alkatrészt eladnak kétszer, de ez nem realitás. Olyan ez, mint amikor egy darabos projectet indít az ember és utána durrog, hogy 10000-es rendelésnél harmada, ötöde ugyanaz az alkatrész. Ez a fajta fillérbaszás nem új találmány. A Microchip 2010-es évekig nem szállított ingyen mintákat Magyarországra, mert a fél Műegyetemen végzett mérnöksereg, abból próbálta csinálni a maszek cégét.

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Mindenki kínából rendel.
Ha nem onnan rendel, akkor az rendel kínából, akitől ő rendel.

Az aliexpress-en kívül létezik alibaba, ott komolyabb a helyzet.
Amúgy, ha egy szállítóval kialakítasz egy jó, stabil kapcsolatot, akkor az nem fog átverni, mert nem is nagyon tud és nem is áll majd érdekében. 
Vevővédelem van, refund működik.

Lényeg, hogy z80-as CPU van egy dollárért és van sok más olcsó cucc is. Rengeteg az alkatrész kereskedő. 

A pcbway világhírű cég. Nagyon jó minőségben dolgoznak, és elég gyorsak is. Kevesen tudják, hogy alkatrész beültetéssel is foglalkoznak.
 

"Mindenki kínából rendel."

Ezt majd elmondom a cégnél, biztos mi vagyunk a hülyék, hogy közvetlenül a gyártótól vesszük milliós tételben az alkatrészeket.

PCBwaynek a minősége olyan amilyen, de a nagyon jótól messze vannak. 0,3-a via esetében 5ből 2x nem sikerül a furatfémezést megcsinálniuk, kráteres a panel. Az hogy alkatrészültetéssel is foglalkoznak, legfeljebb az újszülöttnek új...

"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Szerkesztve: 2021. 05. 16., v – 19:36

A ZX Next az ár és szervízelhetőség kivételével teljesíti a követelményeket:

8 bites, gyors (28MHz Z80), bővíthetőség van, 5V-os táp kell neki.

Mondjuk egy N-GO board "csak" 100EUR.

Érdekes felvetés! Egy kicsit most én is beállok a károgók sorába, de amúgy kíváncsi vagyok, mi lesz itt ötletelve! Idecitálok pár mondatot (szigorúan a szövegkörnyezetből kiragadva :) ), és hozzáfűzök pár gondolatot.

Nagyot hazudnék, ha azt állítanám, hogy igaza lett. Hiszen, megszületett az Arduino uno, a duo, a csinkve és csento, sőt...

Az Arduino az egy fura szerzet! Én azt vettem észre, hogy - ha már 8 bitről van szó - azokat sikerült vele „megszólítani”, akik azt se tudják, mi az a bit! (Tisztelet a - szerencsére nem kevés - kivételnek, természetesen.) Nem hogy még azt számolnák, hogy 8 vagy 16 vagy 32 van belőle... Viszont! Azt el kell ismerni, hogy amire Te szántad volna a saját cuccod, arra pont ez az ideális. A különálló CPU-val meg memóriákkal az lesz a gond, hogy persze kell majd hozzá valami ide való I/O is, meg jó lenne, ha ez nem fogyasztana sokat, meg kicsi lenne, és a végén megérkezünk egy mikrovezérlőhöz. ;)

Egy, a korabeli retró gépekhez képest igen gyors, de mindenképpen nyolc bites, 10-100 Mhz-es gépet képzelek el, legalább 128 kB statikus memóriával, 32 vagy 64 kB ROM-mal, grafikus illesztővel és egyéb bővítési lehetőséggel.

Ö... :) 100 MHz-es 8 bites CPU-t nem hiszem, hogy fogsz kapni. Mikrovezérlőből azért akad, de a nagy sebességű cím/adatbuszokat abból nyilván nem vezetik ki. De ilyen frekvencián működő külső bővítőbusz se a „sima liba” kategória. Szerintem itt a 20 MHz körüli tempót lehet még reálisan megcélozni. A 100 MHz körüli 8 bites CPU-t manapság egy FPGA-ba lehetne belepakolni, de akarsz-e a sok jelenlegi FPGA-board mellé egy következőt?

Ami nagy plusz lenne a retró gépekhez [c64, spectrum, stb.] képest, a sebesség mellett, az a grafikai képesség. Hiszen adott a lehetőség, hogy a mára meghaladott 320 x 200 képpontnál akár négyszer, hatszor nagyobb felbontást is elérhetővé tegyünk.

Na, itt megint szómenésem lesz. :) Ami reális, az a szimpla analóg, 640×480-as VGA. Viszont ha összeszámolom, ahhoz „rengeteg” memória kell! Ami csak azért gond, mert ha a 8 bites CPU-nak a szokásos, 16 bites adatbusza van, akkor a videomemóriát folyamatosan lapozgatni kell, így hiába lesz egy relatív gyors CPU-d, megeszi az erőforrásait reggelire. Azaz ezt a 640×480-at se árt úgy csinálni, hogy kisebb felbontást skálázol fel erre. Ha valami "modern" videokimenetet szeretnél, (mert hogy a VGA csatlakozót is lassan elhagyják a megjelenítőkről, ) az meg ismét nem triviális. (Hogy mást ne mondjak: DIP-tokos meghajtót azt tuti nem fogsz hozzá találni! :) A csatlakozókról nem is beszélve.) Aztán: a videovezérlőt úgy el lehet bonyolítani, hogy ihaj! Komolyabb tudású verziót még CPLD-be se egyszerű belegyömöszölni, itt is előkerül az FPGA, de az megint nem az egyszerűség irányába mutat. (Egy spectrum tudású videovezérlő még belefér egy combosabb CPLD-be, de pl. a C64 VIC-II-je erősen esélytelen.)

Legyen annyira olcsó, amennyire csak lehetséges. Önköltségi áron max. 5000 Ft, de ha megéri, akkor lehet akár 7-8000 is.

Ebbe az árba mit terveztél beleférni? A CPU-t tartalmazó „alaplapot”? Mert az anyagköltségre is kevésnek hangzik ez, és még össze sincs szerelve! A „legalább 128K-s SRAM” önmagában egy ezres, akkor már inkább egy 512K-s 2e-ért. :) De tényleg: ennyiből max egy olyan alaplapot tudok elképzelni, amin a CPU + memóriák + bővítő csatlakozókon kívül nincs semmi periféria. Azaz alapból használhatatlan, bármit akarsz vele csinálni, az plusz költség lesz.

Valójában akkor lenne izgalmas a gépecske [legalábbis számomra], ha grafikus illesztővel is el lenne látva, de, tekintve, hogy sokan csak kijelző nélkül, vezérlés céljára, netán soros terminálon keresztül használnák, így a grafikus illesztő inkább maradjon csak opció.

Ez a cucc „vezérlés céljára” pont nem ideális, így azt a felhasználási módot el is engedheted. (Tényleg: ma, 2021-ben, minek akarnál egy relatív sokat fogyasztó, nagy méretű, rengeteg hibalehetőséggel (sok busz + csatlakozó) megáldott eszközt vezérlésre használni, amikor minderre egy darab µC több mint tökéletes..? Ami - csak hogy ne legyen bonyolult - szintén lehet 8 bites. ;) ) Persze ez aztán tényleg magánvélemény.

Ehhez az egészhez, ha a processzor valamely korabeli procival [8088, z80, 6502] kompatibilis lenne, fel lehetne használni az itt-ott sikkadó, hatalmas, abandoned, nem kis részben copyleft kódbázist.

Ez viszont megint érdekes. Merre látsz Te „itt-ott sikkadó, hatalmas” kódbázist? :-D Mert valóban, rengeteg kód készült ezekre, de forráskód ritkán akad hozzájuk, ha a binárist kell újrahasznosítani, az meg ismét őrült nagy munka, nem is biztos, hogy megéri (saját kód írása helyett).

valódi csemegéje lehet a 40-70 éves korosztályon túl még a mai fiataloknak is.

A 40-70-et inkább látom reálisnak! :-D (Vagy inkább :( ?) Aki nem ebben nőtt fel, azok közül nagyon keveset érdekel ám ez! (Nyilván itt is vannak kivételek.) Pedig az ötletet teljes mértékben elismerem: az alapokat sokkal könnyebb ilyen hardvereken megismerni és megérteni. Meg azért „spórolásra nevel” az, amikor nincs minden erőforrásból kvázi végtelen.

Ez a sebesség, a memória mérete és a grafikai képességek.

Az első kettő az „könnyű”. De a grafika... Hát, attól függ, mi a referencia! :) Komolyabb tudású grafikát azért nem lehet pár TTL-ből összerakni. Az esetleg készen kapható (kapható..?) videovezérlők segítségével azt a tudást éred el, amit anno ezek a gépek tudtak. Ha annál jobbat akarsz, az megint nem lesz „olcsó”.

STM32-be írt szoft-processzor. Ez egy érdekes lehetőség.

Az. Valóban érdekes lehetőség. :) Na de: memória? Ha külső RAM/ROM-ot akarsz hozzá illeszteni, akkor annak a kezelése azért egy jó adag µC erőforrást elvisz. Ha a belső memória elég, akkor visszakerülünk az elejére: egy µC-en futtatsz egy 8 bites CPU emulátort, hogy ugyanannak a µC-nek a perifériáit ne direkt, hanem egy emulátoron keresztül érd el..? Egyébként vicces, de ez a verzió nekem is eszembe jutott, a külső RAM/ROM-os illesztéssel (I/O lábakkal „emulált” külső cím/adat/vezérlőbusszal). Talán ezt lehetne a legolcsóbban megúszni, persze azt figyelembe véve, hogy olyan alkatrészeket használj, amit ma is gyártanak és beszerezhető. De a 100 MHz-et erősen optimistának érzem... :)

A 6809 amúgy nekem is szimpatikus, de azzal nem vagy kisegítve, hogy van a fiókomban belőle 1-2 db. :)

" azokat sikerült vele „megszólítani”, akik azt se tudják, mi az a bit! "

Pontosítanék. Azokat is. Az arduino egy olyan mikrokontroller, amit könnyen lehet programozni, mert nem kell hozzá drága készülék és pont.
Ennyi benne a varázslat. A PC-re dughatóság, a fejlesztő környezet egyszerűsége és az alacsony ár. 

"100 MHz-es 8 bites CPU-t nem hiszem, hogy fogsz kapni."

A 100 Mhz az már szoft proci lenne. Léteznek olyan stm32-k is amik 480 MHz-en élik az életüket. Egy ilyenbe implementált soft core megüti egy 100 Mhz-es 6502 teljesítményét, kábé. De, 50 MHz-es 8 bites is létezik. 

"Ami reális, az a szimpla analóg, 640×480-as VGA. Viszont ha összeszámolom, ahhoz „rengeteg” memória kell!"

Vera Board és társai. Idővel tervezhető is egy. Természetesen az is valami saját procis megoldás lenne.

"Ebbe az árba mit terveztél beleférni? A CPU-t tartalmazó „alaplapot”? Mert az anyagköltségre is kevésnek hangzik ez, és még össze sincs szerelve! A „legalább 128K-s SRAM” önmagában egy ezres"

Az alap board, tehát egy 10x10-es pcb, plusz az alkatrészek, simán kiijön 5-6000 forintból. A pcb  6-700 ft, mondjuk egy z840020PEC valami 80-120  cent, tehát max. 350, toshiba 128 kByte STAT RAM 300-ba kerülne, ha mondjuk két db atmega8-16 megy bele, annak is egy dollár darabja, plusz veszek random 5 db TTL valamit 300/db átlagáron, meg öt db LED-et és most vagyok 4000 ft körül.  Szóval, ami tényleg pénzbe kerülne, az egyedül az EEPROM.
De még ez utóbbi megspórolására is látok megoldást.
A startnál az atmega8 bootolna be. kezelné a CPU-t, meg a RAM-ot. A RAM-ba belapátolná a saját rom-jából a tartalmat (boot code, monitor, vagy akármi), majd lepasszolná a cpunak a vezérlést.

"Merre látsz Te „itt-ott sikkadó, hatalmas” kódbázist?"

Régi, nagy múltú BBS-ek anyaga van fent, plusz ott a bitsavers.org, stb.
 

Az még hagyján, hogy nincs 20 megásnál gyorsabb DIP proci, de perifériák sincsenek. IO, soros, DMA, IRQ, stb. Ha meg beállítasz 100 waitstate-t, megint vesztettél. (A 80 megás mikrokontroller nemér, mert szorozza a ferkit, nem jön ki belőle.)

Akkor már inkább PIC-en futtatok RetroBSD-t, ha már mindenképpen "retró" élmény kell :D

https://www.mips.com/blog/can-it-run-bsd-the-story-of-a-mips-based-pic32-microcontroller/

http://plazmauniverzum.hu <> A látható anyag 99.999%-a plazma <>

  • kép fiix
  • előléptetés főoldalra

trey @ gépház

Mivel Commodore64 volt a kispárnám, én 6502-re tenném le a voksom, esetleg a 6809 ill. a továbbfejlesztett c(ir)mos 6309.

Leginkább a videó képességeiben látom a legfőbb akadályt, ahogy 8bit guy is. Erre sajnos ma már nincs megfelelő lapka. A Commodore VIC chip a maga nemében egyedülálló képességekkel rendelkezett, de egy cél chip volt. Nem nagyon találni tömegesen ilyen alkatrészeket. Az, hogy egy mikrokontrollerrel helyettesítsük, kicsit elveszi a dolog élét. Egy sokkal potensebb chip végezné a videó generálást mint maga a processzor.

De támogatom a kezdeményezést! Szeretem ezeket a retró gépeket/processzorokat. Azt sajnálom, hogy én már későn kerültem velük kapcsolatba, nem akkor, mikor a csúcson voltak.

Vannak a VIC chipnek alternatívái ma is, csak az a baj, hogy az a képesség, amit nyújtanak, ma már nem forgalomképes. 
Pontosabban, de, forgalomképes, csak kevesek szivét dobogtatná meg a low end grafika.

Viszont, semmi akadálya annak, hogy a video illesztő is egy 20 MHz-es z80-ra épüljön. A ROM rutinokat érdemes átmásolni a boot után gyors, 20 nSec-es RAM-ba és kész.
Ugyanez a célom magánál a gépnél is. A ROM csak tárolná a szükséges dolgokat, közvetlenül a boot után, vagy legalább az első használatnál a meghívott rutint át lehetne másolni a gyors RAM-ba. Ez is dobna a gép teljesítményén.
 
Egyébként, szerintem egy 384 x 256 pixeles, 64 színt tartalmazó grafika már képes lehet az elvárt minimumot nyújtani. Meg is nézem, hogy a commander x16 milyen grafikát használ. 
 

Nem egyszerűbb pár GAL-lal (vagy valami újabb CPLD-vel) megcsinálni a VGA kártyát?

Ezzel kapcsolatban engem bármiről meg lehet győzni, de még annak ellenkezőjéről is, mert a terület számomra teljesen új. Most, tegnap du. kezdtem el a lehetőségeket feltérképezni és a tanulmányokhoz a szükséges infókat összevadászni.
 

Most néztem, az Analog gyárt 16MHz-es 8051-est, 62MB belső, 64KB külső programmemóriával és 16MB külső RAM kezeléssel.

ADuC812, ADuC831, ADuC832.

Marad másfél portnyi lába a memóriák mellett, lehet rátenni perifériákat, kijelzőt, billentyűt, stb.

Ebből talán kijön olcsóbban, kapsz egy CISC procit, elég retró. A külső RAM-ba befér sok grafika, van benne ADC meg DAC is.

http://plazmauniverzum.hu <> A látható anyag 99.999%-a plazma <>

Megvan az oka. A Python jónéhány kellemes adatszerkezettel rendelkezik és jobban strukturálható. Például osztályba szervezés gyakran hasznos, továbbá az iterátor nagyon hiányzik a BASIC nyelvből.
Megjegyzem, C és Rust között is hasonló változás tapasztalható. Jónéhány kellemes adatszerkezet, osztályba szervezés, iterátor szintén játszik.

Az eredeti HARCON célkitűzés egyszerűbb vezérlési feladatokra alkalmas, 8 bites hardware-t tűzött ki célul. Az általam említett (BASIC-nek látszó) FORTH kifejezetten vezérlésre való. Egy közlekedési lámpa 3 led-jének pin-ekhez renelése után:

sub traffic do red 5 delay redyellow 2 delay green 5 delay yellow 2 delay loop endsub        --. és kész is..

Interaktív, hobby célra sokkal szemléletesebb, áttekinthetőbb. No persze, ha a hobbista atomerőművet akar megvalósítani, akkor valóban python. ;)

Pythonra nem bíznék atomerőművet ;)

Ez olyan, maikor elborzadva néztük, ahogy elkezdtek Windows-os gépeket telepíteni az erőművekbe, kőolaj finomítókba. Vártuk a kék képernyőket és a híreket a TV-ben...

 

 

http://plazmauniverzum.hu <> A látható anyag 99.999%-a plazma <>

Windows XP az ATM-ben, windows XP a számítógéppel támogatott játékterem rulett asztalában [kék halál is megvolt].  Windows 98 a harcászaban, amikor egy szahara felett sikló, halálhozó drónt irányít [vezet célra] a katona az USA-beli, delaware-i támaszpontról, joystick-kal.