BK2010 - Ýìóëÿòîð ÁÊ-0010 íà ïëàòôîðìå Java 1.6 Âåðñèÿ 0.5 0. Ñèñòåìíûå òðåáîâàíèÿ è âñ¸ òàêîå Âàøåìó âíèìàíèþ ïðåäëàãàåòñÿ ýìóëÿòîð âåðñèè 0.5 ×òî æå ýòî çíà÷èò: - Îñíîâíûå îòëè÷èÿ îò ïðåäûäóùåé âåðñèè çàêëþ÷àþòñÿ â âîçìîæíîñòè âûáðàòü ðàçìåð îêíà ýìóëÿòîðà, ñìåíû äèñêîâ âî âðåìÿ ðàáîòû è ñîõðàíåíèÿ íàñòðîåê ýìóëÿòîðà. Êðîìå òîãî, èñïðàâëåíî íåêîòîðîå êîëè÷åñòâî îøèáîê, â òîì ÷èñëå -- ïðèâîäèøèõ ê íåðàáîòîñïîñîáíîñòè ïðîãðàìì. - Ýìóëèðóåòñÿ ÁÊ-0010.01 ëèáî ÁÊ0011Ì â ñòàíäàðòíîé ïîñòàâêå (ñ Áåéñèêîì) - Ýìóëèðóþòñÿ äâà ïðèâîäà ãèáêèõ äèñêîâ DS/DD 80 äîðîæåê -  ýìóëÿöèè ïðîöåññîðà ìîãóò áûòü îøèáêè. ß ðåøèë íå îòêëàäûâàòü èç-çà ýòîãî âûïóñê ýìóëÿòîðà, ò.ê. íà èñïðàâëåíèå ìîæåò ïîòðåáîâàòüñÿ íåîïðåäåë¸ííîå âðåìÿ - Âìåñòî íîðìàëüíîé ýìóëÿöèè êëàâèàòóðû ñäåëàíà çàãëóøêà - Åñòü ýêñïåðèìåíòàëüíàÿ ðåàëèçàöèÿ ðàçâ¸ðòêè ÝËÒ - Åñòü ïîääåðæêà Covox è AY-3-8910 - Ïîääåðæèâàåòñÿ EMT-ïåðåõâàò äëÿ ÁÊ-0010, â ñàìîì ïðèìèòèâíîì âàðèàíòå, òîëüêî äëÿ ÷òåíèÿ è çàïèñè, è ýêïåðèìåíòàëüíàÿ âåðñèÿ EMT-ïåðåõâàòà äëÿ ÁÊ-0011Ì - Ìîæíî ñîõðàíÿòü çâóê ýìóëÿòîðà â .WAV ôàéë. Èñïîëüçóåòñÿ ôîðìàò 16 áèò/48 ÊÃö ìîíî. - Ìîæíî ÷èòàòü çâóê (äëÿ ýìóëÿöèè ÷òåíèÿ ñ ëåíòû) èç .WAV ôàéëà â ôîðìàòå PCM. Ðàñøèðåííûå ôîðìàòû .WAV ôàéëîâ íå ïîääåðæèâàþòñÿ. Äëÿ çàïóñêà ýìóëÿòîðà äîëæíà áûòü óñòàíîâëåíà Java SE (Standard Edition) âåðñèè 1.6.0 èëè âûøå. Ïîñëåäíþþ îôèöèàëüíóþ âåðñèþ äëÿ ïîääåðæèâàåìûõ ÎÑ ìîæíî ñêà÷àòü ïî àäðåñó: http://java.com/ru/download/ Ìèíèìàëüíî íåîáõîäèìîé ìîùíîñòè ïðîöåññîðà ïîêà íàçâàòü íå ìîãó, íî äëÿ Java-ìàøèíû îò Sun Microsystems îíà äîëæíà ïðèáëèçèòåëüíî ñîîòâåòñòâîâàòü Celeron 333A (â ñòàíäàðòíîé âåðñèè; òåêóùàÿ ïî-ïðåæíåìó çàãðóæàåò ïðîöåññîð ãîðàçäî ñèëüíåå èç-çà ýìóëÿöèè ðàçâ¸ðòêè). 1. Îïèñàíèå Äëÿ óñòàíîâêè ñëåäóåò ðàñïàêîâàòü zip-àðõèâ, â ðåçóëüòàòå ÷åãî áóäåò ïîëó÷åí êàòàëîã bk2010. Ïðîãðàììû â ôîðìàòå .bin è ïîäãðóæàåìûå äàííûå (â òîì æå ôîðìàòå) ñëåäóåò ïîìåùàòü â ïîäêàòàëîã bk2010/files. Ê ýìóëÿòîðó ïðèëàãàåòñÿ íåñêîëüêî èãð, ïðîâåðåííûõ íà ðàáîòîñïîñîáíîñòü. Îáðàçû äèñêîâ ñëåäóåò ðàçìåùàòü â ïîäêàòàëîãå bk2010/disks Êîïèè ìàãíèòîôîííûõ ëåíò â ôîðìàòå .wav ñëåäóåò ðàçìåùàòü â ïîäêàòàëîãå bk2010/tapes Çàïóñê ýìóëÿòîðà ïðîèçâîäèòñÿ èç êàòàëîãà bk2010 êîìàíäîé "java -jar bk2010-0.5-release.jar" (áåç êàâû÷åê). Äëÿ ïîëüçîâàòåëåé ÎÑ Windows ïðèëàãàåòñÿ âûïîëíÿþùèé ýòó êîìàíäó ôàéë start.bat Ïîñëå çàïóñêà ïîÿâèòñÿ îêíî ñ ïðåäëîæåíèåì âûáðàòü àïïàðàòíóþ êîíôèãóðàöèþ ÁÊ. Ïðè ïåðâîì çàïóñêå ýìóëÿòîðà áóäåò ïðåäëîæåíà ñòàíäàðòíàÿ êîíôèãóðàöèÿ: ÁÊ-0011Ì+äèñê. Êíîïêà "More" ïîçâîëÿåò íàñòðîèòü ïàðàìåòðû âèäåîâûâîäà. Âûáðàííàÿ êîíôèãóðàöèÿ ñîõðàíÿåòñÿ â ôàéëå config.ini â êîðíåâîì êàòàëîãå ýìóëÿòîðà. Ïðè ðàáîòå ýìóëÿòîðà â êîíñîëü âûäàþòñÿ ñëóæåáíûå ñîîáùåíèÿ; â ÷àñòíîñòè, ïîòåðÿ ñèíõðîíèçàöèè ñ âûâîäîì çâóêà îáîçíà÷àåòñÿ ñèìâîëîì $, ïðîïóñê êàäðà îáîçíà÷àåòñÿ òî÷êîé, à ñîîáùåíèå "Stalled for __ msec" îçíà÷àåò, ÷òî ýìóëÿòîð íå ñìîã ýìóëèðîâàòü ÁÊ â ðåàëüíîì âðåìåíè. Íåïðåðûâíàÿ âûäà÷à ýòîãî ñîîáùåíèÿ îçíà÷àåò, ÷òî âû÷èñëèòåëüíîé ìîùíîñòè íåäîñòàòî÷íî äëÿ ýìóëÿöèè ÁÊ (âîçìîæíà ñëó÷àéíàÿ âûäà÷à ýòîãî ñîîáùåíèÿ èç-çà çàãðóçêè ÝÂÌ äðóãèìè çàäà÷àìè). 2. Ýìóëèðóåìîå îáîðóäîâàíèå ÁÊ0010.01 ëèáî ÁÊ-0011Ì â ñòàíäàðòíîé êîíôèãóðàöèè. Êîíòðîëëåð ãèáêèõ äèñêîâ íà îñíîâå ìèêðîñõåìû 1801ÂÏ1-128 Äâà ïðèâîäà ãèáêèõ äèñêîâ: äâå ñòîðîíû, 82 äîðîæêè, ôèçè÷åñêàÿ äëèíà äîðîæêè 6250.(14152) áàéò. 16ÊÁ ÎÇÓ ïî àäðåñàì 120000-157777 äëÿ êîíôèãóðàöèè ÁÊ-0010.01+äèñê. Ãåíåðàòîð çâóêà AY-3-8910/8912, âêëþ÷åííûé ïî òàê íàçûâàåìîé "èíâåðñíîé" ñõåìå (ïðåäëîæåííîé RDC ÅÌÍÈÌÑ). Covox, ïîäêëþ÷åííûé ïî îáùåïðèíÿòîé ñõåìå (â ìëàäøåì áàéòå ïîðòà 177714) 2.1 Ïðîöåññîð Ê1801ÂÌ1À íà ÷àñòîòå 3 ÌÃö (äëÿ ÁÊ-0010.01) ëèáî 4ÌÃö (äëÿ ÁÊ-0011Ì). Íå ýìóëèðóåòñÿ ïåðåêëþ÷åíèå ðåæèìîâ HALT/USER (íå èìååò ñìûñëà äëÿ ÁÊ è íå èñïîëüçóåòñÿ ïðîãðàììàìè), âêëþ÷àÿ îòñòóòñòâèå ýìóëÿöèè êîìàíä "ÑÒÀÐÒ" è "ØÀÃ". 2.2 Ïàìÿòü  ðåæèìå ÁÊ-0010.01 ýìóëèðóåòñÿ 32 ÊÁ ÎÇÓ ïî àäðåñàì 0-77777, 8 ÊÁ ÏÇÓ ñèñòåìíîãî ìîíèòîðà ïî àäðåñàì 100000-117777, è 23 ÊÁ ÏÇÓ ÁÅÉÑÈÊà ïî àäðåñàì 120000-177577.  ðåæèìå ÁÊ-0010.01+äèñê ýìóëèðóåòñÿ 16ÊÁ äîïîëíèòåëüíîãî ÎÇÓ ïî àäðåñàì 120000-157777 è 4ÊÁ ÏÇÓ ñ ïðîøèâêîé 326 ïî àäðåñàì 160000-167777.  ðåæèìå Áåéñèê+äèñê èñïîëüçóåòñÿ ñòàíäàðòíàÿ ñõåìà îòêëþ÷åíèÿ ÏÇÓ è ïîäêëþ÷åíèÿ ÎÇÓ ÷åðåç ðàçðÿäû DS3 è DS2 âûáîðà ïðèâîäà (íà ÁÊ îíè íå èñïîëüçóþòñÿ).  ðåæèìå ÁÊ-0011Ì ýìóëèðóåòñÿ 128 ÊÁ ÎÇÓ ñî ñòàíäàðòíîé ñõåìîé îòîáðàæåíèÿ ñòðàíèö, ÏÇÓ Áàçîâîé Îïåðàöèîííîé Ñèñòåìû (ÁÎÑ) è ÏÇÓ Áåéñèêà 11Ì, â ñóììå 40ÊÁ. Êðîìå òîãî, ýìóëèðóåòñÿ 4 ÊÁ ÏÇÓ ñ ïðîøèâêîé 326 (äðàéâåð äèñêîâîäà). 2.3 Ýêðàí Ïî óìîë÷àíèþ âûâîä èçîáðàæåíèÿ ïðîèçâîäèòñÿ â îêíî ñ ðàçìåðîì êëèåíòñêîé îáëàñòè 1024x768; êðîìå òîãî, ìîæíî âûáðàòü è äðóãèå ðàçðåøåíèÿ. Âîçìîæåí âûâîä èçîáðàæåíèÿ ñ èíòåðïîëÿöèåé, åñëè ýòî ïîääåðæèâàåòñÿ èñïîëüçóåìîé âåðñèåé Java Runtime. Ïîääåðæèâàåòñÿ ÷¸ðíî-áåëûé ðåæèì 512x256, ìîíîõðîìíûé ðåæèì 256x256 (ïî óìîë÷àíèþ äëÿ ÁÊ-0010) è öâåòíîé ðåæèì 256x256(ïî óìîë÷àíèþ äëÿ ÁÊ-0011Ì). Ïåðåêëþ÷åíèå ðåæèìîâ ïðîèçâîäèòñÿ êëàâèøåé Scroll Lock ëèáî êîìáèíàöèåé êëàâèø Ctrl+F8. Ðåàëèçîâàíû âñå ôóíêöèè êîíòðîëëåðà -- ðóëîí è ðåæèì êîðîòêîãî ýêðàíà. Åñòü ýêñïåðèìåíòàëüíàÿ âåðñèÿ çà ëó÷îì ÝËÒ. Îäíàêî, âðåìåííûå ïàðàìåòðû ñêîðåå âñåãî íå ñîîòâåòñòâóþò ðåàëüíîé ÁÊ. Ïàëèòðû äëÿ ÁÊ-0011Ì ïîêà ïðåäâàðèòåëüíûå -- ó ìåíÿ íåò äàìïà ïðîøèâêè ÐÒ4, çàäàþùåé ïàëèòðû. Âîçìîæíî ñîõðàíåíèå ñíèìêîâ ýêðàíà ÁÊ â ôîðìàòå PNG. Ñíèìîê ñîõðàíÿåòñÿ â ðàçðåøåíèè 512x256x8áèò. ÂÀÆÍÎ: íà íåêîòîðûõ âåðñèÿõ Java Runtime âûâîä èçîáðàæåíèÿ áåç èíòåðïîëÿöèè áóäåò ïðîèçâîäèòüñÿ ñ îøèáêàìè, åñëè âûáðàííîå ðàçðåøåíèå íå ðàâíî 1024x768! 2.4 Êëàâèàòóðà Ðàñêëàäêà ßÂÅÐÒÛ-îáðàçíàÿ. Âåðõíèé ("ñåðûé") ðÿä êëàâèø îòîáðàæàåòñÿ íà F1-F9, êëàâèøà "ÂÑ" -- íà F10. Àâòîïîâòîð êëàâèàòóðû ÍÅ òðàíñëèðóåòñÿ â ÁÊ ïðè íàæàòèè òîëüêî îäíîé êëàâèøè, òàê êàê â íåêîòîðûõ èãðàõ îí ïðèâîäèò ê "çàêëèíèâàíèþ" óïðàâëåíèÿ. Ïðè íàæàòèè íåñêîëüêèõ êëàâèø àâòîïîâòîð òðàíñëèðóåòñÿ. Íàçíà÷åíèå ñïåöèàëüíûõ êëàâèø: [Left Win] - ÐÓÑ (*) [Right Win] - ËÀÒ (*) [Ctrl] - ÑÓ [Shift] - Âåðõíèé ðåãèñòð (**) [Alt] - ÀÐ2 [Esc] - ÑÒÎÏ (*) - Íà ïëàòôîðìå Windows ïðèâîäèò ê ïîÿâëåíèþ ñèñòåìíîãî ìåíþ, ïîýòîìó ñëåäóåò íàæèìàòü [Ctrl+N] è [Ctrl+O], ñîîòâåòñòâåííî. (**) - Ôèêñèðîâàíèå âåðõíåãî ðåãèñòðà ïðîèçâîäèòñÿ êëàâèøåé CapsLock. Óïðàâëåíèå ýìóëÿòîðîì: [Scroll Lock] - Ïåðåêëþ÷åíèå âèäåîðåæèìà [Ctrl+F4] - Âûáîð îáðàçà äèñêà äëÿ ïðèâîäà A: [Ctrl+F5] - Âûáîð îáðàçà äèñêà äëÿ ïðèâîäà B: [Ctrl+F8] - Ïåðåêëþ÷åíèå âèäåîðåæèìà [Ctrl+F11] - Àïïàðàòíûé ñáðîñ ïðîöåññîðà [F12] - Ñîõðàíåíèå ñíèìêà ýêðàíà ÁÊ â ïîäêàòàëîãå shots/ (íå áîëåå 10 òûñÿ÷ ñíèìêîâ) [Pause/Break] - Âûõîä èç ýìóëÿòîðà Ïîääåðæèâàåòñÿ ýêñïåðèìåíòàëüíàÿ âîçìîæíîñòü ïåðåíàçíà÷åíèÿ êëàâèø. Äëÿ ýòîãî ñëóæèò ôàéë keyboard.ini â êîðíåâîì êàòàëîãå ýìóëÿòîðà. Ôàéë ñîñòîèò èç òåêñòîâûõ ñòðîê ñëåäóþùåãî âèäà: "ÊËÀÂÈØÀ_ÏÊ" = "ÊËÀÂÈØÀ_ÁÊ_ÁÅÇ_SHIFT" / "ÊËÀÂÈØÀ_ÁÊ_Ñ_SHIFT" Ïðèìåð: LBRACKET = "[" / "{" Âîêðóã ñèìâîëà / äîëæíû áûòü ïðîáåëû. Ñòðîêà, íà÷èíàþùàÿñÿ ñ ñèìâîëà # ñ÷èòàåòñÿ êîììåíòàðèåì.  ñëó÷àå îòñóòñòâèÿ ôàéëà keyboard.ini îí àâòîìàòè÷åñêè ñîçäà¸òñÿ ïðè çàïóñêå ýìóëÿòîðà. ÂÍÈÌÀÍÈÅ: ÷òîáû óçíàòü, êàêèå èìåíà êëàâèø ÏÊ äîñòóïíû ýìóëÿòîðó, ïðîñòî ñîòðèòå èëè ïåðåìåñòèòå ôàéë keyboard.ini è çàïóñòèòå ýìóëÿòîð. Âî âíîâü ñîçäàííîì keyboard.ini áóäóò ïðîïèñàíû âñå èìåíà êëàâèø. 2.5 Çâóê Ïîääåðæèâàåòñÿ ñòàíäàðòíûé äëÿ ÁÊ âàðèàíò -- îäíîáèòîâûé çâóê ÷åðåç áèò 6 ïîðòà 177716. Ýìóëÿòîð ïðîèçâîäèò ïåðåîöèôðîâêó çâóêà (ñ èíòåãðèðîâàíèåì) â ôîðìàò 16 áèò/48 ÊÃö. Ýòîò ôîðìàò ïîääåðæèâàåòñÿ ëþáîé çâóêîâîé êàðòîé ñòàíäàðòà AC'97, à òàê æå âñòðîåííûì çâóêîâûì êîäåêîì âî âñåõ ñîâðåìåííûõ ÏÝÂÌ. Êðîìå òîãî, åñòü ðåàëèçàöèÿ Covox è AY-3-8910. Ñèíòåçèðîâàííûé ýìóëÿòîðîì çâóê ìîæíî ñîõðàíÿòü â .WAV ôàéë. Ïîìíèòå, ÷òî èç-çà îãðàíè÷åíèé ôîðìàòà â íåãî ìîæíî ñîõðàíèòü íå áîëåå 6 ÷àñîâ çâóêà (â èñïîëüçóåìîì êà÷åñòâå). 2.6 Ìàãíèòîôîí Äëÿ ðåæèìà ÁÊ-0010.01 ðåàëèçîâàí ïåðåõâàò îáðàáîò÷èêà êîìàíäû EMT 36 (ïî àäðåñó 116076), ïîäìåíÿþùèé ÷òåíèå èëè çàïèñü ôàéëà ñ ìàãíèòîôîíà ÷òåíèåì èëè çàïèñüþ ôàéëà ôîðìàòà .bin èç ïîäêàòàëîãà files.  ñëó÷àå, åñëè ôàéë ñ òðåáóåìûì èìåíåì íå íàéäåí, ëèáî óêàçàí êîä îïåðàöèè, îòëè÷íûé îò ÷òåíèÿ/çàïèñè, ïðîèçâîäèòñÿ âîçâðàò óïðàâëåíèÿ ñ êîäîì îøèáêè 4 ("îïåðàöèÿ ïðåðâàíà ïîëüçîâàòåëåì"). Èìÿ ôàéëà ïðåîáðàçóåòñÿ ñëåäóþùèì îáðàçîì (àëãîðèòì íå ñàìûé óäà÷íûé -- åñòü ïðåäëîæåíèÿ?): à) Âñå ñèìâîëû îòîáðàæàþòñÿ íà íàáîð ASCII7 ïîñðåäñòâîì ñáðîñà ñòàðøåãî áèòà á) Óïðàâëÿþùèå ñèìâîëû (ñ êîäàìè 0-37) çàìåíÿþòñÿ íà ñèìâîë ïîä÷¸ðêèâàíèÿ â) Ñèìâîëû èç íàáîðà ?*"'\/:,; òàêæå çàìåíÿþòñÿ íà ñèìâîë ïîä÷¸ðêèâàíèÿ ã) Âñå ñèìâîëû ëàòèíñêîãî àëôàâèòà ïðèâîäÿòñÿ ê íèæíåìó ðåãèñòðó è ê èìåíè ôàéëà äîáàâëÿåòñÿ ðàñøèðåíèå .bin; ïðîèçâîäèòñÿ ïîèñê ôàéëà ñ òàêèì èìåíåì ä) Åñëè ôàéë íàéòè íå óäàëîñü, òî âñå ñèâîëû ëàòèíñêîãî àëôàâèòà â èìåíè è ðàñøèðåíèè ïðèâîäÿòñÿ ê âåðõíåìó ðåãèñòðó, è ïðîèçâîäèòñÿ ïîèñê ôàéëà ñ òàêèì èìåíåì Êðîìå òîãî, åñòü ýêñïåðèìåíòàëüíàÿ ðåàëèçàöèÿ ïåðåõâàòà EMT 115 íà ÷òåíèå äëÿ ÁÊ-0011Ì, íî îíà ñîäåðæèò îøèáêè. Òàêæå ìîæíî ÷èòàòü çâóê (äëÿ ýìóëÿöèè ÷òåíèÿ ñ ëåíòû) èç .WAV ôàéëà â ôîðìàòå PCM. 2.7 Ïåðèôåðèéíûé ïîðò Ïîðò ïî àäðåñó 177714 îáñëóæèâàåò îáðàùåíèÿ ïðîöåññîðà. Ýìóëèðóþòñÿ ñëåäóþùèå óñòðîéñòâà: - Äæîéñòèê, ñîâìåñòèìûé ñî "ñòàíäàðòíîé" ðàñïàéêîé äëÿ èãð Ñàâèíà (SW corp). Äëÿ ýìóëÿöèè èñïîëüçóåòñÿ öèôðîâîé áëîê êëàâèàòóðû. - Ãåíåðàòîð çâóêîâûõ ýôôåêòîâ AY-3-8910/8912, âêëþ÷åííûé ïî òàê íàçûâàåìîé "èíôåðñíîé" ñõåìå (ïðåäëîæåííîé RDC ÅÌÍÈÌÑ). - Covox â ìëàäøåì áàéòå ïîðòà 177714. Ïðè èñïîëüçîâàíèè íàñòðîéêè "Smart Covox" ýìóëÿòîð ïûòàåòñÿ ðàñïîçíàòü îáðàùåíèÿ â AY-3-8910 è â ñëó÷àå òàêîãî îáðàùåíèÿ áëîêèðóåò çàïèñü â Covox. Êðîìå òîãî, çàïèñü â Covox áëîêèðóåòñÿ, åñëè èçìåíÿòñÿ òîëüêî áèò 2. Ýòî íåîáõîäèìî äëÿ èçáåãàíèÿ ñâèñòà â ñëó÷àå ðàáîòû ñ ïðîãðàììàìè, ðàññ÷èòûâàþùèìè íà ìûøü â ìëàäøåì áàéòå ïîðòà. 2.8 Ïðîöåññîðíûé (ñèñòåìíûé) òàéìåð Ðåàëèçîâàí ïîëíîñòüþ. 2.9 Êîíòðîëëåð äèñêîâîäà Ñòàíäàðòíûé äëÿ ÁÊ âàðèàíò -- êîíòðîëëåð íà îñíîâå ìèêðîñõåìû 1801ÂÏ1-128 ïëþñ ÏÇÓ 1801ÐÅ1-326. Ïðè ÷òåíèè ïîëíîñòüþ âîñïðîèçâîäèòñÿ ñòðóêòóðà äîðîæêè èç 10 ñåêòîðîâ ïî 512 áàéò, çà èñêëþ÷åíèåì CRC (âîçâðàùàåòñÿ ôèêòèâíîå çíà÷åíèå, íî êîíòðîëëåð ñèãíàëèçèðóåò î ñîâïàäåíèè CRC). Èç îñîáåííîñòåé êîíòðîëëåðà èìèòèðóåòñÿ òîëüêî ïîâåäåíèå ïðè ïîèñêå ìàðêåðà, ïîýòîìó ìîæíî ëåãêî ïðîãðàììíî îòëè÷èòü ýìóëèðóåìûé êîíòðîëëåð îò íàñòîÿùåãî. Ïðè çàïèñè íà äèñê èñïîëüçóåòñÿ àíàëèç ïîëó÷èâøåéñÿ ñòðóêòóðû äîðîæêè äëÿ âûäåëåíèÿ ñåêòîðîâ è çàïèñè èõ â ôàéë îáðàçà äèñêà.  ñëó÷àå íàëè÷èÿ ïîâðåæä¸ííûõ èëè íåñòàíäàðòíûõ ñåêòîðîâ îíè èãíîðèðóþòñÿ. Åñëè ïðè çàïóñêå áûë âûáðàí âàðèàíò ÁÊ-0010.01 Áåéñèê+äèñê, òî ðàçðÿäû âûáîðà ïðèâîäà DS2 è DS3 èñïîëüçóþòñÿ äëÿ ïåðåêëþ÷åíèÿ ìåæäó ðåæèìàìè ðàáîòû Áåéñèê è äèñê+ÄÎÇÓ. Èñïîëüçóåòñÿ ñòàíäàðòíàÿ ñõåìà, ïðåäëîæåííàÿ RDC (ÅÌÍÈÌÑ): 11 âûáèðàåò Áåéñèê, 10 -- îòêëþ÷àåò ÄÎÇÓ. Ýìóëèðóþòñÿ äâà ïðèâîäà äèñêîâ 2 ñòîðîíû / 82 äîðîæêè. Ïî óìîë÷àíèþ îáðàçû äèñêîâ çàãðóæàþòñÿ èç ôàëîâ a.img è b.img â ïîäêàòàëîãå disks/ ; êðîìå òîãî, ïðè çàïóñêå ýìóëÿòîðà ìîæíî âûáðàòü äðóãèå îáðàçû äèñêîâ. Òàêæå ïðè çàïóñêå ýìóëÿòîðà ìîæíî óñòàíîâèòü çàùèòó îáðàçà äèñêà îò çàïèñè. Ïðè ýòîì â ðàáîòàþùåå íà ýìóëèðóåìîé ÁÊ ïðîãðàììíîå îáåñïå÷åíèå áóäåò ïåðåäàí ôëàã çàùèòû äèñêà îò çàïèñè. Ìåõàíèêà ïðèâîäà íå ýìóëèðóåòñÿ: äèñê âðàùàåòñÿ âñåãäà, ñìåíà äîðîæêè ïðîèñõîäèò ìãíîâåííî. ÂÀÆÍÎ: äëÿ çàùèòû îáðàçà äèñêà îò èçìåíåíèé ìîæíî çàïðåòèòü çàïèñü â íåãî ñðåäñòâàìè ôàéëîâîé ñèñòåìû (óñòàíîâèâ àòðèáóò çàùèòû îò çàïèñè ïîä Windows èëè ÷åðåç chmod 444 ïîä Unix). Ýìóëÿòîð êîððåêòíî ðàñïîçíà¸ò òàêèå îáðàçû è ïîäêëþ÷àåò èõ êàê çàùèù¸ííûå îò çàïèñè. Ïðè èíèöèàëèçàöèè ýìóëÿòîðà â ðåæèìå ÁÊ-0010.01 â äîïîëíèòåëüíîå ÎÇÓ ïî àäðåñó 120000 ïðîïèñûâàåòñÿ êîìàíäà ïåðåõîäà íà äèñêîâûé çàãðóç÷èê, ÷òî ïîçâîëÿåò ñýêîíîìèòü âðåìÿ ïðè çàãðóçêå ñ äèñêà. (c) 2010, Àëåêñàíäð Òèøèí (Sandro)