Top secrets sources NedoPC ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

Âîîáùå ïðî ÄÌÀ

ïîðòû:
DMA_MOD - êàêîé âûáðàòü dma module
DMA_HAD - DMA High ADdress
DMA_MAD - Middle ADdress
DMA_LAD - Low ADdress
DMA_CST - Control and STate

Âñå ðåãèñòðû - íà çàïèñü è íà ÷òåíèå, MOD, HAD, MAD è LAD - ÷èòàþò òî, ÷òî
çàïèñàíî èëè íîâîå ñîñòîÿíèå (àäðåñà íàïðèìåð èíêðåìåíòèðóþòñÿ èíîãäà).

 DMA_MOD íàäî çàíåñòè íîìåð ìîäóëÿ (ïîêà ñóùåñòâóåò òîëüêî ìîäóëü ñ íîìåðîì 1)
è ïîñëå ÷åãî ñòàíóò äîñòóïíû ðåãèñòðû ýòîãî ìîäóëÿ (îñòàëüíûå 4 ïîðòà)

HAD MAD è LAD - çàäàþò àäðåñ (ñì. ñîîòâåòñòâèå ñòðàíèö è ëèíåéíûõ àäðåñîâ â äîêå
ngs_prm), àäðåñ â ÎÇÓ, òî åñòü äìà èç ôëåøêè íåâîçìîæíî.
Ïîñëå êàæäîãî îáðàùåíèÿ ê ÄÌÀ ñî ñòîðîíû ñïåêà àäðåñ â ýòèõ ÿ÷åéêàõ
èíêðåìåíòèðóåòñÿ.

CST - ñîäåðæèò ëèøü îäèí áèò - ñòàðøèé, åñëè îí â 1 - äìà äëÿ ñïåêà âêëþ÷åíî,
åñëè â 0 - âûêëþ÷åíî. îñòàëüíûå áèòû íå îïðåäåëåíû.



ïîðÿäîê ðàáîòû

ñî ñòîðîíû ÍÃÑ: âûáðàòü ìîäóëü (çàïèñàâ 1 â MOD), çàäàòü àäðåñ íà÷àëà (HAD MAD LAD),
âêëþ÷èòü DMA (7îé áèò â CST â 1), ïî îêîí÷àíèè äìà - âûêëþ÷èòü 7îé áèò â CST.

ñî ñòîðîíû ñïåêòðóìà: êîãäà ÍÃÑ âêëþ÷èò ÄÌÀ, ÷èòàòü áàéòû èç ÏÇÓ.

ÂÀÆÍÎ! ïåðâûé ïðî÷èòàííûé áàéò - íåâåðåí! Ïðàâèëüíûé ïîòîê áàéòîâ ïîéä¸ò òîëüêî
íà÷èíàÿ ñî âòîðîãî ñ÷èòàííîãî áàéòà. Ýòî íå çíà÷èò, ÷òî àäðåñ ÄÌÀ íàäî çàäàâàòü íà 1
ìåíüøå, ÷åì íóæíî, àäðåñ íàäî çàäàâàòü ðîâíî òîò, ÷òî íóæåí. È âòîðîé áàéò ïðèä¸ò
êàê ðàç ñ çàäàííîãî ïðåäâàðèåòëüíî â HAD MAD LAD àäðåñà. Òðåòèé - ñ ýòîãî àäðåñà+1.
è òàê äàëåå.

Äðóãèìè ñëîâàìè, ïåðåä ïðè¸ìîì äàííûõ ñäåëàéòå õîëîñòîå ÷òåíèå 1 áàéòà èç îáëàñòè
ïçó è íå ïàðüòåñü.

çàïèñü äåëàåòñÿ òî÷íî òàê æå: íàäî ïèñàòü â îáëàñòü ïçó áàéòû.  ÍÃÑ îíè áóäóò
ïèñàòüñÿ â åãî ïàìÿòü íà÷èíàÿ ñ óêàçàííîãî â àäðåñíûõ ðåãèñòðàõ ìåñòà.
Ïðè ýòîì ÍÅ ÍÓÆÍÎ ÄÅËÀÒÜ ÕÎËÎÑÒÓÞ ÇÀÏÈÑÜ Â ÍÀ×ÀËÅ, â îòëè÷èå îò ÷òåíèÿ. Cðàçó
ïèøèòå íóæíûå äàííûå.

×òîáû èìåòü âîçìîæíîñòü ÷èòàòü èç äìà (ÍÃÑ ïîäñòàâëÿåò ñâîè äàííûå), íà ñïåêå
íàäî âêëþ÷èòü ÏÇÓ â îáëàñòü 0000-3fff. Åñëè òàì ÎÇÓ, íãñ ÷èòàòü íè÷åãî íå áóäåò,
öèêëû äìà ãåíåðèòüñÿ íå áóäóò (òàê êàê íåàêòèâåí CSROM).
×òîáû æå ïèñàòü ÷åðåç ÄÌÀ, äîñòàòî÷íî íà ñïåêå ïðîñòî çàïèñàòü áàéò â îáëàñòü
0000-3fff, äàæå åñëè òàì âêëþ÷åíî ÎÇÓ. Ýòî ñòîèò èìåòü â âèäó ýìóëÿòîðùèêàì,
èáî òåñòîâàÿ ïðîãà òàê èìåííî è ïèøåò - â ÍÃÑ è â ÎÇÓ, ÷òîá ïîòîì ñ÷èòàòü è
ñðàâíèòü ñ òåì, ÷òî â ÎÇÓ.

