PDA

Просмотр полной версии : Эмуляция вычтехники на МПК К1801 в MAME/MESS



shattered
10.06.2016, 23:51
Потихоньку пишу для MAME/MESS эмуляторы разной около-ДВК-техники. Что уже есть и худо-бедно работает:
- Терминал 15ИЭ-00-013 (http://zx-pk.ru/threads/20744-emulyatsiya-fryazinskogo-displeya-15ie-00-013.html) -- драйвер ie15 (процессор (https://github.com/mamedev/mame/tree/master/src/devices/cpu/ie15), устройство (https://github.com/mamedev/mame/blob/master/src/mame/drivers/ie15.cpp)) и клавиатура 15ВВВ-97-006 (https://github.com/mamedev/mame/blob/master/src/mame/machine/ie15_kbd.cpp)
- ДВК КСМ (http://zx-pk.ru/threads/24202-emulyatsiya-ksm-dvk.html) и клавиатура МС7004 -- драйвер dvk_ksm и устройство ms7004

В работе:
- МС 1201.02 (+ КГД, КЦГД, КЖД...)
- МС 0511 "УКНЦ"
- МС 0515

Инструменты и материалы эмуляторописателя

Документация - разное
- emuverse: статья ДВК (http://www.emuverse.ru/wiki/%D0%94%D0%92%D0%9A), статья 1801BMx (http://www.emuverse.ru/wiki/1801BMx)
- архивы на pdp-11.ru (http://pdp-11.ru/) и рядом с ним
- МПСС -- оглавления: http://4duker.ru/PDP/MPSS/MPSS.html раз, http://www.wdigest.ru/mpss.htm два и сканы: http://magzdb.org/j/2078
- соседние ветки форума -- по МС1201 (http://zx-pk.ru/threads/20791-elektronika-ms1201-02-ili-pdp-11-dlya-quot-chajnikov-quot-fak.html?), ДВК (http://zx-pk.ru/threads/2348-dvk-%28i-vsjo-chto-s-nimi-svyazano%29.html) и другие

Документация - процессоры
- Техническое описание на 1801ВМ2 (ЩИ3.480.128 ТО) -- обсуждение на форуме (http://zx-pk.ru/threads/17284-km1801vm2-tekhnicheskoe-opisanie.html), зеркало с файлами (http://www.tiffe.de/Robotron/Bausteinuebersicht/K180x/)
- Описание 1801ВМ2, собранное Alex_K из разных источников -- документ (http://zx-pk.ru/attachment.php?attachmentid=29838&d=1318165329), ветка форума (http://zx-pk.ru/threads/6257-emulyator-uknts.html?p=422640&viewfull=1#post422640).
- разной подробности описания и справочники -- http://vak.ru/doku.php/proj/bk/1801vm-series раз (via http://vak.ru/doku.php/proj/bk-fpga), https://github.com/nzeemin/bkbtl-doc/wiki/1801vm1-vs-1801vm2-ru два, http://pdp-11.ru/mybk/doc/1801VM.TXT три (1989), http://pdp-11.ru/mybk/doc/PDP11.TXT ...

Документация - ближайшие аналоги, архитектура PDP-11
- как развивалась линейка pdp-11 -- http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/faq
- dec/pdp11/Introduction_to_the_PDP-11_Student_Workbook_Apr77 @bitsavers
- однокристальный процессор T11 -- pdf/dec/pdp11/t11/T11_UsersMan.pdf @bitsavers
- контроллеры последовательных портов типа "DL" -- MicroNote #33 (http://www.ibiblio.org/pub/academic/computer-science/history/pdp-11/hardware/micronotes/numerical/micronote33.txt)

Документация - обвязка, прошивки
- Реверс-инжиниринг серии 1801 (http://zx-pk.ru/threads/23978-tsifrovaya-arkheologiya-1801-i-vse-vse-vse.html) и других
- Список известных прошивок 1801РЕ2 и 1801ВП1 (http://fincoins.spb.ru/oldpc/re2/1801PE2.html) (2012)
- Прошивки РЕ2: 000, 013, 055, 058, 091, 092, 093, 134, 181, 182, 183, 184, 255, 279, 377 -- ветка соседнего форума (http://forum.maxiol.com/index.php?showtopic=4118). не хватает (??) 037, 038 (бейсик, фокал).
- 1801ВП1-035 и -065 (COM порты типа "DL") -- ветка форума (http://zx-pk.ru/showthread.php?t=12945), ветка другого форума (http://bk0010.org/forum/?id=4464), книги серии "МикроЭВМ в 8-ми книгах": книга 2 (стр. 36 и 104) и книга 4 (стр. 126); МПСС 6/1986; "Микpопpоцессоpы и микpопpоцессоpные комплекты интегpальных микpосхем" Шахнова. Отличия от оригинальных "DL" (http://zx-pk.ru/threads/20791-elektronika-ms1201-02-ili-pdp-11-dlya-quot-chajnikov-quot-fak.html?p=575296&viewfull=1#post575296).

Документация - вычислители МС1201 и собственно ДВК
- Техническое описание 0.305.019 ТО (http://www.emuverse.ru/downloads/computers/DVK/docs/MC1201/MC1201.01_TO.djvu) на МС1201.01, МС1201.02 (1983).
- Техническое описание 0.305.019 ТО (http://www.emuverse.ru/downloads/computers/DVK/docs/MC1201/MC1201.02_TO.djvu) только на МС1201.02 (198x). Прошивка 055.
- Документация к прошивке 279 для 1201.02 -- PDF (http://forum.maxiol.com/index.php?act=Attach&type=post&id=8090) (via maxiol (http://forum.maxiol.com/index.php?showtopic=4118))

Тестирование - софт, документация (DEC)
- Перфоленточные тесты -- bits/DEC/pdp11/papertapeimages @bitsavers и http://dustyoldcomputers.com/pdp-common/reference/papertapes/maindec-11.html
- Листинги некоторых из них -- pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/ и pdf/dec/pdp11/xxdp/diag_listings/ @bitsavers
- Как запускать -- pdf/dec/pdp11/xxdp/PDP11_DiagnosticHandbook_1988.pdf @bitsavers
- Что запускать -- VKAA, VKAB, VKAC, VKAH (тесты процессора LSI-11); ZRXA, ZRXB (тесты интерфейса DX)

Тестирование - софт, документация (СССР)
- Встроенные тесты в ПЗУ МС1201 (@T1..T6). Проверяют основную память, системную память (режима HALT), процессор, терминал, АЦПУ и НГМД. Прошивка 279 вместо НГМД проверяет таймер.
- Тесты ТМОС и ТМОС-2 -- часть из них переработана из тестов XXDP, часть оригинальная. Полного списка пока нет, частичный в ветке форума (http://zx-pk.ru/threads/24073-xxdp-i-tmos-2-na-dvk-i-uknts.html) по XXDP.
- Как запускать -- Методика проверки работоспособности ДВК (http://www.emuverse.ru/downloads/computers/DVK/docs/test0505.htm) МС 0501.08 (описывает тесты ТМОС).
- Листинги тестов 791401 и 791404 -- https://github.com/nzeemin/bkbtl-doc/tree/master/Tests (восстановлены из сканов (http://www.emuverse.ru/downloads/computers/E-60/docs/E60_Book_4.djvu)).
- Тесты с форума -- TSTVM1 (http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/titus_vm1test/) и TSTVM2 (http://zx-pk.ru/threads/18184-osobennosti-protsessorov-i-ustrojstv-arkhitektury-pdp-11-testy-diagnostika.html?p=749151&viewfull=1#post749151) им. Titus
- Разное -- см. ветку форума (http://zx-pk.ru/threads/18184-osobennosti-protsessorov-i-ustrojstv-arkhitektury-pdp-11-testy-diagnostika.html). Исходник драйвера MY для ТМОС-2 (http://zx-pk.ru/threads/10718-soft-dlya-dvk-pdp11.html?p=793735#post793735).
- Образы перфолент -- пока нет или мало, ждем Andrey_Ak (http://zx-pk.ru/threads/2348-dvk-(i-vsjo-chto-s-nimi-svyazano).html?p=865379&viewfull=1#post865379) :)

Эмуляторостроение
- Виртуальный диск HD.SYS -- пост на форуме (http://zx-pk.ru/threads/17277-pomogite-najti-osnovnoj-test-kommand-elektroniki-60.html?p=436263&viewfull=1#post436263) (реализован в эмуляторе ДВК им. Patron).
- Виртуальный диск HX.SYS -- ветка форума (http://zx-pk.ru/threads/20683-protokol-hx-imitatsiya-blochnogo-ustrojstva-s-posledovatelnym-interfejsom.html) (реализован там же).
- Что такое Conflicting SYSGEN options (http://zx-pk.ru/threads/15587-programmirovanie-na-uknts-kak.html?p=857763&viewfull=1#post857763) и как пропатчить HD.SYS под FMONSJ.
- Конвертор в абсолютный формат bin2load (https://github.com/jguillaumes/retroutils via http://ancientbits.blogspot.ru/2012/07/programming-barebones-pdp11.html)

MiX
11.06.2016, 07:03
shattered, Что за прошивка 039?

shattered
11.06.2016, 18:49
Опечатка, в оригинале (по ссылке на maxiol) 093.

MiX
11.06.2016, 19:09
Я тоже подумал что опечатка, но в том смысле что прошивка 031.

shattered
13.06.2016, 01:17
Ядро T11 в MAME, которое я хочу перековать в ВМ2, оказалось довольно сырым -- не работала SOB, не было обработки traps (bus error, trace trap), и прочее. Так что пока картинка для привлечения внимания выглядит так:

https://img-fotki.yandex.ru/get/51827/264743.4/0_b4478_3e175829_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738424)

nzeemin
13.06.2016, 13:34
shattered, такой вопрос -- а вы процессор под каждую машину делаете копированием и глубоким допиливанием исходника процессора T11? или выделили какое-то общее начало и танцуете от него?

shattered
14.06.2016, 01:19
Я пытаюсь сохранить все изменения в подклассе от t11_device, и со временем оба из них, видимо, будут подклассами чего-то еще, но пока никто не видит -- правлю и сам t11_device, "лишь бы работало" :-) Первый коммит на эту тему был такой -- https://github.com/mamedev/mame/commit/ae053d119aadb1a0b2a41186935f7c874838c0e5

Копии кода процессора ВМ2 под каждую машину в итоге быть не должно.

Кстати, я внезапно вспомнил, что в UKNCBTL есть работающее ядро ВМ2 :-)

- - - Добавлено - - -

T3 проходит, продолжаем тестирование. Пока не нашел листинга этого теста (тут (http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/EP-DVKAH-A-DL-A__LSI-11__4K_SYSTEM_EXERCISER__MD-11-DVKAH-A__(C)1976.pdf) -- листинг другого теста, DZVTC-C, VT50A acceptance test):

https://img-fotki.yandex.ru/get/26439/264743.4/0_b447a_617efb9e_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738426)

shattered
14.06.2016, 22:19
Позаимствовал эмуляцию EIS и другое из SIMH и тесты внезапно начали проходить :) Тест FIS проваливается; не знаю, проходит ли его реальное железо -- кто знает, скажите.

https://img-fotki.yandex.ru/get/143523/264743.4/0_b447f_c56fffef_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738431)
MESS: МС1201.02 WIP - MAINDEC-11-DVKAA (basic instruction tests) passing

https://img-fotki.yandex.ru/get/119695/264743.4/0_b4480_c2bad30f_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738432)
MESS: МС1201.02 WIP - MAINDEC-11-DVKAB (EIS instruction tests) passing

https://img-fotki.yandex.ru/get/119695/264743.4/0_b4481_e810d32e_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738433)
MESS: МС1201.02 WIP - MAINDEC-11-DVKAC (FIS instruction tests) failing

shattered
18.06.2016, 22:09
С некоторым усилием (затычкой для неработающей команды RESET) проходит тест VKAH (system exerciser):

https://img-fotki.yandex.ru/get/56520/264743.4/0_b4497_b1696ea8_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738455)

Два экземпляра MESS (КСМ и МС1201) соединены виртуальным нуль-модемом:

https://img-fotki.yandex.ru/get/31286/264743.4/0_b44a2_2d5ed115_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738466)

Собственно тесты FTMON пока работают плохо, кроме самого простого теста терминала 012101. Для него в КСМ нужно отключить auto wraparound (5 разряд настроек, F4 -> 5).

- - - Добавлено - - -

Маленькая деталь -- абсолютный загрузчик с перфоленты есть внутри прошивки 055, вызвать его -- "B", "LA" и далее "P" -- загрузка нужной ленты.

MiX
19.06.2016, 14:06
shattered, Можно прогнать тест TSTVM2 (http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/Other/titus_vm2testUKNC/TSTVM2.dsk) от dr.Titus'a.

shattered
19.06.2016, 16:42
Прогоню позже, пока рано -- в T11 нет понятия bus error, и чтобы его добавить корректно, придется немного перетряхнуть код.

Patron
19.06.2016, 23:00
в T11 нет понятия bus error, и чтобы его добавить корректно, придется немного перетряхнуть код.Мне показалось удобным добавлять Trap_4 в код при помощи исключений :



if( !abRAM[addr] )
{
wBadAddr = addr;
nBadAccessType = 4;
throw(0);
}


Тогда бросать исключения можно в любом месте и на любом уровне вложенности вызовов подпрограмм, а обрабатывать - только на самом верхнем уровне.

shattered
20.06.2016, 00:03
Я так и собираюсь сделать. Похоже, для этого придется залезть и в ядро mame -- https://github.com/mamedev/mame/blob/master/src/emu/emumem.cpp#L715

shattered
22.06.2016, 00:05
Конвертор в абсолютный формат bin2load (https://github.com/jguillaumes/retroutils via http://ancientbits.blogspot.ru/2012/07/programming-barebones-pdp11.html) оказался весьма полезен -- конвертировал им загрузочный сектор виртуальных дисков HD:, стало чуть удобнее грузить тесты.

shattered
22.06.2016, 23:51
Код перетряхнул и результат довольно ужасен, но стал проходить тест памяти 791323.
https://img-fotki.yandex.ru/get/30086/264743.4/0_b44e7_785bb992_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738535)

Тест FIS 791403 проваливается схоже с VKAC, и результаты TSTVM2 намекают, где именно (команда DIV).
https://img-fotki.yandex.ru/get/47043/264743.4/0_b44e8_b55b0693_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738536)
https://img-fotki.yandex.ru/get/133483/264743.4/0_b44e9_a25bc46d_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738537)
https://img-fotki.yandex.ru/get/47043/264743.4/0_b44ea_771003ed_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738538)
https://img-fotki.yandex.ru/get/54799/264743.4/0_b44eb_d6c2cc34_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738539)

Попутно выяснил, что диск TSTSYS.DSK довольно странный -- rt11 5.3 считает его битым, и PUTR портит файлы при записи на него.

shattered
24.06.2016, 00:01
Более аккуратно отслеживаю CPC, CPSW и тест FIS (VKAC) почти работает:

https://img-fotki.yandex.ru/get/120725/264743.4/0_b44f3_d246918f_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738547)

Аналогичному тесту 791403 это помогло меньше. Листинга от него нет, но скорее всего, это вариант того же VKAC.

Alex_K
25.06.2016, 13:45
Более аккуратно отслеживаю CPC, CPSW и тест FIS (VKAC) почти работает:
Аналогичному тесту 791403 это помогло меньше. Листинга от него нет, но скорее всего, это вариант того же VKAC.
С CPC и CPSW есть тонкие моменты. Они изменяются только когда в PSW сброшен бит 7 или 8. Это можно посмотреть в исходниках UKNCBTL.

void SetPSW(WORD word){
m_psw = word & 0777;
if ((m_psw & 0600) != 0600) m_savepsw = m_psw;
}

void SetLPSW(BYTE byte)
{
m_psw = (m_psw & 0xFF00) | (WORD)byte;
if ((m_psw & 0600) != 0600) m_savepsw = m_psw;
}

void SetReg(int regno, WORD word)
{
m_R[regno] = word;
if ((regno == 7) && ((m_psw & 0600)!=0600)) m_savepc = word;
}

void SetLReg(int regno, BYTE byte)
{
m_R[regno] = (m_R[regno] & 0xFF00) | (WORD)byte;
if ((regno == 7) && ((m_psw & 0600)!=0600)) m_savepc = m_R[7];
}

void SetPC(WORD word)
{
m_R[7] = word;
if ((m_psw & 0600) != 0600) m_savepc = word;
}
При этом CPSW меняется только при изменении младшего байта PSW. Целиком PSW меняется только в таких случаях -прерывания режима HALT (двойное зависание, сигнал/команда HALT, прерывание ошибки шины в HALT-режиме, включение питания, команда FIS, ошибка получения адреса вектора прерывания), команды STEP и RUN, команды RTI и RTT при возврате в адрес больший 0160000. В остальных случаях изменяется только младший байт.
Есть еще один тонкий момент. В эмуляторе UKNCBTL также не шел эмулятор FIS, пока в команде не была вставлена небольшая затычка (отмечена красным):

void CProcessor::ExecuteMTPS () // MTPS - move to PS{
WORD ea;
BYTE dst;


if(m_methdest)
{
ea = GetByteAddr(m_methdest,m_regdest);
if (m_RPLYrq) return;
dst = GetByte(ea);
if (m_RPLYrq) return;
}
else
dst = GetLReg(m_regdest);

SetLPSW((GetLPSW() & 0x10) | (dst & 0xEF));
SetPC(GetPC());
m_internalTick=MTPS_TIMING[m_methdest];
}
А иначе в эмуляторе FIS происходило прерывание, но т.к. в стек в 1801ВМ2 кладутся CPC и CPSW, то соответственно без этого клался в стек адрес за командой FIS, а надо адрес за MTPS.

shattered
25.06.2016, 14:45
Заново переписываю обработку прерываний и все такое, результат 791403 временно стал похож на VKAC (проваливаются тесты на bus error внутри команд FIS), зато сломалось многое другое :) Буду думать.

Где-то на этом форуме упоминалась прошивка КЦГД с тестами -- есть у кого такая?

shattered
01.07.2016, 00:36
Начал делать qbus (пока не очень настоящий -- только чтобы работал RESET); стал проходить тест терминала и тест VKAH. Других хороших новостей пока нет :)

https://img-fotki.yandex.ru/get/55231/264743.4/0_b454b_57666f05_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738635)

Промежуточный результат -- что думает RT-11 5.3 про этот эмулятор:

https://img-fotki.yandex.ru/get/50936/264743.4/0_b4558_fa7fb310_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738648)

shattered
04.07.2016, 22:25
Заработала эмуляция КЦГД (см. соседнюю тему (http://zx-pk.ru/threads/18231-ktsgd-poisk-softa-voprosy-i-otvety/page12.html)) с прошивкой 181 + попутно стал проходить тест скорости:

https://img-fotki.yandex.ru/get/50260/264743.4/0_b458a_3903d323_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738698)

shattered
05.07.2016, 21:01
Вопрос ко всем эмуляторописателям -- как вы делаете регрессионное тестирование? Сейчас у меня 16 тестов, запускаю их руками и проверяю глазами, будет больше, руки устанут :)

Знаю, что в ukncbtl есть отдельный ukncbtl-testbench, но мне нужно что-то внешнее, и желательно под Linux.

nzeemin
05.07.2016, 21:19
Вопрос ко всем эмуляторописателям -- как вы делаете регрессионное тестирование? Сейчас у меня 16 тестов, запускаю их руками и проверяю глазами, будет больше, руки устанут :)

Знаю, что в ukncbtl есть отдельный ukncbtl-testbench, но мне нужно что-то внешнее, и желательно под Linux.

Вот блин а я как раз про свой testbench хотел рассказать :)
А как понять -- "внешнее"?

shattered
05.07.2016, 21:36
Нечто, что сможет запустить mame с нужными аргументами, "нажать" кнопки клавиатуры и gui, распознать изменения на картинке, сравнить результат с эталоном...

nzeemin
07.07.2016, 16:57
shattered, mame_regtest решил проблему?

shattered
07.07.2016, 20:37
Пока не пробовал, но кажется, он не умеет управлять машиной во время теста. Тогда придется пилить свое на встроенном lua. Например, для запуска speed.sav надо сначала включить, а потом выключить таймер, в mame это dip switch.

shattered
09.07.2016, 12:12
Пилю свое на Lua :)

https://img-fotki.yandex.ru/get/45443/264743.4/0_b459d_570ff35f_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/738717)

Код:



local w = 0.125

local lf = 10
local cr = 13

function k(ch, w) emu.keypost(ch) emu.wait(w) end

-- read memory
k('/', w)
k('^', w)

-- write memory
k(utf8.char(lf), w)
k('1', w)
k('7', w)
k('7', w)
k('7', w)
k('7', w)
k('7', w)
k(utf8.char(cr), w+w)

-- verify memory
k('/', w)

-- read registers
k('R', w)
k('0', w)
k('/', w)
k(utf8.char(lf), w)
k(utf8.char(lf), w)
k(utf8.char(lf), w)
k(utf8.char(lf), w)
k(utf8.char(lf), w)
k(utf8.char(lf), w)
k(utf8.char(lf), w)
k('R', w)
k('S', w)
k('/', w)
k(utf8.char(cr), w+w)

-- check halt reason
k('M', w+w)

manager:machine().screens[":rs232:terminal:terminal_screen"]:snapshot("regtest/ms1201/t1.png")
print ("")
emu.exit()

shattered
08.08.2016, 09:29
Тестов с тех пор стало больше, попутно починил разные поломки в драйверах, над которыми работал раньше.

Для ДВК надо делать шину и сажать устройства на нее, пока выкрутился тем, что в MAME есть симуляция Z80 daisy chain -- цепочки запроса прерывания к Z80 от Z80PIO, SIO, DART и прочего.

Для корректной работы КЦГД надо сделать эмуляцию ВП1-033 и посадить ее на шину, чтобы команда RESET сбрасывала состояние регистров на 033.

shattered
13.08.2016, 22:51
Еще тесты, которые можно погонять (сначала их надо найти, конечно) -- по книге Техническое обслуживание и эксплуатация МикроЭВМ «Электроника-60М» (стр. 42)

791401 Основной тест команд
791402 Тест арифметики
791403 Тест команд с плавающей запятой
791404 Тест прерываний
791405 Тест устройства И2 ["предназначено для подключения к МикроЭВМ 16-битных параллельных устройств ввода-вывода."]
791407 Системный тест [перфолента 8.842.006-06]
791323 Тест памяти
791325 Тест печатающего устройства
001101 Тест команд накопителя на магнитной ленте ИЗОТ 5003
001102 Тест временный соотношений НМЛ ИЗОТ 5003
001103 Тест обмена НМЛ ИЗОТ 5003
005101 Тест устройства последовательного обмена
012101 Тест дисплея
013101 Тест матричного печатающего устройства
014101 Тест интерфейса И4 ["интерфейс с НГМД на 8-ми дюймовых гибких магнитных дисках "Электроника ГМД-70"]
014102 Тест обмена с накопителем гибких магнитных дисках ГМД-70

shattered
01.09.2016, 09:59
замахнулся на УКНЦ и результат подает первые признаки жизни

как я понимаю, это самое начало общения ЦП и ПП -- "переключение клавиатуры в системный режим" и "вызов меню ЗАГРУЗКА"


[:channel] 0.626824 at ':maincpu' (172656): Channel 0 W [:channel] 3 <- 000000 & 177777
[:channel] 0.940113 at ':maincpu' (172656): Channel 0 W [:channel] 3 <- 000033 & 177777
[:channel] 0.940308 at ':maincpu' (172656): Channel 0 W [:channel] 3 <- 177675 & 177777
[:channel] 0.940373 at ':maincpu' (172656): Channel 0 W [:channel] 3 <- 000033 & 177777
[:channel] 0.940435 at ':maincpu' (172656): Channel 0 W [:channel] 3 <- 177674 & 177777


EDIT: картинка для привлечения внимания

https://img-fotki.yandex.ru/get/61164/264743.5/0_b4a78_99f862c_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/739960)

shattered
04.09.2016, 00:59
больше жизни:

https://img-fotki.yandex.ru/get/42925/264743.5/0_b4ab3_d4512657_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740019)

дальше надо писать вп1-128/вп1-097, пригодится и для двк тоже.

nzeemin
04.09.2016, 15:57
ЗдОрово, но что-то странный размер картинки -- 623 x 298.
Экран УКНЦ -- 640 x 288.

Alex_K
04.09.2016, 16:17
ЗдОрово, но что-то странный размер картинки -- 623 x 298.
Экран УКНЦ -- 640 x 288.
А откуда такой размер? У меня первая картинка 640 x 288, а вторая 640 x 306. У обеих картинок ошибка - сверху 18 линий, которые невидимы и относятся к обратному ходу луча по кадру.

- - - Добавлено - - -


дальше надо писать вп1-128/вп1-097, пригодится и для двк тоже.
Побыстрее написать интерфейс кассеты ПЗУ, а там что-то с неё и погонять можно.

shattered
04.09.2016, 16:44
640x306, да. лишние 18 строк отрежу потом :)

Пока пытаюсь прикрутить IDE по-быстрому, по ходу пьесы сортируя информацию по УКНЦ -- как водится, ее много, но разбросана широко.

Alex_K
04.09.2016, 16:53
Пока пытаюсь прикрутить IDE по-быстрому
Ну к контроллеру IDE всё равно надо кассету ПЗУ. Да и управление ПЗУ на контроллере IDE немного отличается. Там ПЗУ активируется только по сигналам CE0 и CE3, на CE1 и CE2 не реагирует.

- - - Добавлено - - -


по ходу пьесы сортируя информацию по УКНЦ -- как водится, ее много, но разбросана широко.
Да, это точно. Нормальной систематизации вроде никто не делал. Много есть у hobot-а в его хламничке, на emuverse перенесли листинги ПЗУ с комментариями и описание ячеек памяти ПП.

shattered
04.09.2016, 16:59
Полноценно ПЗУ подключить (с учетом контроллера IDE и переключения банков) -- надо повозиться (описать небольшую шину), пока что лень, поэтому будет хак :)

Сначала думал обойтись виртуальным диском HD:, но пока он не работает (так же, как было с МС1201) -- хотя по трассировке видно, что rt-11 грузится:

https://img-fotki.yandex.ru/get/54905/264743.5/0_b4ab8_94d023c8_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740024)

EDIT: Причина оказалась проста -- не до конца портировал уже работающий код эмуляции DL11 (генерация прерываний).

shattered
10.09.2016, 13:32
Заработали некоторые игры :)

https://img-fotki.yandex.ru/get/149948/264743.5/0_b4b98_282aa1ff_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740248)

Titus
10.09.2016, 15:58
Даешь правильное соотношение сторон!)

shattered
10.09.2016, 16:11
При работе оно правильное (4:3), только на скриншотах 1:1.

Любопытно, можно ли применить регистр ловушки для симуляции raster interrupts -- т.е. сработает ли он на обращение от контроллера графики?

Titus
10.09.2016, 22:08
При работе оно правильное (4:3), только на скриншотах 1:1.

Любопытно, можно ли применить регистр ловушки для симуляции raster interrupts -- т.е. сработает ли он на обращение от контроллера графики?

Нет, не 4:3. Это соотношение сторон монитора 4:3, а пропорции точек совсем иные.

А зачем такие лишние прерывания, если есть кадровые прерывания? Или ты хочешь еще и строчные сделать?

shattered
10.09.2016, 22:27
Пока не знаю, зачем :) Насмотрелся кина про демосцену C64 и задумался о вечном:


https://www.youtube.com/watch?v=So-m4NUzKLw

shattered
11.09.2016, 13:22
Lode Runner'2015 пока не работает как надо, хорошо, что есть исходник :-)

https://img-fotki.yandex.ru/get/145691/264743.5/0_b4ba4_2cd24333_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740260)

Для сравнения -- как надо: (картинка из статьи https://geektimes.ru/post/261074/):

https://habrastorage.org/files/1d3/d35/f41/1d3d35f4111c4f4c9e4324d8e285ea26.png

EDIT: осознал, что регистры адреса и данных планов 1-2 -- независимые на ЦП и ПП, картинка стала правильной.

shattered
15.09.2016, 00:34
Начал делать шину МПИ / Qbus; внутреннее устройство эмулятора теперь выглядит почти так, как на самом деле -- к консольному порту подключен терминал, в МПИ стоит КГД и их видеосигналы смешиваются.



% dvk64 ms1201 -rs232 ie15 -rs232:ie15:rs232 "" -qbus3 kgd -listdevices
Driver ms1201 (MS 1201.02):
<root> MS 1201.02
bankdev0 Address Map Bank
dl11 DL11 @ 4.60 MHz
maincpu K1801VM2 @ 4.00 MHz
pclk Timer
qbus Qbus
qbus1 Qbus slot
pc11 PC11
qbus2 Qbus slot
vhd Virtual Hard Disk
qbus3 Qbus slot
kgd DVK KGD
gfxdecode gfxdecode
palette palette
scantimer Timer
screen Video Screen @ 15.40 MHz
rs232 RS232 Port
ie15 IE15 Terminal
beeper Beep @ 2.40 kHz
gfxdecode gfxdecode
keyboard 15WWW-97-006 Keyboard
maincpu ie15 CPU @ 3.08 MHz
mono Speaker
palette palette
rs232 RS232 Port
scantimer Timer
screen Video Screen @ 15.40 MHz

shattered
21.09.2016, 22:43
Шина как-то работает, посадил на нее модуль ПЗУ и контроллер IDE (вариант WD; вариант Электронных Работ немного отличается -- регистры находятся в 1 банке, у WD -- в 3-м). Попробую сэмулировать один из электронных дисков, и любые другие устройства (на что найдется документация :) )

Alex_K
21.09.2016, 22:48
вариант Электронных Работ немного отличается -- регистры находятся в 1 банке, у WD -- в 3-м
Как это так? Оба контроллера аппаратно полностью идентичны, различаются только прошивкой ПЗУ. Да и не могут регистры находится в разных банках, т.к. контроллер сигналы CE1 и CE2 не обрабатывает.

shattered
21.09.2016, 23:32
Для меня это загадка, но простая замена прошивки без замены карты памяти не проходит :) В терминах MAME -- первый вариант для прошивки ЭР, второй -- для WD:



static ADDRESS_MAP_START( banked_map, AS_PROGRAM, 16, uknc_ide_device )
// bank 1
AM_RANGE (020000, 027777) AM_ROM AM_REGION("uknc_ide", 0)
AM_RANGE (030000, 030017) AM_READWRITE(read, write)
// bank 2
AM_RANGE (040000, 057777) AM_ROM AM_REGION("uknc_ide", 020000)
// bank 3
AM_RANGE (060000, 077777) AM_ROM AM_REGION("uknc_ide", 040000)
ADDRESS_MAP_END

static ADDRESS_MAP_START( banked_map, AS_PROGRAM, 16, uknc_ide_device )
// bank 1
AM_RANGE (020000, 037777) AM_ROM AM_REGION("uknc_ide", 0)
// bank 2
AM_RANGE (040000, 057777) AM_ROM AM_REGION("uknc_ide", 020000)
// bank 3
AM_RANGE (060000, 067777) AM_ROM AM_REGION("uknc_ide", 040000)
AM_RANGE (070000, 070017) AM_READWRITE(read, write)
ADDRESS_MAP_END

Alex_K
21.09.2016, 23:39
Для меня это загадка, но простая замена прошивки без замены карты памяти не проходит
Ну значит для контроллера IDE надо сделать такую карту памяти, чтобы её содержимое было одинаковое во всех четырёх банках. Да, именно в четырёх, т.к. может быть вариант CE1=0 и CE2=0 (банк 0).

shattered
22.09.2016, 00:42
Да, так и сделаю. Кстати, нет ли прошивок, снятых программатором? (для повышенной аутентичности :) )

shattered
26.09.2016, 08:47
Начал делать КЖД ДВК:

https://img-fotki.yandex.ru/get/97201/264743.5/0_b4ded_5da884a4_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740845)

Хорошо бы проверить на живых образах -- есть у кого такие? Образ диска с Демос 3.0 не слишком полезен -- он рассчитан на ВМ3, который не эмулируется.

Patron
26.09.2016, 18:10
Хорошо бы проверить на живых образах -- есть у кого такие?Вот посекторный образ RD50 c системой RT-11 v05.07 : V57.DW (http://emulator.pdp-11.org.ru/misc/V57.DW.zip)

shattered
26.09.2016, 21:08
Занятно -- ТО пишет, что перед чтением/записью слова в регистр данных нужно ждать "запрос данных 1", но похоже, так делает только начальный загрузчик, а DW.SYS -- нет. Или он рассчитывает, что пока данные не готовы, будет Trap 4?

Пойду разглядывать исходники (http://tis.kz/progs/dvk/DW-ALL.rar via http://zx-pk.ru/threads/26141-kontroller-dw-podklyuchenie-diskov-drajvera.html?p=855864&viewfull=1#post855864)

Patron
26.09.2016, 22:15
Занятно -- ТО пишет, что перед чтением/записью слова в регистр данных нужно ждать "запрос данных 1", но похоже, так делает только начальный загрузчик, а DW.SYS -- нет. Или он рассчитывает, что пока данные не готовы, будет Trap 4?
Дело ( похоже ) в том, что период готовности данных в КЖД короче, чем два цикла DATI, поэтому последовательные команды чтения регистра данных работают без проблем.



; MOV (R2)+,@R4 for write
; MOV @R4,(R2)+ for read
321$: MOV (R2)+,@R4
MOV (R2)+,@R4
MOV (R2)+,@R4
MOV (R2)+,@R4
MOV (R2)+,@R4
MOV (R2)+,@R4
MOV (R2)+,@R4
MOV (R2)+,@R4
SOB R1,321$

shattered
26.09.2016, 22:57
оукей. с диска что-то читается, но дальше я (снова) нарвался на прерывания (нужно делать так, чтобы VIRQ снимался только тогда, когда его сняли все устройства на шине). upd: сделал. было:


https://img-fotki.yandex.ru/get/42618/264743.5/0_b4e38_9530d28f_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740920)

https://img-fotki.yandex.ru/get/60436/264743.5/0_b4e39_c13bec13_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740921)


стало:

https://img-fotki.yandex.ru/get/114758/264743.5/0_b4e3b_49df65d5_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740923)

https://img-fotki.yandex.ru/get/98813/264743.5/0_b4e3c_a82aefa1_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/740924)

9727. блоков -- это меньше, чем размер образа 9792. -- остальное ушло на таблицу bad144, что ли?

shattered
30.09.2016, 22:45
делаю DX:

https://img-fotki.yandex.ru/get/41743/264743.5/0_b4f16_ac2f121a_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/741142)

если не найдется драйвера DW для ТМОС/XXDP, придется что-то из этого сэмулировать тоже:



12 DU .SYS 1-JAN-86 3 000431
16 MS .SYS 1-JAN-86 4 000445
20 MT .SYS 2-DEC-87 3 000457
23 DL .SYS 15-SEP-86 4 000464
24 DB .SYS 15-SEP-86 2 000470
25 DM .SYS 15-SEP-86 4 000472
26 DR .SYS 15-SEP-86 3 000476
27 MM .SYS 15-SEP-86 3 000501
28 MU .SYS 15-SEP-86 4 000504

Patron
30.09.2016, 23:37
если не найдется драйвера DW для ТМОС/XXDPСкорее всего - не найдётся.

Но есть ещё драйвер MY для ТМОС-2/XXDP2 : TMOS-2_MY.DSK (http://emulator.pdp-11.org.ru/XXDP/TMOS-2/TMOS-2_MY.DSK)

shattered
02.10.2016, 13:53
Пожалуй, HD будет сильно практичнее :)

Тесты DX проходят наполовину -- ZRXA и 014102 работают, ZRXB и 014101 проваливаются на переключении с записи на диск 0 на чтение с диска 1, очевидных причин пока не вижу. Сравнил с SIMH, но просветления не наступило (он заваливает оба теста).

https://img-fotki.yandex.ru/get/135076/264743.5/0_b4f33_a0c3f95b_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/741171)

https://img-fotki.yandex.ru/get/59572/264743.5/0_b4f36_8903aa94_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/741174)

Patron
02.10.2016, 14:25
Тесты DX проходят наполовинуКогда я отлаживал эмуляцию DX - очень помогли исходники тестов XXDP, например: MAINDEC-11-DZRXB-E-D_RX11-Interface-Diag_Apr76.pdf (http://bitsavers.trailing-edge.com/pdf/dec/pdp11/xxdp/diag_listings/RX11/MAINDEC-11-DZRXB-E-D_RX11-Interface-Diag_Apr76.pdf)

shattered
02.10.2016, 15:23
Да, это крайне полезная вещь (маленькая деталь -- это исходник предыдущей версии теста, более свежий -- AH-9341F-MC__RX11__RX11_INTFC__CZRXBF0__(C)74-79.pdf (http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/AH-9341F-MC__RX11__RX11_INTFC__CZRXBF0__(C)74-79.pdf)).

Записал трассу во встроенном отладчике MAME и уже вижу, где проблема: RTI по адресу 7220 иногда возвращает управление не туда. Осталось понять, как это чинить :)

Alex_K
02.10.2016, 15:47
RTI по адресу 7220 иногда возвращает управление не туда.
Судя по командам, он должен возвратить на 7222 с разрешенными прерываниями. А может после RTI сразу возникает прерывание?

shattered
02.10.2016, 16:15
Да, возникало. Причину нашел и починил (не было перехода конечного автомата в состояние ожидания):


[:qbus3:rx11] 13.585288 at (no context): RX11 Timer [:qbus3:rx11] fired 0 state 5
[:qbus3:rx11] 13.585302 at ':maincpu' (10762): RX11 R [:qbus3:rx11] 177170 == 000300 @ 126; state 5
[:qbus3:rx11] 13.585317 at ':maincpu' (10770): RX11 R [:qbus3:rx11] 177172 == 000146 @ 127; state 5 <- прочли последнее слово и выставили DONE, возникает прерывание
[:qbus3:rx11] 13.585317 at ':maincpu' (10772): IRQ ACK [:qbus3:rx11] vec 264
[:qbus3:rx11] 13.585358 at ':maincpu' (11560): RX11 R [:qbus3:rx11] 177172 == 000000 @ 127; state 5 <- прерывание обработано
[:qbus3:rx11] 13.585366 at ':maincpu' (11566): RX11 R [:qbus3:rx11] 177170 == 000140 @ 127; state 5
[:qbus3:rx11] 13.585400 at ':maincpu' (11622): RX11 R [:qbus3:rx11] 177170 == 000140 @ 127; state 5 <- еще раз выставили DONE (по ошибке)
[:qbus3:rx11] 13.585397 at (no context): RX11 Timer [:qbus3:rx11] fired 0 state 5
[:maincpu] VM2: RTI to 007222 (007222), 000000 (000000)
[:qbus3:rx11] 13.585797 at ':maincpu' (7222): IRQ ACK [:qbus3:rx11] vec 264
[:qbus3:rx11] 13.585837 at ':maincpu' (11560): RX11 R [:qbus3:rx11] 177172 == 000000 @ 127; state 5
[:qbus3:rx11] 13.585845 at ':maincpu' (11566): RX11 R [:qbus3:rx11] 177170 == 000140 @ 127; state 5
[:qbus3:rx11] 13.585879 at ':maincpu' (11622): RX11 R [:qbus3:rx11] 177170 == 000140 @ 127; state 5

shattered
03.10.2016, 10:08
Начал делать КНГМД (MX: ) (http://zx-pk.ru/threads/20541-kontroller-kngmd-dvk-(-mx-)-i-rabotayushchie-s-nim-programmy.html). Пока никакой работы с FM-потоком, только CSR :)

https://img-fotki.yandex.ru/get/30894/264743.5/0_b4f42_317b202d_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/741186)

Titus
03.10.2016, 10:23
Из-за неправильного соотношения сторон экранов в скриншотах скоро все люди на Земле привыкнут, что у терминалов широкоэкранные сплюснутые экраны)

hobot
03.10.2016, 19:55
Titus, это говоря Лермонтовским языком "фатализм", прочти (можно mp3) послушать роман "Я легенда!", только кино
с негром не смотри - он с книгой ничего общего не имеет )


что у терминалов широкоэкранные сплюснутые экраны)
А что в этом плохого то ? Это тебе они кажутся сплюснутыми, натяни на свои дюймы всё будет норм )))
Главное понятно что возврата к квадратным экранам нет, я вот почему бешусь твоего эмулятора,
КЦГД это хорошо, но каждый раз внешний вид рабочего окна заного кликать - вот что ужасно, поверь! )

Соотношение сторон на скринах целиком и полностью лежит на совести (и руках) публикатора скринов.
Мне например иногда просто лень обрабатывать картинку лишний раз (UKNCBTL), у эмуляторов БК
картинка просто 450х450 ))) А скрины из этой темы это вообще для иностранцев - пользователей
мэссов и (забыл второе слово).



Соотноше́ние сторо́н экра́на или Отноше́ние ширины́ ка́дра к высоте́ (англ. aspect ratio) — понятие в фотографии, кинематографе и телевидении, описывающее формат изображения. Один из основных параметров всех кинематографических систем и телевизионных стандартов.


:redface:

shattered
03.10.2016, 20:58
вот вам смешное видео, пока других скриншотов нет :)


https://www.youtube.com/watch?v=qmATeKwbNJM

hobot
03.10.2016, 22:40
shattered, встречный вопрос (в связи с заданным в разделе БК вопросом про софт для КУВТ86),
на каком этапе сейчас реализация и функциональность (эмуляции?) в MAME\MESS БК0010-01 и УК-НЦ, учитывая их специфику?

- - - Добавлено - - -


вот вам смешное видео
если не фейк с осциллографом - гениально ! )))

