Enterprise Forever

:HUN => Hardver => Topic started by: Dr.OG on 2017.July.31. 14:45:02

Title: FPGA EP?
Post by: Dr.OG on 2017.July.31. 14:45:02
Sziasztok!

Olyan kérdésem lenne, hogy az EP128-hoz nincs tervbe véve FPGA alapú reimplementáció?

László József (alias joco) TVC-hez csinált MiST-re egy szuper core-t, innen letölthető, a honlapján az alapokat is részletezi:
http://joco.homeserver.hu/fpga/mist_tvc.html

Amennyire én ezt meg tudom ítélni, a kód java része EP-hoz is használható, természetesen a custom chip-ek (Nick és Dave) megvalósítása még rengeteg munkát igényelne...

Üdv mindenkinek: Gábor
Title: Re:FPGA EP?
Post by: IstvanV on 2017.August.01. 11:37:18
Olyan kérdésem lenne, hogy az EP128-hoz nincs tervbe véve FPGA alapú reimplementáció?

Már volt ilyen téma korábban, de végül nem készült el. :oops:
Title: Re:FPGA EP?
Post by: Zozosoft on 2017.August.01. 11:56:18
Többször is volt ilyen téma. Alapvető probléma, hogy nincs rendes dokumentáció a chipekről. A legpontosabb amit tudni lehet, az a tudás amit az ep128emu fejlesztése során István összeszedett. De nem tudom, hogy az emulátor forráskódjából hogyan lehetne hardvert előállítani...
Title: Re:FPGA EP?
Post by: IstvanV on 2017.August.01. 12:21:46
De nem tudom, hogy az emulátor forráskódjából hogyan lehetne hardvert előállítani...

A DAVE és NICK nem dokumentált tulajdonságairól már most is vannak leírások különböző régi fórum témákban, és ha valami nem egyértelmű, akkor mindig lehet kérdezni. :) De a legnagyobb probléma az lehet, hogy van-e valakinek ideje és energiája ilyen projektbe belevágni. Ha elsőre nem is lenne tökéletes, később is lehetne még fejleszteni. Amikor korábban felmerült ez a téma, akkor "EP 2.0" lett volna a cél, ami annyira sokat tudott volna, hogy senki nem tudta megvalósítani. Egyelőre elég lenne "csak" az eredeti gépet vagy az emulátort reprodukálni hardveresen, több memória és gyorsabb Z80 is hasznos fejlesztés lenne, amit a már meglevő programok is ki tudnának használni.
Title: Re:FPGA EP?
Post by: Tutus on 2017.August.01. 15:05:49
A DAVE és NICK nem dokumentált tulajdonságairól már most is vannak leírások különböző régi fórum témákban, és ha valami nem egyértelmű, akkor mindig lehet kérdezni. :) De a legnagyobb probléma az lehet, hogy van-e valakinek ideje és energiája ilyen projektbe belevágni. Ha elsőre nem is lenne tökéletes, később is lehetne még fejleszteni. Amikor korábban felmerült ez a téma, akkor "EP 2.0" lett volna a cél, ami annyira sokat tudott volna, hogy senki nem tudta megvalósítani. Egyelőre elég lenne "csak" az eredeti gépet vagy az emulátort reprodukálni hardveresen, több memória és gyorsabb Z80 is hasznos fejlesztés lenne, amit a már meglevő programok is ki tudnának használni.

