Top secrets sources NedoPC pentevo

Rev

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

short-list:

ïîðòû, êîòîðûõ íåòó â DOS è ATM ðåæèìå: xxf7 (÷àñèêè, eff7), xx77 (ñä-êàðòà), xx1f (æîïñòèê)
ïîðòû, êîîòðûå ïîÿâëÿþòñÿ â DOS è ATM ðåæèìå: ïîðòû êîíòðîëëåðà íãìä,
ïîðò xx77 (atm config), ïîðò xxf7 (atm paging)
ïîðòû, êîòîðûå åñòü âñåãäà: xxbf (zxevo config)

dos, îí æå atm ðåæèì - ðåæèì, êîãäà äîñòóïíû àòìíûå ïîðòû è âñ¸. Íå èìååò îòíîøåíèÿ ê ñòðàíèöàì ïàìÿòè è ò.ä.,
òîëüêî êàêèå ïîðòû âèäíû è âñ¸.

ñóùåñòâóåò ñèãíàë âêëþ÷åíèÿ ïîðòîâ àòì: shadowen (òàê ÿ åãî áóäó íàçûâàòü),
èìåííî îí îïðåäåëÿåò, êàêîé íàáîð èç ïîðòîâ (ñì. âûøå) äîñòóïåí.
 ñòàðîì ÀÒÌ è ïî äåôîëòó â zxevo ýòîò ñèãíàë ðàâåí ñèãíàëó dosen: êîãäà âêëþ÷åíî ïçó
òðäîñà, òîãäà è ñèãíàë ýòî âêëþ÷åí. Îäíàêî ñóùåñòâóåò ïîðò BF:

àäðåñ: $xxBF, write-only
áèò 0: åñëè=0, òî shadowen=dosen, åñëè=1, òî shadowen=1 âñåãäà (âñåãäà âêëþ÷åí ÀÒÌ ðåæèì, îïðåäåëåíèå ðåæèìà ñì. âûøå).
áèò 1: åñëè=0, òî çàïèñü â flash áëîêèðóåòñÿ, åñëè=1, òî çàïèñü â flash íå áëîêèðóåòñÿ (ìîæíî ïåðåøèâàòü ïðÿì â êîìïå).
ïîñëå ñáðîñà - âñå áèòû 0.


äðóãîé ïîðò êàê â ATM2:

àäðåñ: $xx77, write-only, ñì. äîêó íà ÀÒÌ2.

A8 - åñëè=0, âî âñå î÷êè âòûêàåòñÿ ïçó ñ ãëþêîì (â îðèãèíàëå áûëî - ñ öìï). Ëó÷øå äåðæàòü â 1.
A9 - åñëè=0, òî ïðèíóäèòåëüíî âêëþ÷àåòñÿ dosen (à çíà÷èò è shadowen), êàê â îðèãèíàëüíîì ÀÒÌ2. Äëÿ ïðîãðàìì zxevo-only
     ëó÷øå þçàòü ïîðò $BF. Åñëè åñòü íóæíà âûñòàâèòü ÷òî-òî â xx77, íàäî ïðî÷èòàòü äîêó ïî ÀÒÌ2 è îñòàëüíûå áèòû äàííûõ
     àäðåñîâ âûñòàâèòü ñîîòâåòñòâóþùèì îáðàçîì. Ïîêà ýòè îñòàëüíûå áèòû íå ðåàëèçîâàíû.


Ïîðòû óïðàâëåíèÿ ïàìÿòüþ:

àäðåñ: $xxF7, write-only, ñì. äîêó íà ÀÒÌ2 + äîïîëíåíèÿ.

A15,A14 - îïðåäåëÿþò î÷êî, íà êîòîðîå ïðèìåíèòü ñòðàíè÷êó.

