É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.