Ha ez megvalósulna, egy napig csókolgatnék egy EP-t a Hősök tere közepén! :ds_icon_cheesygrin:
Ahogy említetted, szerintem is a legnagyobb gond az idő (olyan ember kellene aki csak ezzel tud foglalkozni)
Title: Re:FPGA EP?
Post by: Tuby128 on 2017.August.01. 19:14:34
Az Enterprise mai szemmel nem egy bonyolult hardware konstrukció. Szerencsére lehet szabadon letölteni Z80 chip kódot, ami gyönyörűen fut is azonnal. Ehhez hozzá lehet kapcsolni egy dave chip kódot, amihez aztán odaköti az ember a ASIC kimeneteit, hogy digitális jeleket fogadjon, és küldjön (basic cartridge). A hangról mondjuk lemondunk, mert az tényleg nehéz.
 Ezután jön a Nick. A sorparamétertáblát be kell helyezni a gyorselérésű memóriába, majd elemezni, és a képet aszerint megalkotni, ahova a paraméter tábla mutat, ez ugye lehet szöveges, ekkor egy harmadik helyet keresünk a memóriában, ahova a karakter képpontjai el vannak tárolva.
 Ezután jó volna még egy billentyűzet csatlakozás is. Kellene már egy PS/2 vagy USB billentyűzet már csak azért is, hogy teszteljük. Mert ha ez nincs, akkor valahogy a fóliatasztatúrát kellene összekapcsolni vele, ami kissé nyűgös, lévén a csatlakozó eléggé nehezen beszerezhető.
 Az új Nick gyorsabban kell hogy olvassa és rajzolja a sorokat, mert ez a vízszintes frekvenia nem kompatibilis a VGA szabvánnyal, ezért elég nehéz mai monitorokon EP-zni. Így tesztelni sem az igazi.
 Ekkor már a 6. hónapban járok, és lehet eljutok a villogó EP feliratig, anélkül hogy kifagyna.
 Kérdés az, hogy ki ad nekem enni, amíg a föld alá vonultam? (Felejtés bére c. film)
Title: Re:FPGA EP?
Post by: Tuby128 on 2017.August.01. 19:27:09
Azt elfelejtettem mondani, hogy ha az ember nekikezd ASIC kódot írni, és nincsen fizikai határ a bonyulultság szempontjából, (mert a világ összes elektronikai kapuja, számlálója, kapu memóriája (NEM DDR-SDRAM!) stb.) rendelkezésére áll, akkor a projekt nagyon gyorsan megvan.
 De amikor oda jut, hogy megírta a kód 1/16 részét, és az ASIC már tele van, akkor vagy elkezd optimalizálgatni, ami nagyon kitolja a projekt idejét, vagy vesz egy combos FPGA-t 100+ Ezer Ft-ért, és nekiugrik. Így viszont a termék már nem eladható, ha később valakinek kellene.
 
 
Title: Re:FPGA EP?
Post by: Zozosoft on 2017.August.01. 19:49:35
A hangról mondjuk lemondunk, mert az tényleg nehéz.
Ha bármiről lemondunk, akkor értelme sincs belekezdeni.

Quote
lévén a csatlakozó eléggé nehezen beszerezhető.
Ez a legkönnyebb része:
A csatlakozók eredeti típusa: MOLEX 5229-08CPB és 5229-10CPB, újabb kóddal: 22-02-3083 és 22-02-3103
Kínai utángyártott: CONNFLY DS1020-08ST1D és DS1020-10ST1D
Title: Re:FPGA EP?
Post by: Tuby128 on 2017.August.01. 19:56:19
Ezek szerint volt szerencséd cserélni?
Title: Re:FPGA EP?
Post by: Zozosoft on 2017.August.01. 20:05:17
Igen, pontosabban találkoztam már olyan gépekkel, amiből valaki, valamikor kiforrasztotta, és pótolni kellett.
Title: Re:FPGA EP?
Post by: IstvanV on 2017.August.02. 08:50:40
Ha bármiről lemondunk, akkor értelme sincs belekezdeni.

