Top secrets sources NedoPC pentevo

Rev

Rev 543 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

ôîðìàò è àäðåñà ðåãèñòðîâ íà spi-øèíå avr<>fpga.

íàïîìèíàþ, óñòàíîâêà íîìåðà - ïðè spics_n=1, äàëåå â 0 è øë¸ì áàéò (1 èëè
íåñêîëüêî).


Ñòàòóñ ïîäãîòàâëèâàåòñÿ ê âûäà÷å (ëî÷èòñÿ) â ìîìåíò spics_n 0->1.
Còàòóñ: (ñ÷èòûâàåòñÿ ïðè spics_n=1 â ìîìåíò çàïèñè íîìåðà):
bit.7 - Read-Not-Write (rnw): =1 - ñïåêòðóì çàâàèòèëñÿ íà ÷òåíèè, =0 - íà çàïèñè.
\bits.6..0 - êàêîé äåâàéñ çàâàèòèë, åñëè =1. Ïîêà åñòü
 bit.0 - åñëè 1, çàâàèòèëè ãëþê-÷àñû.
 bit.1 - 1 åñëè çàâàèòèë ìîäåì ïî êîíäðàøêèíó

×òîáû òîëüêî ñ÷èòàòü ñòàòóñ - íàäî ñãåíåðèðîâàòü ôðîíò spics_n 0->1.
Åñëè spics_n áûë â 1 - íàäî åãî ïåðåä¸ðíóòü.


ïîñëå ïåðåäåðãà spics_n 0->1 íîìåð çàíîâî íàäî ñòàâèòü.


ðåãèñòð $00 - äåôîëòíûé íîìåð, â íåãî ìîæíî ïèñàòü, ýòî ïîéä¸ò â
èãíîð. Óñòàíàâëèâàåòñÿ àâòîìàòè÷åñêè â ìîìåíò spics_n 0->1


ðåãèñòð $10 - äàííûå äëÿ êëàâèàòóðû (40 áèò ñäâèãîâûé ðåã), çàïîìèíàþòñÿ
              ïîñëåäíèå 40 âäâèíóòûõ áèòîâ. Ïðîöåññ âäâèãà áèò ìîæíî ïðîâîäèòü èëè ñðàçó
              ïîêà spics_n=0, èëè ñ ïåðåðûâàìè, êàæäûé ðàç óñòàíàâëèâàÿ íîìåð ýòîãî
              ðåãèñòðà.
ðåãèñòð $11 - â ìîìåíò spics_n 0->1 ñ ýòèì óñòàíîâëåííûì ðåãèñòðîì
óõîäÿò äàííûå â ðàáî÷èé ðåãèñòð êëàâèàòóðû (òî, ÷òî çàïèñàíî áûëî â $10).



ðåãèñòð $20 - X coord ìûøè
        $21 - Y coord ìûøè
        $22 - êíîïêè ìûøè
        $23 - êåìñòîí æîéñòèê
êàæäûé èç ðåãèñòðîâ óõîäèò â ñïåêòðóì ïî ôàêòó spics_n 0->1


ðåãèñòð $30 - ðåãèñòð ñáðîñà - çàäàåò ñàì ôàêò ñáðîñà Z80. Ôàêò
ñáðîñà - spics_n 0->1. âäâèãàòü äàííûå íå îáÿçàòåëüíî (îíè â èãíîð).




÷àñèêè è ïðî÷èå âàèò-ïîðòû:


$40 - ðåãèñòð ÷òåíèÿ-çàïèñè äàííûõ, êîòîðûå îæèäàåò ñïåêòðóì â âàèòå. Òî, ÷òî
â íåãî ïèøåòñÿ - èä¸ò â ñïåêòðóì, åñëè òîò âàèòèòñÿ íà ÷òåíèè, èëè æå èç ýòîãî
ðåãèñòðà ñ÷èòûâàåòñÿ òî, ÷òî ñïåêòðóìîì çàïèñàíî, åñëè òîò âàèòèòñÿ íà çàïèñè.
Ïîñëå îáìåíà, â ìîìåíò spics_n 0->1 ñïåêòðóì ðàçâàèòèâàåòñÿ, ïðåðûâàíèå íà
àâðêó ñíèìàåòñÿ, èç ñòàòóñà áèòèê îáíóëÿåòñÿ.

