Welcome, Guest. Please login or register.


Author Topic: DAVE (Read 119373 times)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: DAVE
« Reply #105 on: 2015.March.27. 18:48:22 »
Hat nem tudom, biztos, hogy egyszerubb? Mivel opencores-en van Z80 (pl a T80) lehet egyszerubb egy teljes Ep-t szintetizalni FPGA-ban, lehet farigcsalni stb. A vegen persze pl a Dave reszt kulon is meg lehet probalni felhasznalni. Bar, ez lehet csak az en felelmem, de en biztos nem tudnek olyat csinalni, hogy Dave kiforraszt, es valahogy egy FPGA-t operalni a helyere (eleve egyszerubb egy FPGA devel board-dal). Mondom en ezt ugy, hogy meg mindig kezdo VHDL tanulo vagyok :)

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: DAVE
« Reply #106 on: 2015.March.27. 19:32:09 »
Lépjünk túl a forrasztáson, az gyerekjáték.
 Én időt akarnék megtakarítani azzal, hogy csak azt tesztelem azt a részletet amit már megírtam. A gördülékeny hibakereséskor nagyon fontos, hogy legyenek már működő részek amire sosem kell gyanakodnom. Most írod, hogy van open Core Z80. Csak ebből áll az EP? Dave mellett ott van egy NICK is, amit megint nem ismerünk meg egy rakat periféria, amit a "behelyettesítésnek" köszönhetően így nem kell külön lekódolni.
 Ha egyből indítom a EXOS IC-t, és azonnal elszáll mit csináljak? Mi szállt el? Mit csinált? Nem tudni, valamilyen komplex feladatot biztos. Mi volt a hiba oka? Ki tudja melyik modul működött hibásan, hisz mindegyik újonnan készült, és még egyiket sem tudtam igazán tesztelni.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: DAVE
« Reply #107 on: 2015.March.27. 22:09:29 »
Lépjünk túl a forrasztáson, az gyerekjáték.

:) :) En nehezen tudok, mert semmi remesebbet nem tudok annal elkepzelni, mint ilyeneket forrasztani. Nekem altalaban normal DIP is nehezen megy, pedig 6 eves korom ota forrasztok tulajdonkeppen :)

Quote
Én időt akarnék megtakarítani azzal, hogy csak azt tesztelem azt a részletet amit már megírtam. A gördülékeny hibakereséskor nagyon fontos, hogy legyenek már működő részek amire sosem kell gyanakodnom. Most írod, hogy van open Core Z80. Csak ebből áll az EP?

"Majdnem" - koltoi tulzassal, de ... :) Induljunk ki abbol, amikor irtam az JSep-t. Az, hogy volt egy Z80 emulacio, abbol par oras munkaval mar lett 'valami' ami ugyan messze van a tokeletes EP emulaciotol, de mar valami kimutathatot csinal. Ott is eleg volt, hogy total pontatlan idozitessel akar csak text40 modot emulaljak szinek stb nelkul, vmi mar jott, ezzel az idiota Nick emulacioval, es Dave memorialapozgatas implementalasa utan. Szoval kb emelekeim szeint Z80 + B0-b3 lapozgatas + minimal Nick ganyolas utan a cucc mar vmit csinal. Igazabol meg Nick megszakitas, sot Dave megszakitasok sem kellettek, max az Enterprise logon nehez atlepni mert ott exos mar video int-bol hivnak a kbd figyelest. Ez viszont igy jol lathatoan ad ezert lehetoseget a fokozatos fejlesztesnek, nem kell minden egyszerre tokeletesnek.

Quote
Dave mellett ott van egy NICK is, amit megint nem ismerünk meg egy rakat periféria, amit a "behelyettesítésnek" köszönhetően így nem kell külön lekódolni.
 Ha egyből indítom a EXOS IC-t, és azonnal elszáll mit csináljak? Mi szállt el? Mit csinált? Nem tudni, valamilyen komplex feladatot biztos. Mi volt a hiba oka? Ki tudja melyik modul működött hibásan, hisz mindegyik újonnan készült, és még egyiket sem tudtam igazán tesztelni.

Hat szimulalni kell nyilvan, pl GHDL-ben, ami lehetove teszi (leforditott) VHDL es C kod otvozeset es futtatasat is akar egybe linkelve, ahol igy konnyu nezni. Az nyilvan tenyleg nem segit, ha FPGA-ba bekerul a bitstream aztan nem csinal semmit, es az ember csak gondolkodva bamul a 100labura, hogy mi baja lehet :)

Offline Zozosoft

  • Global Moderator
  • EP addict
  • *
  • Posts: 14779
  • Country: hu
    • http://enterprise.iko.hu/
Re: DAVE
« Reply #108 on: 2015.March.27. 22:33:17 »
Induláshoz a B0-B3 portok kellenének, plusz a címdekódolás a ROM/CART/VRAM/VIO kimenetekre. Ha ez meg van akkor már futhat valami program, ami a képernyőt is eléri.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: DAVE
« Reply #109 on: 2015.March.27. 22:43:58 »
Induláshoz a B0-B3 portok kellenének, plusz a címdekódolás a ROM/CART/VRAM/VIO kimenetekre. Ha ez meg van akkor már futhat valami program, ami a képernyőt is eléri.