åñëè ïîðòû 3FF7, 7FF7, BFF7, FFF7 - êàê â ÀÒÌ2 áèòû:
áèò 7: =0 - 7FFD íå ó÷àñòâóåò, =1 - ó÷àñòâóåò â ìëàäøèå êóñêè íîìåðà.
       ÂÍÈÌÀÍÈÅ! â ðåæèìå ï1024ê, âêëþ÷åííîì ÷åðåç eff7, 7ffd âëèÿåò óæå íå íà 3 ìëàäøèõ áèòà, à íà âñå 6!
áèò 6: =0 - âêëþ÷àåòñÿ ÏÇÓ, =1 - ÎÇÓ.

áèòû 5-0: èíâåðñíûå áèòû íîìåðà ñòðàíèö.

åñëè ïîðòû 37F7, 77F7, B7F7, F7F7 - äîïîëíèòåëüíåûå ïîðòû.

âñå áèòû èäóò íà íîìåð ñòðàíèöû (èòîãî 4 ìåãàáàéòà). Áèòû òîæå èíâåðñíûå, FF - ñòðàíèöà 00 è ò.ä.

Âíèìàíèå! Ïðè âûâîäå â ïîðòû x7F7, çíà÷åíèÿ áèòà 7 îò ñîîòâåòñâóþùåãî ïîðòà xFF7 ñîõðàíÿåòñÿ! ò.å. åñëè â
3FF7 áûë âûñòàâëåí áèò 7=1, òî ïîòîì ïðè âûâîäå â 37F7 â ìëàäøóþ ÷àñòü íîìåðà âñ¸ ðàâíî âîòêí¸òñÿ 7FFD
(åãî 3 èëè 6 áèò). Òàêæå ïðè âûâîäå â x7F7 âêëþ÷àåòñÿ ÎÇÓ! ÏÇÓ òîëüêî ÷åðåç xFF7.

Ïðî ïîðò 7FFD è åãî áèò 4 íå ïèøó, åñòü â äîêå íà ÀÒÌ2.





==============================================================================
Áóäó òóò äóìàòü îá òîì, êàê àòì ìîäåñ âïèõàòü â ïåíòåâó.
Ïîíà÷àëó ðå÷ü ïîéä¸ò îá ìàíàãåðå ïàìÿòè è âñ¸ì ÷òî ñ íèì ñâÿçàíî.

ðàññìîòðèì àòì2.
Òàì ïðèìåí¸í îðèãèíàëüíûé ìàíàãåð ïàìÿòè 1ì, êîòîðûé ïîçâîëÿåò ôëèïàòü ëþáóþ èç 16ê î÷åê ïðîöåññîðà.
Äëÿ ñîâìåñòèìîñòè ñ 128ê ìîäå áûëî ñäåëàíî ñëåäóþùåå.
1 - äîáàâëåíû 2 êàðòû ïàìÿòè, ïåðåêëþ÷àåìûå ñ ïîìîùüþ áèòà èç 7ôôä, êîòîðûé ðàíüøå ïåðåêëþ÷àë ïçóõè
2 - ñäåëàí ðåæèì, êîãäà ìëàäøèå 3 áèòà íîìåðà ñòðàíèöû â äàííîì î÷êå ìîãóò ïîäìåíÿòüñÿ íà ä0-ä2 èç 7ôôä.
Ïðè ïîìîùè òàêîé õóåáåíè ýìóëèðóåòñÿ îáû÷íàÿ êàðòà ïàìÿòè 128ê ñïåêà.
Ñèëüíàÿ çàëî÷êà íà ÄÎÑÅÍ è ãàäñêîå òðäîñ - ÿ íå ïîíÿë íàïðèìåð, ìîæíî ëè áåç ïîñòîÿííîé äðî÷êè
ÄÎÑÅÍ- íå ÄÎÑÅÍ âêë÷àòü ëþáóþ ñòðàíè÷êó ÏÇÓ è ðàáîòàòü ñ íåé.

÷òî òðåáóåòñÿ
1 - ïîääåðæàòü ðåæèì àòì-êîìïàòèáèëèòè.
2 - ðàñøèðèòü àäðåñàöèþ ñòðàíèö îçó äî 4 ìåòðîâ
3 - èíòåãðèðîâàòü ðåæèì ï1024ê â àòìî-ðåæèìû.