ðåãèñòð $40 îáùèé äëÿ âñåõ âàèò-ïîðòîâ


$41 [7:0] - ðåãèñòð ÷òåíèÿ àäðåñà, êîòîðûé áûë óñòàíîâëåí ñïåêòðóìîì äëÿ ãëþêî÷àñîâ.

$42 [2:0] - ðåãèñòð, â êîòîðîì àäðåñà ØÀ Z80 A[10:8] â ìîìåíò ÷òåíèÿ èëè çàïèñè â
êîìïîðòû ($F8EF..$FFEF). Ïîçâîëÿåò, ñîáñòâåííî, ðàçëè÷àòü ýòè ñàìûå $F8..$FF.




Êîíôèã - ðåãèñòðû:

config0: $50 - òîëüêî íà çàïèñü:

         áèò 0 - âêëþ÷åíèå ÂÃÀ (=1) ðåãèñòð àêòóàëèçèðóåòñÿ ïîñëå çàïèñè äàííûõ ïî ôðîíòó spics_n 0->1.

         áèò 1 - ïîäà÷à íìè. ïåðåõîä èç 1 â 0 âûçûâàåò nmi íà z80

         áèò 2 - òðàíñëèðóåòñÿ íà $FE.D6 (÷òåíèå ñïåêîì ñ ìàôîíà).

         áèò 3 - åñëè 1, òî âûâîäèòñÿ tape-out, èíà÷å - beeper



Äîñòóï ê SD-êàðòå:

Ðåãèñòð äàííûõ     - $60,
ðåãèñòð óïðàâëåíèÿ - $61:
                         bit 7 - lock (R/W), 0 ïîñëå ñáðîñà.
                         bit 0 - CS_n íà êàðòó (W/O), 1 ïîñëå ñáðîñà.

Ïîëó÷åíèå äîñòóïà:
1. çàïèñàòü â $61 CS_n=1, lock=1
2. Ñ÷èòûâàÿ $61, äîæäàòüñÿ lock=1. Ýòî ïðîèçîéä¸ò, êîãäà Z80 óñòàíîâèò CS_n â 1 èëè æå ñðàçó,
   åñëè Z80 CS_n ñòîÿëî â 1. Ïîêà lock=1, Z80 íå âèäèò SD-êàðòó, äîñòóï ó ÀÂÐêè, ïîêà îíà
   íå îòäàñò äîñòóï îáðàòíî Z80.

Ðàáîòà ñ SD-êàðòîé:
1. Óäåðæèâàÿ lock=1, óïðàâëÿòü CS_n.
2. Ñ÷èòàííîå èç $60 çíà÷åíèå - ïîñëåäíèé ïðèøåäøèé áàéò èç SD-êàðòû, îòïðàâëåííîå â $60
   çíà÷åíèå - îòïðàâëÿåòñÿ â SD-êàðòó. Îáìåí ñ SD-êàðòîé èíèöèèðóåòñÿ ñðàçó æå ïîñëå 
   spics_n 0->1, ïîòîìó ïåðåä ñ÷èòûâàíèåì ïðèíÿòîãî â ïðîöåññå ýòîãî îáìåíà áàéòà
   íåîáõîäèìà ïàóçà. Òàêîé ïàóçîé ñëóæèò óñòàíîâêà àäðåñà ðåãèñòðà ïðè spi_cs_n=1.
Âíèìàíèå: ïåðâîå ñ÷èòàííîå èç $60 çíà÷åíèå ïîñëå óñòàíîâêè lock 0->1 - ñëó÷àéíîå.

Îòïóñêàíèå SD-êàðòû:
1. Óäåðæèâàÿ lock=1, óñòàíîâèòü CS_n=1.
2. Óñòàíîâèòü lock=0, CS_n=1.