Azert gondoltam en is, hogy egy teljes EP-vel egyszerubb. Ui a T80 nevu core viszonylag jol tesztelt, tobb project is hasznalja, minimalis Dave-et osszehozni valoszinu nem nehez, amivel mar _vmit_ csinal. Tehat inkabb elso korben a Nick-re kene ramenni, hogy legyen "lathato" eredmenye a dolognak :) Ha meg mar az van, akkor szepen lehet tenyleg tesztelni vmi custom ROM-al egyszeru(bb)en.

Persze ez csak az en velemenyem, nyilvan vki egy "igazi" EP-n is megprobalhatja a Dave-et lecserelni, es csak annyi :) Ha mar annyit tud, hogy ROM-ot olvas, es VRAM-ba tud irni, meg nyilvan IO-t tud, akkor mar vmit lehet kezdeni a kepernyovel, es irni tesztprogramot.

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: DAVE
« Reply #110 on: 2015.April.01. 20:49:30 »
Épp a földalatti vasútról száltam ki a főpályaudvarnál, sétáltam fel a vágányokhoz, miközben azon töprengtem amit írtál LGB. Hogy a Z80-as kódot is fel kellene használni. Ekkor kipattant az ötlet: Nem a DAVE-et kell kiszedni az alaplapból, az nyugodtan maradhat, hanem a Z80-at.
Több ok is szól mellette:
- Furatszerelt, tehát könnyen összekapcsolható stiftekkel egy segéd nyákkal amin az FPGA van
- Mivel a Z80-nak mindenhez van hozzáférése ezért az FPGA is látni fog mindent, nincsenek rejtett megszakítások többé
- Mivel az FPGA-ban működik a Z80, az EP alaplap lakói észre sem veszik a változást
- Innen később akár NICK teszteket is lehet majd csinálni

Időrendben a következőket tenném:
1. Letesztelném, hogy a szabad forráskódú Z80 megy-e az EP környezetben. Ezzel kizárható a Z80 oldali hiba.

2. A meglévő kód mellé létrehozom a VICA (új DAVE) egységet, és mögé a kamu perifériákat és a memóriát
     - Bevezetek egy speciális OP-kódot, mely dönt, hogy DAVE-től vagy VICA-tól vegye a CPU az olvasott jelet:
        - Out és memóriaírás utasítások kimennek DAVE-re és VICA-ra
        - IN és memóriaolvasás utasítások csak az spec. OP-kód által kiválasztott irányból
     - Mivel az írási művelet mindkét irányba megindul, a fizikálisan létező rendszer is ugyanúgy kellene működjön
        - Tesztként akár folyamatosan össze is lehet hasonlítani a két memóriát

3. Szépen lassan minden DAVE-ben található egységet kiváltok VICA-val.

Egy sarkallatos pontot látok, ez pedig a megszakítások. Már régen nem olvastam a kézikönyvet, nem emlékszem, hogy milyen megszakítások vannak. Olyan teszt szoftverkörnyezet kell, ahol első körben nincs figyelembe véve az 50Hz-es és egyéb megszakítás. Bár az FPGA-ban tudok előállítani periodikus jeleket.



 Úgy érzem ez most járható út lesz, és körvonalazódik a megoldás.

Offline Trefe

  • User
  • *
  • Posts: 66
  • Country: hu
Re: DAVE
« Reply #111 on: 2015.April.01. 21:57:26 »
Lehetne az új "DAVE"-et a konstruktőr után " TUBYBB"-nak nevezni "VICA" helyett? ;-)

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: DAVE
« Reply #112 on: 2015.April.01. 22:26:52 »
A mérnöki világban a termékek mindig lány nevet kapnak, ettől lesznek vonzzóbbak.
Azért választottam ezt a nevet, mert amikor gyermekkoromban olvastam Az egri csillagokat beleszerettem Cecey Évába. Odaadó feleség volt, csakúgy mint édesanyám. Hát innen a névválasztás.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: DAVE
« Reply #113 on: 2015.April.01. 23:28:51 »
A mérnöki világban a termékek mindig lány nevet kapnak, ettől lesznek vonzzóbbak.
Azért választottam ezt a nevet, mert amikor gyermekkoromban olvastam Az egri csillagokat beleszerettem Cecey Évába. Odaadó feleség volt, csakúgy mint édesanyám. Hát innen a névválasztás.