Âîëåâûå ðåøåíèÿ:

x. Äëÿ òîãî, ÷òîáû óéòè îò åáåíèìóòòåðíîãî call #3d2f, ââåñòè äîï. ïîðò (ïîðòû), â êîòîðûõ
   ìîæíî ðóëèòü âñÿêèìè ÄÎÑÅÍÀìè, îòêðûòîñòüþ òåíåâûõ ïîðòîâ, ðåæèìîì 4ìá è ïðî÷èìè ïîåáíÿìè
   Ïðåäëàãàåòñÿ $xxBF. Äàííûé ïîðò çàìå÷åí ðàíåå â äèâÈÄÅ, êîòîðàÿ â ñèëó ñâîåé óùåðáíîñòè è
   íåâîçìîæíîñòüþ ðàáîòû íà ëþáîì ñïåêîêëîíå ñ (ÍÅÌÎ)ÇÕ-ÁÀÑ èäåò íàõðåí ñðàçó è íàâñåãäà.
   Ïîðò ýòîò äîëæåí áûòü âñåãäà îòêðûò è äîñòóïåí. Èáî ñì. âûøå ïðî call #3d2f.

x.  ýòîì ïîðòó ðàçäåëèòü ñèãíàëû DOSEN (âêëþ÷åíèå ïçó òðäîñ ïðè ïîìîùè ñì. âûøå ÷åãî è âûêëþ÷åíèå
   ïðè ïîìîùè èñïîëíåíèÿ èç ÎÇÓ) è ñèãíàë âêëþ÷åíèÿ òåíåâûõ ïîðòîâ øåäîóåí (â òîì ÷èñëå è ÂÃ93). ÏÐè
   ýòîì, åññíî, â îòñóòñòâèè äðî÷êè ýòîãî ïîðòà äîëæåí ðàáîòàòü îáû÷íûé ìåõàíèçüì ñ äîñåí=øåäîóåí,
   çàëî÷êîé äîñåí ïî ñòàíäàðòó ÀÒÌ2 è ïðî÷.

x. Ðåæèì 4ì äîëæåí ðåàëèçîâàòüñÿ òàê: âûâîäÿ â ïîðòû 3ff7/7ff7/bff7/fff7 - àäðåñóåìñÿ â ïðåäåëàõ 1 ìåòðà
   ïçó èëè îçó, êàê â àòì1ì. Âûâîäÿ æå â ïîðòû 37f7, 77f7, b7f7, f7f7 - âêëþ÷àåì â ñîîòâåòñòâóþùåå î÷êî
   ÎÇÓ â ïðåäåëàõ 4 ìåãàáàéò (òîæå èíâåðñíûå áèòû, èáî íåôèã). 1ì ðåæèìû àäðåñóþò ñòðàíèöû ñ íîìåðàìè 00-3f,
   èç âñåãî íàáîðà 4ì 00-ôô. ñîîòâ-íî ÷òîáû 4ì-àäðåñàöèåé àäðåñàíóòü ñòðàíèöó íîìåð 00, âûâîäèì ÷èñëî ff
   (èáî èíâåðñèÿ).  ïîðòàõ xFF7 D7 - îïðåäåëÿåò, âïå÷àòûâàþòñÿ ëè ìëàäøèå áèòû èç 7FFD. Ïðè çàïèñè â
   x7F7 ýòîò áèò ñîõðàíÿåòñÿ! ò.å. àäðåñóÿñü â 4 ìåòðàõ, ìîæíî ìëàäøèå áèòû èç 7FFD âòûêàòü, äëÿ ÷åãî íàäî
   âíà÷àëå çàïèñàòü ÷òî-òî â xFF7.