Òåñòîâàÿ ïðîãà âêëþ÷àåò ÎÇÓ â îáëàñòü 0000-3fff ÷åðåç ïîðò 1ffd (êàåâñêèé ñòàíäàðò,
ï14), ñîîòâåòñòâåííî äëÿ ï22 ÏÐÎÃÓ ÍÀÄÎ ÈÑÏÐÀÂÈÒÜ!
Ïðîãà ìèãàåò ðåäêî áîðäþðîì, ïåðåáèðàÿ âñå öâåòà - òåñò â ïðîöåññå, âñ¸ íîðìàëüíî.
Ïðîãà ðèñóåò êàðòèíêó íà áîðäþðå - îøèáêà. Âûõîä - ñïàöå.
×òîá óçíàòü àäðåñ îøèáêè, ïîñòàâüòå áðåêïîèíò íà ld bc,#7ffe è çàïóñòèòå ïðîãó.
ïðè îøèáêå â äå è õë áóäóò àäðåñà, ìîæíî ïîñìîòðåòü.

ÂÀÆÍÎ! Ïåðåä çàãîíÿíèåì ôëåøåðîì íîâîé ïðîøè â ÍÃÑ, ÂÛÊËÞ×ÈÒÅ ÒÓÐÁÓ!
À òî ìîæåòå óáèòü ïðîøèâêó â ôëåøå íàõ, è ïðèä¸òñÿ êîëõîçèòüñÿ ÷àñ ÷åðåç æòàã.


Ðåêîìåíäàöèè:
1. ïîñëå âêëþ÷åíèÿ äìà ïðåðûâàíèÿ (IM1) äîëæíû áûòü çàïðåùåíû! À òî ñïåê óéä¸ò
íà $38 à òàì åìó ãîâíî èç ÍÃÑ ïîëü¸òñÿ âìåñòî ðîäíîé ïçóøêè...
2. åñëè èñïîëüçóåòå çàïèñü â ïîðòû ÍÃÑ ÷åðåç øòàòíóþ ïðîøèâêó gs105a, òî ïîñëå
âêë.÷åíèÿ DMA (7ûì áèòîì â CST) ñäåëàéòå ïàóçó, ñêàæåì
ld b,0:djnz $:djnz $:djnz $:djnz $. Îäíîãî djnz $ ðåäêî, íî íå õâàòàåò (â òóðáå)
Êàê âûÿñíèëîñü, ãñ105à íå ñðàçó âûïîëíÿåò êîìàíäó çàïèñè â ïîðò, è åñëè âû
íà÷í¸òå õóÿ÷èòü ÄÌÀ ñðàçó æå, ïåðâûå áàéòû ïîòåðÿþòñÿ (ïðè çàïèñè) èëè æå
ïðèåäåò ñîäåðæèìîå ÏÇÓ. Ó ìåíÿ òåðÿëñÿ 1 áàéò â òóðáå, êîãäà ãñ105à íå èãðàëà
íè÷åãî, è äî 15 áàéòîâ èç ïçó ïðèõîäèëî, êîãäà îíà èãðàëà ìîä.
3. ÍÅ ÏÛÒÀÉÒÅÑÜ èíòåðëèâèòü çàïèñü è ÷òåíèå! Íè÷åãî õîðîøåãî íå âûéäåò,
ìèíèìóì ïîçàïèøåòå ãîâíî â ÎÇÓ íãñ, è ïîëó÷èòå êó÷ó ãîâíà. Ìàêñèìóì, ñïåêòðóì
çàâèñíåò îò âå÷íîãî âàèòà ñ ÍÃÑ. ëó÷øå âñåãî ïåðåä ïåðåõîäîì ñ ÷òåíèÿ íà çàïèñü
(èëè íàîáîðîò) âûêëþ÷èòü ÄÌÀ è ïîòîì çàíîâî âêëþ÷èòü. Ìîæíî òàêæå óñòðîèòü
áîëüøóþ ïàóçó, âðîäå ld b,10:djnz $.
4. ñòàðàéòåñü ðàáîòàòü íà ìàêñèìàëüíî âîçìîæíîé ñêîðîñòè ïðîöåññîðà ÍÃÑ.
×åì îíà áîëüøå, òåì áûñòðåå ïðîéä¸ò ÄÌÀ (òåì ìåíüøå âàèòîâ).
È óæ ñîâåðøåííî íåïðèåìëåìî, åñëè ÍÃÑ áóäåò ðàáîòàòü ìåäëåííåå, ÷åì ïðîö â ñïåêå.
Íàïðèìåð, åñëè ñïåê íà 14ìãö, à ÍÃÑ íà 12 - òîãäà ÒÎ×ÍÎ ÍÈ×ÅÃÎ ÍÅ ÇÀÐÀÁÎÒÀÅÒ.