Autor ::Roman Bórik Poslaná :: 25.12.2013 14:49:31 Predmet ::Re: Závislost Mikrosu na nastavení 8251????
Okrem toho, čo som spomínal minule (testovanie naplnenia prijímacieho buffra 8251 v klávesnicovej rutine), tak BIOS nijako 8251 neovplyvňuje. BDOS je z definície hardvérovo nezávislý a volá iba služby BIOSu.
Na neupravenom PMD 85, bez nejakej extra periférie pripojenej na aplikačný konektor, nie je prerušenie využívané, takže to určite nebude prerušením.
Skôr mám podozrenie na to, že pri trasovaní po inštrukciách sa pochopiteľne pri čakaní na stlačenie klávesu testuje aj stav USARTu (IN 1Fh). A keď sa po odoslaní bytu pre nastavenie režimu (0EEh), ešte pred odoslaním povelového slova (25h), číta stav USARTu, tak sa vráti stav, akoby bol prijímací buffer naplnený a tak sa program "zasekne" v čakacej slučke pre test klávesnice.
Ešte mi napadlo, že po Resete 8251 čaká na zadanie režimu. Keď sa tam najprv pošle 0, tak to 8251 samozrejme interpretuje ako režim a "oheň je na streche".
Správny postup inicializácie by mal začínať OUTom troch núl a až potom by mal prísť SW reset 8251. Teda:
INITHW:: ;inicializace seriove linky
XRA A ;PRIPRAVA PRED SOFT RESET 8215
OUT 0x1F
OUT 0x1F
OUT 0x1F
MVI A,0x40 ;SOFT RESET 8251
OUT 0x1F
MVI A,0xEE ;SERIOVA LINKA 0xED INC A
OUT 0x1F
MVI A,0x25 ;0x23 INC C INC C
OUT 0x1F
MVI A,0x76 ;8253 MOD 3 SYMETR DELICKA
OUT 0x5F
MVI A,0x1B ;nizsi byte deliciho pomeru
OUT 0x5D
XRA A ;vyssi byte deliciho pomeru
OUT 0x5D
ret