[SharpMZ] Potize s generovanim preruseni od CTC0 na mz-800 - podezreni na mrtvy OUT0 od 8253 (?)

malinsky mm.malinsky na gmail.com
Středa Únor 1 15:05:49 CET 2017


Zdravim vsechny delegaty sharpi konference!

Po vecerech se pokousim o naprogramovani jednoduche obsluhy asynchronniho prenosu dat pres RS232C (na Unikarte). Jako nejcistsi mi pripada pravidelne generovani preruseni s frekvenci dostatecnou pro bezpecne hlidani provozu na Rx/Tx portech. 
K tomu bych rad vyuzil rychle bezici CTC0 obvodu 8253 v modu 0 (pro 9600 bd potrebuju frekvenci cca 1kHz nebo vic), jehoz OUT je podle manualu priveden na pin 4 brany A PIO; to by pak melo obstarat generovani INT.
(Uvedomuju si, ze na neco takoveho by v principu stacilo i “znasilnovani” CTC1->CTC2->INT, ale pouziti CTC0 mi prijde cistsi.)

Procetl jsem manualy k dotycnym obvodum a cvicne naprogramoval kratkou rutinu v asembleru pro mod 700, ale at zkousim, co zkousim, spravne mi to funguje jen v emulatorech (v obou, ktere jsem zkusil, tj. ten od Z. Adlera a stejne tak  i v mz800emu), tj. CTC0 vyvola preruseni, ktere se korektne obslouzi; na skutecnem zeleze, co mam doma, to ale vypada, ze se interrupt od CTC0 nikdy nevyvola. 

Zkousel jsem vsechno mozne (im1 vs. im2, mod 700 vs. mod 800, ruzne maskovani preruseni v PIO mod. 3, ruzne konfigurace I/O pinu brany A,  interrupt triggrovany na HIGH i LOW, AND i OR nemaskovanych vstupnich linek, dokonce i hrani s nastavenim PC0 a PC2 od 8255), ale nic nepomohlo. 

Nakonec jsem Sharpa rozebral a jednoduchym amaterskym osciloskopem (tj. zvukovkou stareho laptopu) jsem vyzkousel OUT0 pin 8253, a ackoli citac prokazatelne bezi (v tom programku se prubezne zobrazuje rychle se menici obsah adresy E004), na OUT0 neni zadna aktivita. (Pozn.: Tentyz “osciloskop” na OUT1 vidi pekny sekundovy tik, na datovem portu 8253ky pak bourlivou aktivitu, takze chyba snad neni na mem “prijmaci”; mimochodem, citac CTC0 nastavuju na a0a0, mod 0, tj. ocekaval bych nejakych 30 pulzu na OUT0 za sekundu, coz by i tak primitivni aparat jako je stara zvukovka mel pobrat.)

Chtel bych proto pozadat o pomoc, a to hlavne ve forme kontroly kodu onoho kratkeho testovaciho programku nezavislyma a zkusenejsima ocima - mzf vcetne komentovaneho zdrojaku pro sdcc (asembler v code.s) je ke stazeni na 

http://www-ucjf.troja.mff.cuni.cz/~malinsky/files/v3b-preruseni_na_zeleze-CTC0-var2.zip

Taky bych chtel poprosit, jestli byste nekdo mohl prilezitostne to mzfko otestovat na svem zeleze - melo by to delat to, ze v horni casti obrazovky se vypisuje cca radek a pul stridajicich se znaku, o dva radky niz se zobrazuje aktivita na E004 a jeste niz by melo nezavisle bezet nekolik radku barevnych ctverecku (ty prave vyrabi interrupt handler, a ty jsou taky presne tim, co na svem zeleze nevidim, ale v emulatorech vesmes ano). Mohli byste mi dat vedet, jestli se na vasich strojich ty ctverecky zobrazuji nebo ne?

Predem dekuju a omlouvam  za predlouhe slohove cviceni (a za svoji pitomost).

Michal Malinsky
------------- dal¹í èást ---------------
HTML p?íloha byla odstran?na...
URL: http://mail.ordoz.com/pipermail/sharpmz/attachments/20170201/81127c0e/attachment.html 


Další informace o konferenci SharpMZ