Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Michal Hučík Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR>     <font><br/> Prozatim si predstavuju, ze by se to mohlo obsluhovat asi takhle:<br/> <br/> *<br/>  *<br/>  * SIO data port:               0x52<br/>  * SIO cmd/status port:         0x53<br/>  *<br/>  * Aktualni velikost prijimaciho a odesilaciho bufferu je 255 bajtu.<br/>  *<br/>  * Rychlost portu v bps se nastavuje pres API MZFREPO jako dword.<br/>  *<br/>  *<br/>  * Status:<br/>  * =======<br/>  *              0. bit - nastaven oznamuje data v prijimacim bufferu<br/>  *              2. bit - oznamuje volne misto v odesilacim bufferu<br/>  *<br/>  * Prikazy:<br/>  * ========<br/>  *<br/>  *<br/>  *      RESET   Provede reset portu, tzn.: zlikviduje aktualni obsah prijimaciho i <br/>  *              odesilaciho bufferu,  vynuluje registry RXINT a TXINT, zakaze <br/>  *              generovani interruptu EINT = 0, zapne HW rizeni toku s nastavenim <br/>  *              registru RTS0 = 2 a RTS1 = 128.<br/>  *              <br/>  *      EINT    Povoli generovani interruptu, EINT = 1.<br/>  *<br/>  *      DINT    Zakaze generovani interruptu, EINT = 0.<br/>  *<br/>  *      RXINT   Nasledujicim zapisem se nastavi minimalni pocet bajtu, ktere musi byt <br/>  *              v prijimacim bufferu, aby byl vyvolan interrupt. Nulova hodnota zakazuje<br/>  *              generovani interruptu podle stavu prijimaciho bufferu.<br/>  *              Pokud po prikazu nasleduje cteni, tak obdrzime hodnotu, ktera je nyni v RXINT.<br/>  * <br/>  *      TXINT   Nasledujicim zapisem se nastavi minimalni pocet volnych bajtu, ktere musi byt <br/>  *              k dispozici v odesilacim bufferu, aby byl vyvolan interrupt. Nulova hodnota zakazuje<br/>  *              generovani interruptu podle stavu odesilaciho bufferu.<br/>  *              Pokud po prikazu nasleduje cteni, tak obdrzime hodnotu, ktera je nyni v TXINT.<br/>  *<br/>  *      RXBUF   Naslednym ctenim zjistime aktualni pocet bajtu v prijimacim bufferu.<br/>  *<br/>  *      TXBUF   Naslednym ctenim zjistime aktualni pocet bajtu v odesilacim bufferu.<br/>  *<br/>  *      RTS0    Nasledujicim zapisem nastavime minimalni pocet volnych bajtu v prijimacim bufferu<br/>  *              pri kterem unikarta vypne signal RTS a zakaze tim protistrane posilat data. <br/>  *              Pri nulove hodnote nikdy k vypnuti RTS nedojde.<br/>  *              Pokud po prikazu nasleduje cteni, tak obdrzime hodnotu, ktera je nyni v RTS0.<br/>  *<br/>  *              Pozn: pri testovani na 115200 bps se mi ukazalo, ze pri hodnote mensi jak 2 uz <br/>  *              dochazelo ke ztrate dat.<br/>  *<br/>  *      RTS1    Nasledujicim zapisem nastavime minimalni pocet volnych bajtu v prijimacim bufferu<br/>  *              pri kterem unikarta zapne signal RTS a povoli tim protistrane posilat data. <br/>  *              Pokud RTS1 &lt;= RTS0, tak k zapnuti RTS nikdy nedojde.<br/>  *              Pokud po prikazu nasleduje cteni, tak obdrzime hodnotu, ktera je nyni v RTS1.<br/>  *<br/>  *<br/>  * TODO: <br/>  * ====  <br/>  *<br/>  * Prozatim se mi nejak nedari obsluha CTS signalu, tak jej ani neuvadim.<br/>  * <br/> */ <br/> <br/> </font>