Просмотр полной версии : Эмулятор Партнёр-01.01
Решил понастальгировать: поискать свои программы.
Нашёл одну, но не смог в неё поиграть на существующих эмуляторах. Может просто не нашёл, но написал свой эмулятор.
Прошу потестировать и написать замеченные ошибки и пожелания.
Загрузка программ по команде I.
С эмулятором прилагается моя программа, которую нашёл. Может у кого то найдутся ещё мои программыц - был бы очень признателен.
В моём (http://bashkiria-2m.narod.ru/files/emu.rar) работает (нужно только помнить, что функциональные клавиши у меня расположены на доп. цифровой клавиатуре). Но! Наблюдаются артефакты переключения знакогенератора. Судя по всему, у меня не совсем правильно это реализовано. Хорошо, что нашлась программа, активно использующая эту фичу Партнёра.
З.Ы. Кстати, нашёл у себя этот пасьянс, но с рекламной вставкой:
Приятно познакомиться с автором эмулятора, который поддерживает много платформ. Помимо программного труда - это надо было найти все описание на структуры схемных решений, прошивки и хорошо разбираться в работе применяемых процессоров.
По поводу вставки рекламы - в то время немало кто зарабатывал на копировании программ. Для борьбы с такими я реализовал автозапуск программ при считывании + другие "фишки" и записывал свои программы сам. Но похоже благодаря этому некоторые программы теперь совсем не найдутся 8(
TWN, что то вот такое есть
http://arendatr.chat.ru/
Приятно познакомиться с автором эмулятора
А из Руссофта кого-нибудь знаете? Дмитрия Прокудина, Алексея Ерёмкина (и его брата) например.
У меня в эмуляторе есть поддержка МЦПГ и дисковода (загружаться командой монитора E2 и включить цветной режим). Там на диске есть несколько их игр, может и своё найдёте.
В Руссофте было два брата. Когда писались программы - встречались, но к сожалению потом контакты потерялись. Хорошо знаю Прокудина Дмитрия, Ряжских Александра (оба из BSC, в студии был третий - Борман - но я его знал мало). С Пчёлкиным Леонидом некоторое время поддерживали связь. С Saggit встречались несколько раз. С Матюшиным Сергеем (MVG) дружим до сих пор.
Нашёл ещё одну свою: Sokoban 8)
Нашёл в своём эмуляторе две ошибки эмуляции кодов процессора. Исправил. Вроде работает. Хотя на 100% не уверен. Особенно в команде DAA. Не нашёл однозначного описания.
Буду признателен - если найдёте ещё ошибки в его работе.
https://github.com/begoon/i8080-core
это коре 8080
там внутри есть набор тестов которые тестироуют правильность эмуляции
Запутался я атрибутами ВГ75. У кого и какие атрибуты затрагивают предыдущий символ? У меня почему-то в Партнере сдвигались и этот пасьянс немного некорректно выбирал фонт.
---------- Post added 08.03.2015 at 00:00 ---------- Previous post was 07.03.2015 at 23:52 ----------
И коль речь зашла о Партнере. На вышеприведенном ресурсе есть такое:
CP/M-50Kb
Используются двухсторонние диски по 800Кб: 80 дорожек, 5 секторов на дорожку, 1024 байт в секторе. Дорожки 0 и 1 отведены под систему.
Данная версия использует максимум доступной памяти, разрешение экрана 25х80 символов и является вполне стандартной CP/M.
Ну, во-первых, сохранился ли у кого-то образ такой дискеты. И во-вторых, 25x80 это художественное преувеличение или через mcpg малочитаемым фонтом реализовано?
Запутался я с атрибутами ВГ75. У кого и какие атрибуты затрагивают предыдущий символ?
Всё зависит от того, какая схема реализована после ВГ75, как используются её выходы. На чтение из знакогенератора обычно отводится несколько тактов, а чтобы вывод менялся синхронно с выходами ВГ75, это время обычно делают равным ширине символа, т.е. знак смещён на одно знакоместо вправо. В зависимости от того, задерживаются ли другие сигналы ВГ75 получаются различные результаты.
Ну, во-первых, сохранился ли у кого-то образ такой дискеты.
Всё есть в моём эмуляторе на моём сайте. Загружаться с диска в моём эмуляторе из монитора - команда E2.
Всё зависит от того, какая схема реализована после ВГ75, как используются её выходы.
Теорию я понимаю, меня интересует практика. Что конкретно задерживается в РК/Микроше/Апогее и Партнере.
Всё есть в моём эмуляторе на моём сайте. Загружаться с диска в моём эмуляторе из монитора - команда E2.
Нашел там два диска, на обоих CP/M 28K...
Наблюдаются артефакты переключения знакогенератора.
Сейчас просто поменял в конфиге строчку mode=0 на mode=2 - артефакты исчезли.
---------- Post added at 21:35 ---------- Previous post was at 21:14 ----------
Теорию я понимаю, меня интересует практика. Что конкретно задерживается в РК/Микроше/Апогее и Партнере.
Это схемы смотреть надо. У меня в эмуляторе для этих фич в конфиге у ВГ75 есть параметр mode, бит D0 означает задержку сигнала LTEN, который используется для формирования курсора (вариант по-умолчанию, с лёгкой руки создателей РК реализовано почти везде). В Партнёре как раз отсутствует. Бит D1 означает задержку других атрибутов (инверсия, повышенная яркость и два атрибута общего назначения). В Партнёре атрибуты используются для выбора ЗГ и переключения на вывод МЦПГ. В Апогее и Юниоре (а теперь оказывается и в Партнёре) есть задержка атрибутов, в отличие от остальных.
Нашел там два диска, на обоих CP/M 28K...
Действительно. Не обращал раньше внимания.
---------- Post added at 21:43 ---------- Previous post was at 21:35 ----------
По поводу артефактов: посмотрел схему Партнёра - инверсия не задерживается. Придётся доделывать параметр mode, чтобы задержкой инверсии можно было отдельно от других атрибутов управлять...
b2m, спасибо, переделал у себя. Но остались вопросы с инверсией. Допустим на Апогее. Как правильно должно выводиться:
90 61 70 6F 67 65 6A 20 62 6B 2D 30 31 20 80
У тебя они по разному выводятся на ц/б и цветном варианте. И мне кажется, что как минимум в цветном варианте, неверно. Не могу сейчас проверить...
Остался вопрос по формированию нереализованной в РК "псевдографики". Я посмотрел как выводит Апогей и сделал у себя тоже самое. А как правильно сделать для РК/Микроши и Партнера?
Кстати, заметил, что у тебя не реализован цвет фона в МЦПГ.
b2m, спасибо, переделал у себя. Но остались вопросы с инверсией. Допустим на Апогее. Как правильно должно выводиться:
90 61 70 6F 67 65 6A 20 62 6B 2D 30 31 20 80
У тебя они по разному выводятся на ц/б и цветном варианте. И мне кажется, что как минимум в цветном варианте, неверно.
Это из-за отсутствия информации "как должно быть". Вообще, делать точно так как у меня - не совсем правильно. В моём эмуляторе многие игры выглядят "нормально", но это не означает, что эмуляция 100% точная.
Остался вопрос по формированию нереализованной в РК "псевдографики". Я посмотрел как выводит Апогей и сделал у себя тоже самое. А как правильно сделать для РК/Микроши и Партнера?
Насколько я помню, в Партнёре (имел возможность в своё время поэкспериментировать) псевдографика точно есть. Хотя, возможно я перепутал тогда наличие разных знакогенераторов и наличие псевдографики.
Кстати, заметил, что у тебя не реализован цвет фона в МЦПГ.
Можно поподробнее, как должно быть?
---------- Post added at 13:28 ---------- Previous post was at 13:25 ----------
Кстати, в Апогее вроде должно быть всё верно, vinxru делал тест, прогонял его на реале, а я допиливал эмулятор, чтобы было точно также.
Это из-за отсутствия информации "как должно быть". Вообще, делать точно так как у меня - не совсем правильно. В моём эмуляторе многие игры выглядят "нормально", но это не означает, что эмуляция 100% точная.
Вообще я ориентируюсь на свой цветной Апогей БК-01. А вот скажем Партнера 01.01 у меня никогда не было, да и никогда и не будет. Поэтому приходиться разбираться в той немногой информации, какую удалось разыскать, да и анализом работы разных приложений как в моем эмуляторе, так и в других, в частности в твоем. Никаких сдвигов атрибутов в цветном Апогее нет (хотя правильнее сказать наоборот), но реализовать сей процесс хочется. :)
Можно поподробнее, как должно быть?
Из доки (копия у тебя на странице) "7.2.3. Использование знакогенератора МЦПГ в прикладных программах":
После этого можно работать со знакогенератором МЦПГ (два набора символов, два атрибута изображения - подчеркивание и мерцание, управление фоном), а также со штатным знакогенератором МВЦ. Переключение в нужный режим производится посредством записи в видеоЗУ МВЦ байта управляющего кода, назначение битов которого приводится на рис. 3.
Биты П и М, установленные в 1, включают соответствующие атрибуты изображения, а установленные в 0 - выключают. Бит НБ, установленный в 0, позволяет работать с первым набором знакогенератора МЦПГ, установленный в 1 - со вторым набором. Выбор фона осуществляется битами Ф1, Ф2, Ф3 в соответствии с табл. 3. Действие управляющего кода распространяется до появления следующего кода (в границах видеоЗУ). В видимой части видеоЗУ управляющий код отображается пробелом.
Соответственно один из цветов знакогенератора не черный, а имеет цвет фона. Программы этим пользуются, хоть и кривовато раскрашивают, но раскрашивают.
Кстати, в Апогее вроде должно быть всё верно, vinxru делал тест, прогонял его на реале, а я допиливал эмулятор, чтобы было точно также.
Цветной или черно-белый? Сейчас подключил цветной, инверсия действительно выглядит правильно. Но заменил код 90 на A0 - на Апогее подчеркнутым стало то, что было инвертировано, у тебя в эмуляторе и само поле атрибута. В эмуляции черно-белого какой-то странный артефакт в родном тесте. Повышенная яркость раньше инверсии. Не похоже, что так и должно быть.
Соответственно один из цветов знакогенератора не черный, а имеет цвет фона.
В своё время я не разобрался с цветом фона (эксперименты давали неожиданные результаты), а сейчас перечитал - вроде всё понятно. Надо будет снова попробовать доделать.
Цветной или черно-белый?
Цветной.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot