b2m, работает новая конфигурация, единственно, добавил строку "ramdisk2="Vector06c\vector2.edd"" в секцию "ramdisk2".
Вид для печати
b2m, работает новая конфигурация, единственно, добавил строку "ramdisk2="Vector06c\vector2.edd"" в секцию "ramdisk2".
Рад, что смог помочь.
b2m, заметил интересную особенность эмуляции Вектора: в некоторых программах индикатор "РУС" почему-то не работает, как на реале. Конечно, в этих программах он постоянно включается/выключается, но на реале эти кратковременные выключения незаметны, даже видимая яркость светодиода не уменьшается, а в эмуляторе он больше выключен, чем включён. Не замечали такое его поведение?
У меня нет реала, сравнить не с чем.
Прежде всего выражу восхищение эмулятором. Но возникло несколько вопросов:
1) проблемы с функцией "paste key macro". Игнорирует многие символы, например, скобки, кавычки, +, *, ... Некоторые символы заменяет, например, вместо равно приходит двоеточие, вместо точки-с-запятой - "собачка", ... Можно ли это как-то исправить правкой конфигурации? Работал с Корветом.
2) в полном дистрибутиве emu-2019 у Корвета нет поддержки работы с кассетами, но нашёл отдельную сборку, где такая поддержка есть. Посмотрел на разницу в конфигах и сделал поддержку кассет там, где её по умолчанию не было. Но без упомянутой отдельной сборки понять, что именно править в конфиге невозможно. Есть ли где-нибудь справка по конфигурационным файлам?
1. это была экспериментальная фича, но поскольку худо-бедно работала (эмулировала нажатия клавиш), то я её оставил. С Корветом не тестировал, если что и можно сделать, то поправить как-то layout.kbd, конфиг править смысла нет, это общая фича для всех эмулируемых компов.
2. справки по конфигам нет, времени на её создание тоже. Но есть люди, которые разобрались самостоятельно, по имеющимся примерам конфигурационных файлов.
Фича с клавиатурными макросами очень полезная. В эмуляторе БК gid что-то подобное работает хорошо. Пытаюсь разобраться с этим на эмулируемом Корвете. Всё получается просто, если клавиша на хосте работает напрямую без shift. А как задавать клавиши, которые на хосте идут через shift, например, круглые скобки или равно? У меня есть предположение, что в макросах есть какие-то специальные средства для указания на нажатие shift, а может и других модификаторов. Верно?
Аналогично совершенно непонятно, как на Корвете определяются клавиши нажатые с shift. Нажал, например, shift-6 и получил в Корвете значок & - как это задается? Должна быть какая-то табличка для модификатора shift? Самому с этим не разобраться. Надеюсь только на Вашу помощь.
Непонятно ещё, чем отличаются названия, начинающиеся с x- (x-up, x-left, ...), от названий, которые без x- в начале? Может это так называемые "серые" клавиши? В корветном лейауте таких нет, но они есть у других компьютеров.
Пробую также разобраться с кнопкой полной скорости. Сделал для Корвета в конфиг
main.ff.speed=10
main.ff.keymask[B]=1
и добавил строку из двух символов F9 (она получилась 11-й или В-й в 16-й системе) в конец файла layout.kbd и режим полной скорости заработал. Но что означают числа 10 и 1? Подскажите, пожалуйста. Взял эти числа копированием из конфигурации БК. Есть подозрение, что это не полная скрость, а 10-е ускорение...
Рассказываю, как дело было. Понадобилось мне для загрузки файлов, которые ассоциируются по расширению в emu.ext, после старта эмуляции симулировать нажатия клавиш. Например, набирать команду загрузки файла в Бейсике. Для Львова это выглядит примерно так (в файле emu.ext):
Однобуквенные названия клавиш из layout.kbd идут как есть, остальные заключаются в фигурные скобки. Кроме того, можно в фигурных скобках добавить -on/-off для симуляции одновременного нажатия.Код:lvt[0] : loader {
id="9:D0"
config="Lvov"
cmd[0].delay=1000
cmd[0].keymacro="BLOAD{lshift-on}22{lshift-off},R{enter}"
mode=5
}
В качестве эксперимента добавил возможность устанавливать макрос при вставке текста (заменив перевод строки и пробел на {enter} и {space}). Получилось то, что получилось.
По поводу x- клавиш: если в файле layout.kbd нет таких, то стрелки и другие клавиши доп.клавиатуры действуют одинаково. Ну чтобы не писать везде left|x-left right|x-right (то есть "или"). Иначе можно различать клавиши основной и доп.клавиатуры.
Числа в конфиге в основном шестнадцатиричные, то есть ускорение в 16 раз, а маска клавиши из 11-того ряда, 1 это самая левая в строке (самая правая будет 80)
Обнаружил возможно бага в эмуляции БК0011М. У меня не получается заблокировать клавишу СТОП через порт записи магнитофона. Команда
не работает, а с эмулятором gid работает. Хотя с эмулятором BK2010 тоже не работает - его автор признал, что не допилил. :(Код:mov #^B0001000010000000,@#^O177716
Вот тут недавно образы 8" дискет от СМ 1800 выложили, может удастся их запустить?
https://zx-pk.ru/threads/33253-diske...=1#post1118144
Уже скачал. CP/M запустился, но у меня BIOS жёстко прибит в нулевые адреса, надо с картой памяти разбираться.
Я пробовал, например, это - PPIDM sistema SI mart92.bin
L DOS - он грузит, но ошибка про версию MONID
А какой CP/M запустился?
У меня он работает без бэд блоков.
Обратите внимание, там в теме с образами они выложены два раза: превый раз образы с ошибками. Может из-за этого у Вас бэД сектор?
Да нет, я по второй ссылке скачивал. То запускается, то нет. А программы (например XDIR) вылетают в MONID, точнее даже не грузятся (я ставил бряк на 0100). Какие-то проблемы с эмуляцией.
Посмотрел, почему программы в CP/M не запускаются. Ну что сказать, неподходит этот MONID 1.3, он подразумевает, что перед буфером чтения будет 7 байт для заголовка, который читает контроллер дисковода (через ПДП). Драйвер находится ниже 0800, и если сектор должен считываться в эту область, то он сначала читается во временный буфер, который в этом CP/M находится впритык ко временному стеку (для обращения к биосу). Вобщем стек портится, возврат идёт на случайный адрес. Нужно искать "правильный" MONID (и возможно с другим контроллером дисковода). Там на дисках есть какие-то файлы с подобным названием, но их сначала как-то выцарапать нужно.
- - - Добавлено - - -
Если сдвинуть временный стек на десяток байт (для этого нужно после загрузки CP/M поправить пару байт), то CP/M работает нормально, все программы работают.
Выдрал с одного из дисков MONID 1.0
С ним ни CPM ни DOS не грузятся. Но, возможно, это заготовка MONID и там внутри надо что-то прописывать.
Посмотрю на досуге что в ПЗУ на плате. Вложение 75488
В том-то и дело что изначально в СМ1800 был контроллер дисковода на четырех 589ИК02. Типа как в Искра-226
Пока нагуглилось только магическое слово PLx45D5, но информации по нему нет.
Нет. Это магическое слово - это сами дисководы.
Да, вот кое-что: http://emuverse.ru/wiki/PLx45D.5 только это 5-ти дюймовый дисковод.
Про контроллер пока не нарыл.
С каких пор? Это два 8" на одном шпинделе.
- - - Добавлено - - -
Там такие устройства (одно из двух):
СМ 1800.5602 - это накопитель СМ5602 (как раз на упомянутом польском дисководе) плюс контроллер для СМ1800
СМ 1800.5635.09 - это накопитель СМ5635 (а это уже на болгарских) плюс контроллер для СМ1800
По ссылке открываем ТО. Ищем страницу 20 (по документу, не по файлу).
"Радиус дорожки 00 - 9,175 см", то есть диаметр дорожки = около 183 мм, что никак не влезает на 5.25"=133мм диск
- - - Добавлено - - -
Я бы предположил что вот это оно http://www.bitsavers.org/pdf/intel/M...ence_Jun79.pdf
C базовым адресом 78h
Значит надо искать 1.2
Хотя может мы неправильно понимаем причину.
с диска blank.bin все программы запускаются. Хотя монитор тестов (MONT) если не находит тестов на диске - ругается, а при их наличии (как сейчас в образе) непрерывно выдает на экран много раз "выберите тест...." и игнорирует нажатие на клавиатуру.
Беглый анализ кода показал, что контроллер самый простейший, типа как в Радио-86РК, умеет только читать/писать байты дорожки, с синхросбоем или без, ну и головку туда-сюда двигать. Принцип понятен, можно эмуль допиливать.
А есть уверенность что это надо? Всё-таки такой контроллер видимо самый-самый ранний. Я на выходных попробую достать свои платы от 1800 и посмотреть что там зашито.
Только у меня процессор для 1800 уже тот, который в 1810 ставился, не с одной, а с четырьмя РФ2.
- - - Добавлено - - -
Ну и странно что какие-то диски нормально с MONID 1.3 работают, а какие-то (с самым обычным DOS) выпендриваются.
Не особо верится что была такая несовместимость по версиям MONID
Судя по тому, что почти на всех дисках в первых секторах есть догружаемая часть MONID 1.0, то эмуляция контроллера дисковода, который использовался с этой версией монитора, мне кажется нужна. Версия 1.3 ничего не догружает, а вот 1.0 при обращении к диску загружает первые сектора в область 0С00 и обращается к ним. Так что все диски, скорее всего, использовались на компьютере с версией 1.0.
- - - Добавлено - - -
Не, ну 1810 это уже 8086. Предлагаешь разобраться с контроллером дисковода для 1810? А смысл?
Не-не. Я не это предлагаю. Просто я к тому что процессоров с СМ1800 было несколько разных. Первый см1800.2201, а потом .2202.xx еще девяти видов. И у меня есть только последний .2202.09, так что не факт что в ПЗУ будет то что нужно. А я смогу только в выходные глянуть. И у меня есть еще дискеты, тоже надо глянуть есть ли там везде monid 1.0 в начале, потому что по маркировке у меня дискеты частично такие же. Вполне могла быть более новая версия под другой monid
Ну и, в принципе, для меня всегда было загадкой как 1810 работает в режиме 1800. То есть по факту в 16-битной машине стоит 8-ми битная плата процессора. Как она общается с 16-ти битной периферией, как идет выбор и понимание что мы сейчас грузим систему для см1800, а не для 1810....Но это уже не про эмуляцию 1800
dk_spb,
На шине S100 есть плата, которая состоит из 2 процессоров 8085 и 8088.
Так и СМ1810 наверное так же организовано, тем более что и шины почти одинаковы.
L Juriy, Меня больше волнует конкретная реализация. Вот соберу я 1810 с платой 1800. Как мне запустить DOS1800, а не DOS1810?
В описании сказано что поддерживаются обе. А документации вообще никакой нет на эту тему. То есть теоретически она была, а по факту - недоступна.
dk_spb,
Увы и ах, но я СМ1810 в глаза не видел, так что более конкретно ничего подсказать не могу.
Вот тут не смотрел?
L Juriy, Смотрел, конечно. Жаль, будем искать ;-)
- - - Добавлено - - -
Ну да, уже несколько иначе всё. Вот четыре РФ2 с процессорного модуля МЦП-1 (СМ1800.2202.09 на основе ИК80А). Подписаны русскими буквами (слева направо) Г, В, Б, А.
http://oldpc.su/0/12.rar
Вроде как Г сидит в F800-FFFFh и является монитором, но уже совсем другим.
У меня еще есть несколько таких процессорных модулей, но вероятность что в них другое содержимое - невелика
НУ немного посмотрел выложенные диски и пришел к некоторым умозаключениям.
Те диски которые помечены как DOS, по буржуйским прототипам есть ISIS от ALTAIR, только изменены названия ISIS на DOS.
Эмулятор ALTAIR есть в SIMH, Там же есть в исходниках эмулятор дисков для него. Это информация к размышлению.
Я попробовал подсунуть диски под SIMH но он "собака" подвисает намертво. На образах дисков от ISIS он оказывается тоже виснет.
Вот такие эксперементы.