Szeretnék egy 8KB-os C64 cartridge ROM-ot emulálni ESP32-vel. Találtam egy leírást, amiből az első típusú kártyát építeném meg, csak szimulált ROM-mal. Itt csak 13 bites címbusz, 8 bites adatbusz és még 2 láb csatlakozik a ROM-hoz. Ehhez van 13 input GPIO és 8 output GPIO kapum az ESP-n. A maradék 2 láb valamilyen engedélyezési bit, ha jól láttam, de innentől jönnek a problémáim:
1 - Az ESP jelszintje 3.3V, a buszokon 5V szalad. Az ESP input szinten elviseli az 5V-ot, de ahhoz, hogy az adatbuszra 5V-ot helyezzen, kellene még egy-egy tranzisztor. Azonban attól félek, ennél bonyolultabb a helyzet. Mi van, ha nem az emulált 8KB-os címen van az adatbuszra helyezendő adat? Ilyenkor az igazi ROM csip mit csinál? Gondolom, valahogy elengedi az adatbuszt, hogy egy másik memória csip helyezhesse rá az adatot. Erre való a maradék 2 láb? A kapcsolási rajzon a memória csak a cím alsó 13 bitjét látja. Honnan tudja, hogy a felső biteken milyen jel van? Erről a C64 gondoskodik, és csak akkor olvassa a kártya adatbitjeit, ha a megcímzendő tartományból kér adatot, vagyis nem is kell tudnom elengedni az adatbiteket?
2 - Tehát ha a kártya RL bitje alapján nem kell adatot szolgáltatnom az adatbuszra, akkor el is kell tudnom engedni azt. Ehhez milyen kapcsolás kell az output GPIO kapuk és az adatbitek közé?