Próba ként el is kezdtem írni egy Z80 emulátort, bár lehet hogy sohasem fog elkészülni.
Legalábbis ez a terv, ma találkoztam a CPI utasítással, és ott már nem egyértelmű, hogy a jelzőbitek hogy módosulnak.
Mit jelent az hogy .W ?
R.HL.W ?
Lehet hogy ez az emulátor sincs nagyon messze attól, hogy a BASIC programokat (parancsokat) hiba nélkül végrehajtsa. Kb. 70 darab Z80 utasítás van még ami nincs megírva (kb. 650 van kész). Ezek egy része könnyû, csak 1-2 trükkös van még (pl. DAA). (utána jöhetnek még a nem dokumentált utasítások, de a BASIC ezeket úgysem használja, szerintem a legtöbb játék sem.)Ne sajnáld az energiát a z80-ra!
A nem dokumentáltakból pedig az XL,XH,YL,YH regiszterekre vonatkozóakat mindenképpen, ezek a legelterjedtebbek.Az egy dolog, hogy mit értünk "dokumentált" alatt. Ezeket én a dokumentáltak közé sorolnám, hisz a z80 a DD, FD prefix beolvasása után automatice értelmezi. Én a nem dokumentáltak alatt a flag -ok nem dokumentált viselkedéseit, és például a SLL utasítást értem, melyeket valóban ritkán használnak, de a z80 értelmezi és végre is hajtja, hisz nem tehet mást. Olli emulátora meg még nem.
A nem dokumentált utasításokat szívesen megírom, de ahhoz az kell, hogy elég információm legyen róluk.Itt bõven találsz leírást. (http://z80.info/)