:) Ez szep, de en nem adnek uj nevet neki, mert alapvetoen ugye compatible kene, hogy legyen, max uj dolgokkal is, tehat lehetne DAVE2, SuperDave, vagy hasonlo. Viszont az is igaz, ha tenyleg csinalsz ilyet, nem en fogom eldonteni, mi lesz a neve, szoval pofamat alapallasba allitom ezennel. Amugy en mar elkezdtem EP-t csinalni ugymond VHDL-ben, a problem az, hogy nincs min kirpobalni, masreszt mivel azota is epp erteni kezdem a VHDL-t, igy komolyan barmire az ilyen iranyu probalkozasaim nem sok mindenre jok :D Kene szerezni vmi devel board-ot elso korben, meg mindig ott tartok. Node, ez messzire vezet, es O.T. ...

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: DAVE
« Reply #114 on: 2015.April.02. 00:10:34 »
Valaki el tudná beszélni címszavakban, hogy honnan ismeri fel a Z80, hogy melyik irányból jött a maszkolható megszakítás?
Már régen olvastam a Novotrade könyvet.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: DAVE
« Reply #115 on: 2015.April.02. 00:25:54 »
Valaki el tudná beszélni címszavakban, hogy honnan ismeri fel a Z80, hogy melyik irányból jött a maszkolható megszakítás?
Már régen olvastam a Novotrade könyvet.

Mit ertesz "irany" alatt? Ha EP-s kornyezetben nezzuk, akkor a Z80 altal ismert harom fajta megszakitaskezelesbol az IM1-et hasznalja, azaz igy azt kevesbe tudja a Z80 onmagaban, hogy mit jelent egy interrupt, es "miert" allt elo, ebben segit a Dave, igy valoban tobb megszakitas keres lehet, de Z80 fele mar egyetlen jel megy, aztan sw-bol megvizsgalja (a Dave megfelelo portjat olvasva), hogy konkretan mi valtotta ki a megszakitast. Vagy vmi hasonlo :D

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: DAVE
« Reply #116 on: 2015.April.02. 00:52:27 »
Ezeket? És ha feldolgozta, akkor törli a bitet. Csak ezek vannak, vagy van más is?

R20 W #B4

    b0
        1 = enable 1KHz / 50Hz / TG interrupt.
    b1
        1 = reset 1KHz / 50Hz / TG interrupt latch.
    b2
        1 = enable 1Hz interrupt.
    b3
        1 = reset 1Hz interrupt latch.
    b4
        enable INT1.
    b5
        reset INT1 latch.
    b6
        enable INT2.
    b7
        reset INT2 latch.

R20 R #B4

    b0
        1KHz / 50Hz / TG divider. (f int/2 square wave).
    b1
        1 = 1KHz / 50Hz / TG latch set.
    b2
        1Hz divider. (0.5 Hz square wave).
    b3
        1 = 1Hz latch set.
    b4
        INT1 input pin.
    b5
        1 = INT1 latch set.
    b6
        INT2 input pin.
    b7
        1 = INT2 latch set.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: DAVE
« Reply #117 on: 2015.April.02. 01:00:20 »
Annak ellenere, hogy emulator iras miatt egyszer mar megertettem, lehet az en fantasztikus magyarazasi kepessegeim miatt nem engem kene kerdezned :) De amugy igen, sacc/kb van negy forras. Ebbol az INT1 es INT2 az kulso, ha jol remlik az INT1 van a Nick-re kotve, tehat az a video interrupt, az INT2 meg talan nincs hasznalva. A masik ketto, az kb Dave internal interrupt source. Vmi olyasmi, ha barmelyik latch beallt, akkor az azt jelenti, hogy a Z80 interrupt vonala aktiv allapotban van, torolni neked kell sw-bol, kulonben fura lesz, ha visszatersz az interrupt handlerbol, mert azonnal ujra int. lesz :) Amugy erdemes Dave topic-okat megnezni, nalam magyarazni sokkal jobban tudo emberek nagyon sok szepet leirtak mar a temarol :)

Offline Tuby128

  • EP addict
  • *
  • Posts: 1487
  • Country: hu
Re: DAVE
« Reply #118 on: 2015.April.02. 01:01:54 »
A kapcsolási rajz alapján a következő jelek vannak:
Int1 - Videomegszakítás, gondolom a LPT alapján valamikor jelez
Int2 - Serial Port A4-es bemenet (Ez mi is?)
1Hz - Magától értetődő
1KHz/50Hz/TG IRG - Ezt nem tudom mi

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: DAVE
« Reply #119 on: 2015.April.02. 01:16:15 »
Quote
1KHz/50Hz/TG IRG - Ezt nem tudom mi

Ejj, tenyleg no offenz, de csak el kene olvasnod Neked is egy Dave leirast :)
Pl itt beallithatod, hogy mi legyen az "alapja" annak az interrupt-nak:

Code: [Select]
R7 W #A7
b6,b5
    Select interrupt rate:

    00 = 1KHz.
    01 = 50Hz.
    10 = Tone generator 0. f = 250,000/(n+1)
    11 = Tone generator 1.

Az Int2-rol mindig azt hittem, hogy nem hasznalt, lehet megis, csak epp nem sokszor szoktak, es pl valami soros jatekban (a "ep network" serial modra?) kerdesben jutott (volna?) szerephez.

http://ep128.hu/Ep_Konyv/Exos.htm#240

Ez amugy tenyleg jo, erdemes elolvasni, a portok felsorolasa utan ad arra vonatkozo tippet, hogy mikepp is van ez a latch stb dolog pontosan, mi a viszonya a Z80-al, stb. En uezt kb 10 oldalban magyaraznam, es a vegen meg en se ertenem mar :)
« Last Edit: 2015.April.02. 01:24:10 by lgb »