x.  ðåæèìå ïåíòàãîíà åñòü ïîðòû xxÔ7 (÷àñû + ïîðò åôô7) è õõ77 (ïîðò ÑÄ-êàðòû, ïðèäóìàííûé ÊÎÅ-êàê).
   Îáà îíè ïåðåêðûâàþòñÿ àòìíûìè ïîðòàìè. Ïîòîìó äåëàåì òóïî - ïóñòü â ïåíòàãîíîâîì ðåæèìå ïåíòàãîíîâû ïîðòû,
   à â àòìíîì ðåæèìå - àòìíûå. Êàê ñòó÷àòü â ÷àñû è ñäêàðòó èç àòì - âêëþ÷àÿ ðåæèì ïÿòíîãîíà ÷åðåç õõÁÔ, âèäèìî.
   Âàðèàíò - ìîæíî ïî ñèãíàëó øåäîóåí ïåðåêëþ÷àòüñÿ.

x. Èíòåãðàöèÿ ñ ï1ì ìîäîé: âìåñòî 3 áèò â ðåæèìå ï1ì çàìåíÿþòñÿ 6 áèò. È âñ¸. :)
   Ïðè ýòîì âñå Î÷êè ðàáîòàþò øòàòíî. Èñêëþ÷åíèå - ðàì0 â 0 î÷êÎ - èìååò ïðèîðèòåò íàä àòì-ñòàéë î÷êîì.

x. Ñëåäñòâèåì ÿâëÿåòñÿ òî, ÷òî ïåðåä ðàáîòîé â ðåæèìå ï1ì íàäî íàñòðîèòü êàðòû ïàìÿòè. Èëè æå ñäåëàòü òàê,
   ÷òîá îíè äåôîëòíî íàñòðàèâàëèñü ïî ñáðîñó (ïðåäïî÷òèòåëüíåå).

xxBF:
 0 - shadowen control: 0 - shadowen=dosen, 1 - shadowen=1
 1 - ROMRW: 0 - ROM is read-only (no /WE), 1 - ROM is read-write (/WE)





==============================================================================
DDp (01.03.2010)

1) ÀÒÌ(2) äëÿ ìåíÿ óìåð. ß õî÷ó Ïåíòàãîí ñ (ëèíåéíûì) òåêñòîâûì ðåæèìîì.  ;)

2) ñèãíàë ROM2 àêòèâíî èñïîëüçóåòñÿ â BIOS-å CP/M äëÿ áûñòðîãî ïåðåêëþ÷åíèÿ äâóõ êàðò ïàìÿòè
(ïðè ÷¸ì äåëàåòñÿ ýòî ÷åðåç OUT (#FD),A  ,ãäå A = #52, ëèáî #42)
 xBIOS-å, âðîäå, òîæå.

3) Âàðèàíò ðåæèìà 4Ì: èñïîëüçîâàòü äîï. áèò(û) â ñò.àäðåñå ïîðòà F7.
Íàïðèìåð,
çàïèñü â BFF7 ïðîãðàììèðóåò êîíôèãóðàöèþ òðåòüåé ÷åòâåðòèíêè "ïî-ñòàðîìó";
çàïèñü â B7F7 óñòàíàâëèâàåò íîìåð ñòðàíèöû ÎÇÓ, âñå 8 áèò (ìîæíî áåç èíâåðñèè);
çàïèñü â BBF7 óñòàíàâëèâàåò íîìåð ñòðàíèöû ÏÇÓ, âñå 8 áèò (ìîæíî áåç èíâåðñèè).

4) Î÷åðòèòü êðóã TURBO2-ïðîãðàìì, ñ êîòîðûìè æåëàòåëüíà ñîâìåñòèìîñòü è ñäåëàòü âñ¸ ÷òîáû îíè ðàáîòàëè.
Åñëè òàêèõ ïðîãðàì îêàæåòñÿ íåìíîãî - ñìîòðåòü, ìîæíî ëè èõ ìîäèôèöèðîâàòü äëÿ ðàáîòû ñ äðóãîé(íîâîé) àðõèòåêòóðîé.
==============================================================================