A hang szerintem nem annyira nehéz, itt (https://enterpriseforever.com/hardver/dave/msg19278/#msg19278) már van leírás a hanggenerátorok és különböző effektusok működéséről. A NICK-nél jelenthet nehézséget a pontos időzítés, a Z80 órajel nyújtása, stb., és általában az órajelek nem egész aránya - a többi 8 bites gépen egy karakter általában pontosan 4 Z80 ciklus, vagy 1 vagy 2 6502 ciklus, a 4 MHz-es EP-n viszont (elméletileg) 4.495159752 ciklus. :) Bár a 4.5 ehhez képest csak 0.1% eltérés, a gép azonban turbósítható is. Természetesen a VGA monitorokkal való kompatibilitást is úgy célszerű megoldani, hogy az EP-s szoftver továbbra is az eredeti időzítést lássa, azaz maradjon a 15611.33 Hz-es sorfrekvencia és csak a video kimeneten legyen például minden sor kétszerezve.
Title: Re:FPGA EP?
Post by: Tuby128 on 2017.August.02. 19:37:49
Ez az utolsó mondat ez nem kerek.
 A Nick LPT-vel állítható, hogy minden sor végén IRQ-t generáljon. És a cél az lenne, hogy attól függetlenül, hogy mi hogyan jelenítünk meg a monitoron, a V-IRQ jöjjön az említett 15611.33 Hz-cel?
 Tehát a Nick entitásnak (hívjuk igy az ASIC forráskódját) produkálnia kellene saját magát V-IRQ szinten, de a valós horizontális frissítése már VGA szabványú legyen?

"A-modul": Kiolvassa az a LPT-t, eltárolja a sorhosszt VAL változóba. VAL-t elkezdi csökkenteni a 14Mhz-es-végrehajtási sebességgel. Majd ha eléri a nullát, ad egy V-IRQ-t. (már ha a sorparaméter tábla kérte ezt)

"B-modul": Kiolvassa az LPT-t, csinál egy gyors másolatot a hozzátartozó pixelsorról, (ha karakter akkor több dolga lesz picit). És megjeleníti a biteket az RGB lábakon VGA sorfrekvenciával.

 Ha jól tudom az eredeti Nick minden 16 pixelt egyszerre olvasott ki, aztán megjelenített, miközben kiolvasta a következő 16-ot.

 Ha a Z80 nem a videomemóriába ír, az tiszta. Nick entitás címet számol, kiolvas, címet számol kiolvas... stb. mindezt zavartalanul.

 De ha a Z80 a DAVE entitáson keresztül írna a Nick memóriájába... az már nagyon bonyolult.
 Javaslom használjunk olyan memóriát, ami kétportos (2-port). Tehát a Nick is hozzáfér a saját interfészén és a DAVE+Z80 is a sajátján egyidejűleg. Így nem kell egyiknek a másikra várnia. Egyszerűbbé tenné a programozást.
 Ez ugye egy áldozat lenne, amit azért hozunk, hogy célhoz érjünk.
Title: Re:FPGA EP?
Post by: Zozosoft on 2017.August.03. 08:15:10
Javaslom használjunk olyan memóriát, ami kétportos (2-port). Tehát a Nick is hozzáfér a saját interfészén és a DAVE+Z80 is a sajátján egyidejűleg. Így nem kell egyiknek a másikra várnia. Egyszerűbbé tenné a programozást.
 Ez ugye egy áldozat lenne, amit azért hozunk, hogy célhoz érjünk.
Ha már a rajtnál eltévesztjük az útirányt, akkor nem fogunk célba érni, hanem jól eltévedünk.
A várakozások az EP alapvető része, ha nincsenek, akkor nem úgy fognak futni a programok mint ahogy kéne. Ez történt a Z80MU-val is, és amikor az első EP-sek kipróbálták a cuccot, egyből hosszú listát írtak arról, hogy mely programok futnak rosszul. Később István írásai alapján nagyjából meg lettek oldva a várakozások, de nem rendes emulációval, hanem csak helyettesítő, ide-oda betett várakozásokkal, így nagyjából elfogadhatóan működnek már a programok.
Újabb "nagyjából" cucc fejlesztésébe felesleges belevágni.
Title: Re:FPGA EP?
Post by: IstvanV on 2017.August.03. 09:16:41
Tehát a Nick entitásnak (hívjuk igy az ASIC forráskódját) produkálnia kellene saját magát V-IRQ szinten, de a valós horizontális frissítése már VGA szabványú legyen?

A lényeg, hogy az EP-s szoftver szempontjából ugyanolyan legyen, mint az eredeti gép.
Title: Re:FPGA EP?
Post by: Tuby128 on 2017.August.04. 12:28:18
István!
 Volna lehetőség módosítani egy mostani PC alapú EP emulátort úgy, hogy a Z80-at az FC..FF lapokhoz való hozzáféréskor nem várakoztatja a NICK chip?
 Le szeretném tesztelni magam!