Szalagsebesség-változás kompenzációját
Ilyet biztos nem csinál a hw, ahogy olvasom az EXOS leírást minden blokk elején van szinkronizáós szakasz, ahhoz lehet igazodni. Mivel eleve több sebességes töltést terveztek, ezért lehetséges az, hogy kis mértékü turbot (asszem kb 2700 baud?) az alap EXOS rutin is be tud tölteni.
A HW-ben csak egy erõsítõ van, még a sávszûrõt is --jogosan-- kispórolták. Puszta idõmérésen mûxik az egész. Már nem tudom, honnan van ez a tábla, de iderakom:
[table color=#444444]
[mrow] [col]fast[col]slow[col]fast[col]slow[col]
[row]B2E0[col]56[col]C7[col]696 us[col]1.6 ms[col]sync.
[row]B2DF[col]3E[col]95[col]504 us[col]1.2 ms[col]"0"
[row]B2DE[col]2A[col]63[col]344 us[col]800 us[col]"1"
[row]B2DD[col]34[col]7C[col]424 us[col]1 ms[col]leader
[/table]
Nem tudom segít-e de mikor én az emumban a töltést csináltam akkor kikísérleteztem, hogy milyen értékek mellett tölti még be ez emulált EP. A 4 féle jel a frekvenciában különbözik. Mivel a magnó résznél DA csak 1 bites (ha jól tudom), így gyk ez azt jelenti, hogy milyen gyakran váltják egymást a nulla és az egyes értékû bitek.
Ezeket használom és még betölthetõ:
Config.TAPE.Leader_Length = 3; // EPTE 9
Config.TAPE.Sync_Length = 8; // EPTE 15
Config.TAPE.Zerobit_Length = 3; // EPTE 11
Config.TAPE.Onebit_Length = 2; // EPTE 7
Mögötte az EPTE értékei vannak.
Ezek azt jelentik, hogy ha pl a bevezetõ jelet (leader) akarom kiküldeni akkor 3 db egyest, utána pedig 3 db 0-t kell kapnia az emulált EP-nek a 0xb6 porton (b7 és b6, bár nem tudom mire való a szint bemenet...). Az emuban 0x80 és 0x40 értékeket használok, ezt rakom ki a 0xb6-ra (nyílván elõször b7 és b6 értékét törlöm aztán oda "bevagyolom"). Tehát töltés közben a 0xb6 2 bitje változik, egy jelen belül felváltva. A leader-nél még annyi van, hogy az ott lévõ értéket meg kell szorozni 2400-zal, hogy hosszabb legyen.