shattered
03.10.2016, 23:19
БК-0010/11 -- на никаком, делать ядро ВМ1 неразумно, не закончив ВМ2 (оно работает где-то на 90%). УКНЦ -- работает дюжина игр, остальные по-разному изломаны. Работы непочатый край -- было бы у кого желание пахать еще...

shattered
07.02.2017, 00:47
МС-0515 сделан на клоне T11 (КР1807ВМ1), но пусть тоже будет здесь :) (По следам Dr. Titus -- http://zx-pk.ru/threads/19698-emulyator-ms-0515-emustudio.html)

Диск dump-OSA.dsk (диагностика железа)
https://img-fotki.yandex.ru/get/223280/264743.6/0_b5c1f_ff6c91f_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/744479)

Диск System.dsk из комплекта EmuStudio
https://img-fotki.yandex.ru/get/198488/264743.6/0_b5c20_9c4cd65b_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/744480)

AlexG
07.02.2017, 01:10
оффтоп
Quake на осциллографе
https://geektimes.ru/post/243699/

Titus
07.02.2017, 01:13
МС-0515 сделан на клоне T11 (КР1807ВМ1), но пусть тоже будет здесь :) (По следам Dr. Titus -- http://zx-pk.ru/threads/19698-emulyator-ms-0515-emustudio.html)BASICO

Заработал ли в твоем эмуле интерпретатор бейсика BASICO?

shattered
07.02.2017, 01:42
эти дискеты (ARCSAV) пока не грузятся, еще не знаю -- почему.

Titus
07.02.2017, 02:18
эти дискеты (ARCSAV) пока не грузятся, еще не знаю -- почему.
У меня тоже не работают, почему не знаю)

