Welcome, Guest. Please login or register.


Author Topic: EP utánzat? (Read 13799 times)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP utánzat?
« Reply #15 on: 2023.April.05. 07:21:39 »
CPU csere Z84-re?
Ezt a kérdést nem egészen értem... :oops:
Minden Z80 chipszáma úgy kezdődik, hogy Z84... manapság a kedvencünk a Z84C0010P.. :-)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP utánzat?
« Reply #16 on: 2023.April.05. 15:15:39 »
Ezt kifejtenéd hogy miért jó ez? Mármint hogy a Z80-nak meg a RAM-nak ott kell lennie?
Ha minden egy chipben van az egy emulátor, emulátornak meg ott van az ep128emu..

Offline Tuby128

  • EP addict
  • *
  • Posts: 1485
  • Country: hu
Re: EP utánzat?
« Reply #17 on: 2023.April.05. 16:32:05 »
Nem értek egyet. Az ep128emu a windows/linux rendszeren futó felhasználói program. Gondolom az operációs rendszertől kér multimédia megszakítást, hogy tartsa a Z80 órajeleit. Amit vagy megad a windows vagy nem. Úgy tekintek rá mint egy "homokozó" ahol gyorsban ki lehet próbálni dolgokat, debugolni stb.

 Holnapután már megint változtat valamit a Microsoft a directx programcsomagokon, és megint nem fog működni az emulátor.
 Mindig majd lesz egy újabb verzió, meg egy hosszú verziótörténet.
 Nem lehet az EP128 emuhoz csatlakoztatni hardvereket. Pl ha készítek egy külső sprite akármit, vagy midi akármit, nem tudom az EP emuval összekapcsolni.

 A billentyűzetprobléma amit korábban írtál, ez is csak egy régi tapasztalat, ami manapság már változott. A gamer billentyűzetek manapság nem sor/oszlop fólialetapogatással dolgoznak, hanem minden gomb bemegy a feldolgzozó csipbe egyenként. Emiatt nincs olyan gond, hogy több billentyűt nyomsz, és nem veszi észre. Kialakításuk miatt az áruk is magasabb persze.
 Az USB protokol igenis nagyon gyors. Ha kap egy USB master vezérlőt az FPGA EP, akkor az csak a billentyűzettel fog kommunikálni, így tartható az igen magas feldolgozási sebesség. Hidd el, előbb át fog menni a lenyomott billentyű kódja, mint hogy a Z80 kiadjon egy out/in utasításpárt.
 Megjegyzés azoknak akik kevésbé ismerik: A billentyűzet letapogatás úgy történik az EP-nél, hogy a Z80 kiad egy out utasítást, amit egy in utasítás követ. Ez után jön a kiértékelő rutin. Ezalatt bőven le lehet kérdezni a billentyűzetet.
 Ez EP Emunál a windows kezeli az USB-t és a egy emulátor dolgozza fel a jelet, nyilván ebben van késleltetés.

 Az FPGA további előnye, hogy jó ha van egy "játszós EP" amin ki lehetne próbálni dolgokat. Nem feltétlen kellene egyből a valódi gépnek esni pákával.

 Ha egyben lenne minden (CPU+NICK+DAVE+MEMÓRIA) az FPGA-ban, akkor az EP FPGA-ban való leprogramozása is sokkal egyszerübb lenne, nem kellene ezeregy régi RAM IC-t illeszteni egy FPGA-hoz. Az összes valódihoz hasonló viselkedést (késleltetést) simán lehet szimulálni. Biztos vagyok abban, hogy sokan szívesen ki is kapcsolnák a késleltetést, hogy lássák, hogyan fut egy Outrun anélkül.

 Ahogy néztem a letölthető Z80 FPGA kódokat, olyan is lehet, hogy egy cache-be beolvassa a Z80 a program-memóriának egy szeletét, és egy ciklusra le lehet rövidíteni csak a byte fetching-et. Akkor is ha több byteos a kód. Ezzel bizonyos esetben többszörös gyorsulás érhető el úgy hogy marad a 4MHz. Ezután még egy 4-ről 50MHz-es órajel növekeléssel akár 100-300x gyorsabb EP hez juthat a felhasználó, már ha igénye volna rá persze. Mindig is kíváncsi lettem volna, hogy néz ki egy BASIC program, ami gépi kódú rutin sebesség kétszeresével fut végig.
 Kis ügyességgel DOOM szerű FPS játék lenne írható BASIC-ben, anélkül hogy szaggatna.

 Még egy érdekesség, ha az FPGA Z80 szteroidokon lenne és eszméletlen gyorsan tudna a normál és video memóriában mezőket másolni (lévén, hogy az FPGA a NICK és Z80 közös memória hozzáférést megoldaná, és z80 CACHE miatt rövidebb ciklusok lennének), akkor máris lenne piszokgyors sprite kezelés, de a teljes képernyős görgetés akár horizontálisan akár vertikálisan szintén hihetetlen gyors lenne.

 Szerintem egy következő EP klub alkalmával sokan szívesen megnéznék, hogy mit tud a vas.

