A "teszt" cuccom már régebben elkészült
volna, ha nem szívatom meg szépen magam.

Kergettem egy hibát: egy oszcillátor nem indult el. A felépítése nem éppen ideális, majd később ez máshogy lesz, de tesztelni éppen megfelelő. Mivel ez egyszer már működött, ezért ezt raktam össze először, majd szépen
el is temettem egy rakás másik vezeték alá. Mérés közben meg szépen le is állt (ez mondjuk nem para...), emiatt csak a külső jelekből tippeltem erre, mint hibaforrásra. Valahogy nem akaródzott lebontani fölüle a többi elkészült részt, de a végén csak muszáj volt szétszednem. Egy "tuti jó" megoldást ideiglenesen hozzákötve ugyanazt csinálta, mint eddig.

A hibát - mint kiderült - egy rossz fw okozta, én meg forrasztgathattam vissza mindent.

Na de a lényeg: egy kis BASIC tesztprogrammal sikerült belőle hangot kicsikarni. A jelenlegi felállás:
- Portcímnek a 08h..0Fh I/O tartomány lett kiválasztva
- A jelenlegi verzió a 0Eh/0Fh I/O címeket dekódolja
- 0Eh = a SID-regiszter címe, A B43210 tartalmazza a cím 5 bitjét, a maradék 3 bit nem használt
- 0Fh = a SID adata, a 0Eh-n kiválasztott számú regiszterbe fog bekerülni az ide beírt adat
A regiszterpárból (a későbbiekben) 4 db. helyezhető el a kiválasztott tartományban. A regiszterek csak írhatók, olvasáskor "nem definiált" adat jön vissza, ezért jelenleg nem oldható meg a bővítés automatikus detektálása. Viszont aki ma EP-t használ, ott szerintem van annyi intelligencia, hogy ha egy SID-es programot indít el bővítés nélkül, akkor nem fog fennakadni azon, hogy miért nincs hang.

Tehát a lényeg: a SID regiszterírás úgy működik, hogy 0Eh I/O címre a beállítandó SID regiszter címét kell először kiírni, majd utána 0Fh I/O címre kell az adatot kiküldeni. Hogy ezt a szekvenciát milyen sebességgel lehet ismételni, az jó kérdés, ezt majd még meg kell vizsgálni.
Majd lesz kép is, de először szeretném egy "rendes" zenével meghallgatni.