nzeemin
09.02.2017, 14:45
БК-0010/11 -- на никаком, делать ядро ВМ1 неразумно, не закончив ВМ2 (оно работает где-то на 90%). УКНЦ -- работает дюжина игр, остальные по-разному изломаны. Работы непочатый край -- было бы у кого желание пахать еще...

shattered, можно открыть параллельно два эмулятора и идти по шагам, сравнивая поведение и содержание регистров.
Также советую посмотреть на ukncbtl_testbench -- можно повторить все эти тесты на MAME/MESS.

- - - Updated - - -



Диск System.dsk из комплекта EmuStudio
https://img-fotki.yandex.ru/get/198488/264743.6/0_b5c20_9c4cd65b_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/744480)
Saboteur 2 портирован на PDP11? Или это просто картинка сконвертирована?

shattered
09.02.2017, 21:39
shattered, можно открыть параллельно два эмулятора и идти по шагам, сравнивая поведение и содержание регистров.
Также советую посмотреть на ukncbtl_testbench -- можно повторить все эти тесты на MAME/MESS.


А лучше -- трассу исполнения :) testbench учту.


Saboteur 2 портирован на PDP11? Или это просто картинка сконвертирована?

Портирован, ага.

Titus
09.02.2017, 21:59
Saboteur 2 портирован на PDP11? Или это просто картинка сконвертирована?
В первом же посту есть скриншоты, а сами игры в теме - Эмулятор МС-0515 - EmuStudio (http://zx-pk.ru/threads/19698-emulyator-ms-0515-emustudio.html)

hobot
10.02.2017, 08:37
В первом же посту есть скриншоты, а сами игры в теме - Эмулятор МС-0515 - EmuStudio
Нда - только вот управление в игре отзывчивым не назовёшь, насколько я помню "недоделку" для УК-НЦ там герой
управлялся (реагировал на кнопки) более явно (внятно).
http://pic.pdp-11.ru/thumbs/cropimage.gif (http://pic.pdp-11.ru/?v=cropimage.gif)

shattered
12.02.2017, 16:05
Начал делать КНГМД (MX: ) (http://zx-pk.ru/threads/20541-kontroller-kngmd-dvk-(-mx-)-i-rabotayushchie-s-nim-programmy.html). Пока никакой работы с FM-потоком, только CSR :)


Все еще не работаю с fm-потоком, только с посекторными образами (конвертированными из сырых дампов). Буду их сортировать и выкладывать архивы потихоньку.

https://img-fotki.yandex.ru/get/50666/264743.6/0_b5c73_a4730f81_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/744563)
+
https://img-fotki.yandex.ru/get/194778/264743.6/0_b5c74_e279a742_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/744564)

hobot
12.02.2017, 17:05
Буду их сортировать и выкладывать архивы потихоньку.
СРАЗУ вопрос по первому скриншоту, что есть SL22.SAV - 49 блоков ?

shattered
12.02.2017, 17:14
хакнутый pacman -- "лабиринты власти" - "спортивно-оздоровительная игра кошки-мышки" :)

BYTEMAN
12.02.2017, 22:15
а что это за файловый менеджер такой хитрый?

shattered
13.02.2017, 00:15
SCE. есть тут -- http://zx-pk.ru/threads/13558-fajlovyj-menedzher-tipa-norton-dlya-dvk.html

На МС 0515 он выглядит немного по-другому:

https://img-fotki.yandex.ru/get/106972/264743.6/0_b5c7a_3d4bd1ff_orig.png (https://fotki.yandex.ru/next/users/shattered/album/137130/view/744570)