Offline Allf

  • EP fan
  • *
  • Posts: 111
  • Country: hu
Re: EP utánzat?
« Reply #18 on: 2023.April.05. 17:29:40 »
Quote
Minden Z80 chipszáma úgy kezdődik, hogy Z84... manapság a kedvencünk a Z84C0010P.
Igen igaz! Lehet 8 bitet ötvözni és lépni felfelé egy kicsit. Z80180 családnak van 33MHz tudó példánya is... Ha jól emlékszem itt a honlapon találkoztam ezzel kapcsolatos hozzászólással...

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14776
  • Country: hu
    • http://enterprise.iko.hu/
Re: EP utánzat?
« Reply #19 on: 2023.April.06. 08:17:59 »
az EP FPGA-ban való leprogramozása
Quote
valódihoz hasonló viselkedést (késleltetést) simán lehet szimulálni

Leírtad a kulcsszavakat: leprogramozás, szimulálás. Szóval ez emulátor. Ráadásul aminek nincsenek korlátai.
Nem kétlem, hogy csuda dolgokat lehet csinálni, csak az számomra már nem érdekes.

Quote
Ahogy néztem a letölthető Z80 FPGA kódokat, olyan is lehet, hogy egy cache-be beolvassa a Z80 a program-memóriának egy szeletét, és egy ciklusra le lehet rövidíteni csak a byte fetching-et. Akkor is ha több byteos a kód. Ezzel bizonyos esetben többszörös gyorsulás érhető el úgy hogy marad a 4MHz.
Ha ezt például le tudod gyártani, úgy, hogy rajta van egy kis panelen, aminek van 40 lába, és bármely EP-be betehető, akkor érdekes számomra. Ha csak elbújik egy nagy fekete chipben, akkor nem.

Offline Tuby128

  • EP addict
  • *
  • Posts: 1485
  • Country: hu
Re: EP utánzat?
« Reply #20 on: 2023.April.06. 09:41:15 »
Ha ezt például le tudod gyártani, úgy, hogy rajta van egy kis panelen, aminek van 40 lába, és bármely EP-be betehető, akkor érdekes számomra. Ha csak elbújik egy nagy fekete chipben, akkor nem.

Van az opencores.org oldalon egy ilyen Z80 projekt:

NextZ80:
Created: Mar 18, 2011
Updated: Sep 20, 2018
Status: DONE

Description
- Z80 compatible processor.
- All documented / un-documented intstructions are implemented.
- All documented / un-documented flags are implemented.
- All (doc / un-doc) flags are changed accordingly by all (doc / un-doc)instructions. The block instructions (LDx, CPx, INx, OUTx) have only the documented effects on flags. The Bit n,(IX/IY+d) and BIT n,(HL) un-documented flags XF and YF are implemented like the BIT n,r XF and YF, not actually like on the real Z80 CPU.
- All interrupt modes implemented: NMI, IM0, IM1, IM2.
- R register available.
- Fast conditional jump/call/ret takes only 1 T state if not executed.
- Fast block instructions: LDxR - 3 T states/byte, INxR/OTxR - 2 T states/byte, CPxR - 4 T states / byte
- Each CPU machine cycle takes (mainly) one clock T state. This makes this processor over 4 times faster than a Z80 at the same clock frequency (some instructions are up to 10 times faster).
- Works at up to 40MHZ on Spartan XC3S700AN speed grade -4) - performances similar or better than a real Z80 running at 160Mhz.
- Small size (~12%, ~700 slices - on Spartan XC3S700AN).
- Tested with ZEXDOC (fully compliant) and with ZEXALL (all OK except CPx(R), LDx(R), BIT n, (IX/IY+d), BIT n, (HL) - fail because of the un-documented XF and YF flags).

Nem mindent értek tekintve, hogy nem ismerem olyan jól ezt a processzort mint te.
Ez érdekelhet téged egy 40 lábú valamiben? Akkor is érdekel, ha akkora a board, hogy nem tudod rátenni az EP eredeti házát?