PDA

Просмотр полной версии : Эмуляторы отечественных компьютеров



isilva
25.09.2010, 09:58
Небольшая коллекция отечественных эмуляторов и игр собранная за последние лет 10 , большую часть которой скорее всего можно найти в интернете, надеюсь будет полезна.

https://yadi.sk/d/0yMk5qfbm22Yv

KokaF77
29.11.2010, 10:28
Дабы не плодить темы пишу сюда...

Создатели эмуляторов, поделитесь, пожалуйста соображениями. :)
По какому принципу строятся данный программный продукт.
Может есть какие-то полезные ссылки по данной тематике.
Интересует мат часть и все сопутствующие моменты...
В целях самообразования. :v2_wink2:

b2m
29.11.2010, 12:16
Принцип простой, начни с процессора. Это просто интерпретатор байт-кода. А дальше втянешься :)

KokaF77
29.11.2010, 12:24
b2m, Может ткнёте пальцем на пару-тройку каких-нибудь открытых проектов. Оно то на конкретных примерах учиться нагляднее. :v2_wink2:

b2m
29.11.2010, 12:45
Корвет (http://pk8020.narod.ru/Files/korvet-v092-src.zip) С++
БК-0010 (http://boulder-dash.narod.ru/bk_emulator/sources.html) С++
Специалист-МХ (http://avsh-soft.by.ru/emulator/download/spmx_v4xp.zip) Паскаль

И это только по тем ссылкам, что у меня на сайте. А нагуглить можно гораздо больше. Но я бы рекомендовал сначала самому попробовать, так интереснее. А чужие исходники интересны лишь тем, что там можно найти информацию по портам, раскладке памяти, формате видео-экрана и др. ценную информацию об эмулируемом компьютере.

Ramiros
29.11.2010, 12:46
Выделяеш память 65536 байт, это типа ОЗУ, береш книгу по процессору (например КР580ВМ80) и делаешь чтобы он читал коды команд из ОЗУ и выполнял их в соответствии с инструкциями, далее делаешь эмуляцию видеоконтроллера и т.д.

Я свой эмулятор писал с нуля, все что там есть написано мной от и до, единственное исключение - я позаимствовал модуль Z80 но и тот перелопатил и прибил кучу багов.

b2m
29.11.2010, 12:53
Я свой эмулятор писал с нуля, все что там есть написано мной от и до, единственное исключение - я позаимствовал модуль Z80 но и тот перелопатил и прибил кучу багов.
Абсолютно аналогично :) Разве что, в заимствованном Z80 не было кучи багов.

KokaF77
29.11.2010, 13:20
b2m, Ramiros, СПАСИБО! :)

esl
29.11.2010, 16:14
Корвет (http://pk8020.narod.ru/Files/korvet-v092-src.zip) С++

там не C++, а просто С :)

b2m
29.11.2010, 16:24
там не C++, а просто С :)
Ну и чудненько :)

Error404
29.11.2010, 17:17
Корвет (http://pk8020.narod.ru/Files/korvet-v092-src.zip) С++
БК-0010 (http://boulder-dash.narod.ru/bk_emulator/sources.html) С++
Специалист-МХ (http://avsh-soft.by.ru/emulator/download/spmx_v4xp.zip) Паскаль

И это только по тем ссылкам, что у меня на сайте. А нагуглить можно гораздо больше. Но я бы рекомендовал сначала самому попробовать, так интереснее. А чужие исходники интересны лишь тем, что там можно найти информацию по портам, раскладке памяти, формате видео-экрана и др. ценную информацию об эмулируемом компьютере.

Также, существуют целые библиотеки для эмуляции "покорпусно" - типа таймеров, параллельных и последовательных портов и т.п. Я считаю, нужно такое просто заимствовать, т.к. считаю процесс эмулирования чипов малоинтересным, куда как интереснее слепить "из кубиков" уже целевую машинку и посмотреть как она запищит.
К сожалению, такое мне попадалось в-основном на C (я сам использую Паскаль, и приходится аналогичное либо писать с нуля, либо портировать), поэтому ссылки не сохранил. Но думаю, легко прогуглится.

KokaF77
29.11.2010, 17:49
Error404, а искать в каком контексте?

---------- Post added at 16:49 ---------- Previous post was at 16:21 ----------


Cтраничка эмулятора Орион-128/Z80:
Спасибо! Посмотрел, правда, бегло... Буду пытаться-разбираться... Pascal не совсем обожаю, но при необходимости, приходится дружить и с ним. :)

Error404
30.11.2010, 11:18
Error404, а искать в каком контексте?

---------- Post added at 16:49 ---------- Previous post was at 16:21 ----------


Спасибо! Посмотрел, правда, бегло... Буду пытаться-разбираться... Pascal не совсем обожаю, но при необходимости, приходится дружить и с ним. :)

Мне попадалось в исходниках каких-то импортных многоплатформенных эмуляторов 8-битных машинок (толи MES, толи FUSE, возможно в Unix-реализациях). Поскольку эмулировалось много платформ, у авторов много модулей были скомпонованы по-элементно (соответствующе корпусам мсх)

KokaF77
30.11.2010, 11:26
Мне попадалось в исходниках каких-то импортных многоплатформенных эмуляторов 8-битных машинок (толи MES, толи FUSE, возможно в Unix-реализациях). Поскольку эмулировалось много платформ, у авторов много модулей были скомпонованы по-элементно (соответствующе корпусам мсх)
Буду искать... Если попадётся на глаза, киньте, пожалуйста, ссылочки.

esl
30.11.2010, 12:19
Буду искать... Если попадётся на глаза, киньте, пожалуйста, ссылочки.

(Multi Emulator Super System), (http://www.mess.org/)

b2m
30.11.2010, 12:50
Ага, MESS, ню-ню. Представляю, сколько потратит усилий начинающий эмуляторописатель, чтобы разобраться, что там, и как. :)

nzeemin
30.11.2010, 14:09
Создатели эмуляторов, поделитесь, пожалуйста соображениями. :)
По какому принципу строятся данный программный продукт.
Может есть какие-то полезные ссылки по данной тематике.
Интересует мат часть и все сопутствующие моменты...

Для начала советую взять исходник эмулятора машинки которую хорошо знаешь на языке в котором прекрасно ориентируешься. Разобраться что там к чему. Готовых эмуляторов сейчас велико множество и многие из них с открытым кодом. Большая часть из них написана на C и C++.

Допустим берёшься за свой проект. Начинается обычно с эмуляции процессора -- задача добиться исполнения команд, получить этакий "шагающий экскаватор". Обычно на этом этапе уже нужна хоть какая-то реализация памяти. Дальше улучшаешь работу с памятью, и добавляешь эмуляцию видео -- задача получить картинку. Затем реализуешь клавиатуру. Потом прочий ввод/вывод -- звук, магнитофон, флопповод, жёсткий диск.

Очень полезны бывают отладочные инструменты: встроенный дизассемблер, отладчик с функциями шага и прогона до точки останова. Такие вещи позволяют намного меньше ползать по отладчику в среде разработки.

Открытые проекты в которых я участвую:
http://code.google.com/p/ukncbtl/ -- эмулятор УКНЦ (процессор 1801ВМ2) на C++, интерфейс на Win32 и под Qt
http://code.google.com/p/bkbtl/ -- эмулятор БК-0010 на C++, интерфейс под Win32, Qt, SDL
http://code.google.com/p/nzeemin-opensrc/source/browse/#svn/trunk/dingoo/VectrexSdl/src -- эмулятор консоли Vectrex на C, интерфейс на SDL -- порт для Dingoo A320

Ссылки:
- http://plg.lrn.ru/doc/emu-howto.html -- статья Марата Файзуллина, довольно поверхностная
- http://aarongiles.com/?p=137 -- CPU Scheduling in MAME -- серьёзная статья о принципах эмуляции в MAME

KokaF77
30.11.2010, 18:46
Большая часть из них написана на C и C++.
А это, то что надо. :)

micko
08.12.2010, 17:25
If any of you is interested in contribution to MESS please just contact me.

Working on MESS (and MAME) for more then 3 years now, and did some structural changes there so I am aware of how it works, so if there are some questions that I can help please let me know.

Also I did addition of some old Russian computers but they still need improvements, I am not so good at reading Russian language,so that is biggest problem so far :)

osa
08.12.2010, 18:52
no problem, write the questions in English. We will respond

nzeemin
09.12.2010, 13:19
If any of you is interested in contribution to MESS please just contact me.

Working on MESS (and MAME) for more then 3 years now, and did some structural changes there so I am aware of how it works, so if there are some questions that I can help please let me know.

Also I did addition of some old Russian computers but they still need improvements, I am not so good at reading Russian language,so that is biggest problem so far :)

That's interesting.
Can you point me to some introducing tutorials about MAME/MESS development? I use Windows and has some experience with cygwin, if it's matter.

Also, what can you say about emulation state of Russian/Soviet machines in MESS?
I see bk and uknc drivers in the MESS repository, and according to the wiki bk works fine (as bk0010/bk001001 with t11 CPU), but uknc doesn't work.
http://mess.redump.net/mess:drivers:bk
http://mess.redump.net/systems:uknc

I think, I can help with uknc driver in MESS -- maybe even with coding.

micko
09.12.2010, 18:05
Well I suggest next.

1. Download http://mamedev.org/downloader.php?file=tools/mingw-mame-20100102.exe from http://mamedev.org/tools/ page
2. Use tortoisesvn to download code from svn://messdev.no-ip.org/mess/

3. Compile
(if you have 64 env here is example)

set path=c:\mingw\mingw64-w64\bin
make TARGET=mess SYMBOLS=1 DEBUG=1 -j6

you can change location to 32bit tools if needed or you have 32bit system
set path=c:\mingw\mingw64-w32\bin

4. To collect roms you can easy find them over net (on popular torrent sites there are always full collections). But for Russian machines think there will be no issues, since most I took from this site :)

5. MESS have integrated debugger, yuo can enable it using menus or if started with commandline use -debug param.

Good thing is that SDL build is part of MESS/MAME so you do not have compatibility issue.
I did BK driver time ago, and it is working fine, even loads from tape (WAV files) but did not had time to add disk support, since I was willing to do it same as you did in your emulator.
UKNC is just skeleton driver so nothing is there, it just load rom and that is it.

To learn about MESS/MAME it is best to take some (existing skeleton driver) and try to improve it, and if you know some other machine have similar/same hardware then you take a look how it is implemented there and go step by step.

It is also good practice that if there is some working "driver" that you are aware of (some machine you know about) then you can see how things are mapped and use it in other places.

For sure it takes a time to get into how it all works, but at the end you will see that it is quite flexible and some things are there out-of-box so it is easy to do some machines at least.
Also if there are questions, you can asked them here or at : http://www.bannister.org/forums/ubbthreads.php?ubb=postlist&Board=1&page=1 forum.


Guess this is enough for begining.

micko
21.01.2011, 12:33
Just to update that location for forum is now : http://forums.bannister.org/ubbthreads.php?ubb=postlist&Board=1&page=1

Also if there are some questions please let me know and I will see to answer shortly.

Valeriy
09.06.2011, 15:08
b2m, Может ткнёте пальцем на пару-тройку каких-нибудь открытых проектов. Оно то на конкретных примерах учиться нагляднее. :v2_wink2:

Эмулятор Радио РК-86 на Дельфи

http://musson.zbord.ru/viewtopic.php?t=77

NEO SPECTRUMAN
03.02.2012, 19:00
А никто не подскажет где взять эмулятор Электроника-60 и тетрис к нему?

Patron
08.02.2012, 22:19
А никто не подскажет где взять эмулятор Электроника-60 и тетрис к нему?В приложении (http://zx.pk.ru/attachment.php?attachmentid=32889) - мой недоделанный "эмулятор ДВК" с несколькими игрушками на системном диске, включая Тетрис.

http://s1.hostingkartinok.com/uploads/images/2012/02/45df21d5c71a2bc3e9b7e958b1e259c1.png

hobot
09.02.2012, 23:25
Patron, здесь кроме "ТЕТРИСА" есть какие-то существенные изменения в самом эмуляторе или диске системном (после 1917 сборки-апдейта) ?

Patron
10.02.2012, 00:14
здесь кроме "ТЕТРИСА" есть какие-то существенные изменения в самом эмуляторе или диске системном (после 1917 сборки-апдейта) ?19-17 - это время ( полностью "версия" сборки определяется датой и временем ).

...

Для обычной работы только одно изменение - нужно найти во всех *.cfg файлах от старых версий строчки:



Config + Timer_Button + CPU
Config + HALT_Button + CPU


и заменить их на



Config + Timer_Button + bus
Config + HALT_Button + bus


...

Кстати, похоже, что этот Тетрис - тот самый первый Тетрис для Электроники-60. Дело в том, что при точной эмуляции быстродействия 1801ВМ1 - он идёт примерно в 1.5 раза быстрее, чем надо (т.е. на медленном процессоре Э-60 он должен идти с правильной скоростью).

Если выставить быстродействие 0.125 .. 0.150 MIPS - всё приходит в норму.

hobot
10.02.2012, 01:38
что то у меня с последним архивом проблемы (((
отказывается запускаться... то есть после запуска эмуляции просит закрыться(свернуться)
http://savepic.net/2435896m.png

Titus
10.02.2012, 06:03
У меня так же вешается.

Patron
10.02.2012, 10:59
что то у меня с последним архивом проблемы
У меня так же вешается.Ошибка была довольно зловещая. При копировании структуры - один из членов не копировался, но при ненулевом значении использовался как указатель :)

...

В приложении - исправленная версия (http://zx.pk.ru/attachment.php?attachmentid=32922).

Titus
10.02.2012, 17:17
В приложении (http://zx.pk.ru/attachment.php?attachmentid=32889) - мой недоделанный "эмулятор ДВК" с несколькими игрушками на системном диске, включая Тетрис.
Скорее доделывай КГД и КЦГД. А то что это за ситуация, только 2 графических игрушки под КЦГД, не считая кривосмасштабированных обычных ч/б Land'ов. Так хоть может НАКОНЕЦ-то у людей будет стимул искать графический софт. А то что-то уж очень инертно в этой области.

hobot
10.02.2012, 17:36
Цитата:
Сообщение от Patron Посмотреть сообщение
В приложении - исправленная версия.
Вложения
Тип файла: rar DVK_Emulator_10.02.12_14-18.rar (573.9 Кб, 4 просмотров)
полёт нормальный !!! И тетрис есть ))) Кто там тетрис хотел )))

Единственное замечание, там в default.cfg прописан HD1, в архиве его нет!!!
Это не страшно и на запуск не влияет, просто напишет " не найден " при старте эмулятора.

Patron
10.02.2012, 17:40
Скорее доделывай КГД и КЦГД.Обсуждаемый эмулятор пишется как "наглядная иллюстрация" разрабатываемого мною модульного API эмуляции.

Отсюда следующие проблемы:

1. API "поток видео" - далеко не самая важная часть модульного API.

2. Нет смысла эмулировать источники потока видео ( т.е. видеоконтроллеры ), пока не написан "универсальный монитор видео".

Если в любом конфигурационном файле эмулятора подставить консоль в качестве приёмника байтового потока (вместо универсального терминала), то сразу станет понятно, почему перед написанием эмулятора последовательного порта DL11 - был написан эмулятор универсального терминала :)

Кстати, если при этом не отключать от потока байтов терминал - можно запускать игрушки и наблюдать на консоли "дамп потока байтов".

3. При эмуляции КГД нужно одновременно эмулировать источник "тексто-графического" видеосигнала ( например - КСМ ).

4. Для эмуляции КЦГД нужно эмулировать шину 1801ВМ2 ( т.е.плату МС1201.02 ).

hobot
10.02.2012, 17:41
ссылка на последнюю исправленную версию эмулятора ДВК ( с тетрисом и убранным из дефолта hd1) в архиве софта - отсюда (http://pdp-11.org.ru/~hobot_lmb/EMULATORS/DVK/DVK_Emulator_1002121418.rar)!

Patron
10.02.2012, 17:41
Единственное замечание, там в default.cfg прописан HD1, в архиве его нет!!!Вот до чего доводят запуски SPACE.SAV с HD1 :)))

hobot
10.02.2012, 17:42
Вот до чего доводят запуски SPACE.SAV с HD1 :)))
я в хламничек выложил с поправленным дефолтом ))) пост чуть выше получился )))


ссылка на последнюю исправленную версию эмулятора ДВК ( с тетрисом и убранным из дефолта hd1) в архиве софта - отсюда (http://pdp-11.org.ru/~hobot_lmb/EMULATORS/DVK/DVK_Emulator_1002121418.rar)!

Titus
10.02.2012, 17:47
3. При эмуляции КГД нужно одновременно эмулировать источник "тексто-графического" видеосигнала ( например - КСМ ).

4. Для эмуляции КЦГД нужно эмулировать шину 1801ВМ2 ( т.е.плату МС1201.02 ).
Я знаю) У меня в эмуляторе-то они есть.
Хотя, в моем эмуле КГД эмулируется, а КСМ нет. И без проблем. Т.е. почти без проблем. Кроме случаев, когда КСМ и КГД используются вместе.

Patron
10.02.2012, 17:58
У меня в эмуляторе-то они есть.
Хотя, в моем эмуле КГД эмулируется, а КСМ нет. И без проблем.При закрытой "монолитной" эмуляции проблем вообще не слишком много.

Но если речь заходит про модульную эмуляцию с обменом потоками данных через открытые интерфейсы, когда модуль эмуляции КГД принимает "поток видео" от другого модуля ( например, от эмулятора КСМ ), добавляет туда свою картинку и передаёт по "потоку видео" на эмулятор устройства отображения - то нужно для начала хотя бы написать API потока видео :)))

Titus
10.02.2012, 18:12
когда модуль эмуляции КГД принимает "поток видео" от другого модуля ( например, от эмулятора КСМ ), добавляет туда свою картинку и передаёт по "потоку видео" на эмулятор устройства отображения - то нужно для начала хотя бы написать API потока видео :)))
Не тормознуто ли получится?

hobot
10.02.2012, 18:21
то нужно для начала хотя бы написать API потока видео :)))
Это означает - не спешите всё будет, работа кипит в нужной последовательности и (см. пост Patrona про тетрис) - там явно указано, что эмулятор "не доделан", однако
символьная ДВК уже есть, а значит и есть во что поиграть на ней )))

Titus
10.02.2012, 18:30
символьная ДВК уже есть, а значит и есть во что поиграть на ней )))
Меня символьные игрушки не впечатляют (
Видимо, сказалось RK-шное детство, когда всей душой тянулся к графике)

Patron
10.02.2012, 18:41
Не тормознуто ли получится?Посмотрим.

Локально (если не через интернет) в потоке видео будут передаваться указатели на объект "кадр потока видео". Само-по-себе-изображение будет представлено массивом 8-битных значений RGB (для чёрно-белых кадров все три значения будут одинаковы).

Таким образом, типичный эмулятор "видеоустройства" будет несколько (до 60) раз в секунду получать ссылку на кадр, модифицировать изображение и передавать ссылку дальше в поток.

Сколько сложений матриц RGB в секунду сможет выполнять типичный сегодняшний комп для размерностей порядка 800х400..

Мне кажется, что где-то 1000 в секунду ( или 10'000 ? ).

Titus
10.02.2012, 18:50
Сколько умножений на константу (в типичном случае "равновесного" сложения двух кадров - на 0.5) и сложений матриц RGB в секунду сможет выполнять типичный сегодняшний комп для размерностей порядка 800х400..

Мне кажется, что где-то 1000 в секунду ( или 10'000 ? ).

Экран 800x400 - это милион байт примерно. Значит миллион байт КСМ сложить со сдвигом с миллионом байт КГД, 60 раз в секунду. Т.е. не менее 200мипсов одну математику, если влоб, побайтно. Но, учитывая, что написано будет на Си. В общем, на 2ГГц'овом проце больше, чем 250 фпс рассчитывать наверное не стоит. Но это если писать на Си, не на асме.

Кстати, мне кажется, что смешивать яркости пикселей КСМ и КГД 50/50 не стоит. Скорее лучше складывать их по OR'у. Т.к. в реальных программах текст не печатается поверх графики, а печатается на пустых от графики местах.

Patron
10.02.2012, 19:02
Экран 800x400 - это милион байт примерно. Значит миллион байт КСМ сложить со сдвигом с миллионом байт КГДХотя у КГД изображение 400x286, а у КСМ - 800х286, но поскольку они используют "общий" видеосигнал, то очевидно, что формат массива изображения у них одинаковый, но КГД "заполняет" только каждую вторую ячейку.


учитывая, что написано будет на СиОграничения API распространяются только на интерфейсы. Все интерфейсные объекты должны быть написаны на С++ в Visual Studio. Но к интерфейсному коду на C++ авторы эмуляторов могут линковать в Visual Studio что угодно. Хотя, на мой взгляд - ассемблерные вставки и специализированные библиотеки - самое оно.


Кстати, мне кажется, что смешивать яркости пикселей КСМ и КГД 50/50 не стоит. Скорее лучше складывать их по OR'у. Т.к. в реальных программах текст не печатается поверх графики, а печатается на пустых от графики местах.Вообще-то, при сложении двух кадров умножение требуется только для моделирования "притухания" исходного кадра при прохождении через смеситель. Для простого объединения двух изображений (на мой взгляд) достаточно обычного сложения с ограничением максимального значения ( т.е. когда 100% + 100% = 100% ).

Titus
10.02.2012, 19:09
Для простого объединения двух изображений (на мой взгляд) достаточно обычного сложения с ограничением максимального значения ( т.е. когда 100% + 100% = 100% ).
Это и есть обычное сложение по OR для двухцветного изображения.

Patron
10.02.2012, 19:57
Это и есть обычное сложение по OR для двухцветного изображения.Думаю, это справедливо и для более общего случая, когда суммируются видеосигналы не 100% яркости. Т.е. 25%+25% = 50% ; 50%+50% = 100% ; 70% + 70% = 100% и т.п.

---------- Post added at 18:57 ---------- Previous post was at 18:25 ----------

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

Titus
10.02.2012, 20:01
Хотя, не исключаю, что "видеосумматор" может быть сделан и так, чтобы в каждый момент (т.е. для каждой точки) пропускать на выход более сильный из сигналов. В результате - яркость "суммы" двух точек будет равна яркости более яркой из них.
Да не, аналоговый сумматор конечно смешивает обычным сложением, если там именно аналоговый сумматор. Я схему не смотрел. Но в эмуляторе было бы наверное логичным смешивать с насыщением (100 + 100 = 100), чтобы не терять половину яркости.

Patron
10.02.2012, 20:19
В принципе - в дальнейших версиях API (скорее всего) будет предусмотрена возможность интерактивной 3D симуляции любого из эмулируемых устройств. И, например, при симуляции мониторного зала - текстура поверхности каждого экрана в сцене будет изменяться до 60 раз в секунду :)

Поэтому, вряд ли быстродействие API абстрактной эмуляции потока видео - это то, о чём предстоит серьёзно беспокоиться :)))

hobot
11.02.2012, 02:14
Любопытная вещь ))) Сталкер для бк0011 в эмуляторе ДВК )))

http://savepic.net/2459485.png
http://savepic.net/2464605.png


К слову, он и в UKNCBTL отлично работает )))

Alex_K
11.02.2012, 09:59
Любопытная вещь ))) Сталкер для бк0011 в эмуляторе ДВК )))

К слову, он и в UKNCBTL отлично работает )))
Естественно будет работать. Если он написан для RT-11 и не использует прямого доступа к аппаратуре, а пользуется для ввода/вывода только функциями RT-11, то и проблем не должно быть.

shattered
29.05.2012, 19:35
Попробовал MESS (0.145), для начала ЕС1841 (драйвер ec1841).

Сразу после старта: сообщение MESS "Invalid MC6845 screen parameters - display disabled!!!" и "Mode Control 02 is not supported!!".

POST проходит с ошибкой:


a0ff (1) 201
1701
ОШИБКА ( НАЖМИ КЛАВИШУ "Ф1" )

Диск "Знакомство" (с собственным загрузчиком) грузится и работает, можно записать видео, наверно.

Альфа-ДОС грузится, но клавиатура эмулируется неточно (нечем переклюать режим РУС, не работают кнопки shift ...).

Диск с тестами (ТПС) выдает обрывок сообщения "ПЭВМ НЕ Е..." (не ЕС?) и уходит в reset.

Сами диски выкладывал anasana здесь -- http://zx.pk.ru/showpost.php?p=278089&postcount=158 (но ссылки протухли). Выкладываю образы, которые снял сам (001 -- Знакомство, 005 -- Альфа-ДОС, 020 -- ТПС), формат -- CPCEMU DSK.

shattered
29.05.2012, 19:58
Продолжение. Корвет (драйвер korvet).

Ни один из 4 дисков, выложенных на сайте Башкирии-2М (Korvet.rar (http://bashkiria-2m.narod.ru/files/disk/Korvet.rar)), не грузится до конца (появляется баннер CP/M, далее в цикле сообщение "Can't read info sector").

Диск system1.kdi с сайта pk8020 (ссылка (http://pk8020.narod.ru/Files/system1.zip)), грузится до подсказки "A>", но не работает ввод с клавиатуры (если вообще не подключать дискету, то клавиатура работает в Бейсике).

shattered
30.05.2012, 19:11
ЕС1840 (драйвер ec1840, диск dosec.IMA не-помню-откуда)

Не проходит POST, F1 уводит в reset.


a0aa 201K
ERROR (RESUME="F1" KEY)

shattered
30.05.2012, 22:53
Драйвер ec1841 в MESS недоделанный, пробую допилить.

CRTC сделан, судя по ТО, на болгарском чипе CM607.

Ошибка 201 -- тест памяти, 1701 -- тест HDC (это потому, что HDC не включен в описание машины).

Rus
31.05.2012, 22:50
"Пилю" драйвер Ассистента для MESS

shattered
31.05.2012, 23:51
MESS vs. ec1841

Все же можно хитрым образом включить ЛАТ; для этого нужно запускать MESS с отладчником (-debug) и после загрузки ОС выполнить в нем команду "do b@418 = 2" (установить флаг ЛАТ в слове состояния клавиатуры).

Дискета с ТПС была от другой машины (ЕС1842); родная запускается, но тестам плохо:

- тест процессора не проходит ("неисправны микросхемы ПЗУ ...")
- тест памяти зависает после проверки 192K свободной области памяти на первой плате 2B0
- тест видео не проходит ("код завершения 501 Б")

Выкладываю новый архив с софтом для запуска в MESS -- две версии Альфа-ДОС (01.05 и 02.01), диски ТПС и Знакомство.

shattered
03.06.2012, 02:16
Слегка допилил драйвер mc1502. Опрос клавиатуры не реализован, но все же можно добиться выхода в монитор и пр.

Заставка
http://img-fotki.yandex.ru/get/6307/264743.1/0_75d81_b78921_orig

Монитор 5.0
http://img-fotki.yandex.ru/get/6210/264743.1/0_75d82_1fa95e57_orig

Бейсик-К 1.1
http://img-fotki.yandex.ru/get/6211/264743.1/0_75d83_43f6388e_orig

shattered
05.06.2012, 22:15
Некоторые скриншоты с диска Знакомство от ЕС-1841 :-)

http://img-fotki.yandex.ru/get/6312/264743.1/0_75f99_50bdcf64_XL.jpg (http://fotki.yandex.ru/users/shattered/view/483225/)

http://img-fotki.yandex.ru/get/6213/264743.1/0_75f9a_40e0029a_XL.jpg (http://fotki.yandex.ru/users/shattered/view/483226/)

http://img-fotki.yandex.ru/get/6113/264743.1/0_75f9c_9a2e8f1f_XL.jpg (http://fotki.yandex.ru/users/shattered/view/483228/)

http://img-fotki.yandex.ru/get/6309/264743.1/0_75f9d_ce6a65e_XL.jpg (http://fotki.yandex.ru/users/shattered/view/483229/)

http://img-fotki.yandex.ru/get/6213/264743.1/0_75f9e_40fe4e50_XL.jpg (http://fotki.yandex.ru/users/shattered/view/483230/)

NEO SPECTRUMAN
10.06.2012, 19:07
Некоторые скриншоты с диска Знакомство от ЕС-1841 :-)
Кашмар:)
Как можно так издеваться над компьютером.
Я б этот диск подверг инквизиции.:)

shattered
20.06.2012, 23:06
Допилил клавиатуру МС1502, отошлю результат Micko.

http://img-fotki.yandex.ru/get/6/264743.1/0_768ff_5ea9da0d_L.jpg (http://fotki.yandex.ru/users/shattered/view/485631/)

shattered
22.06.2012, 20:08
Выяснилось, что MAME/MESS не умеют эмулировать блокирующееся чтение из порта, а именно так BIOS МС1502 работает с ВГ93:

"Схема управления обменом синхронизирует прием/передачу данных между ЦП и накопителем с помощью сигналов RDY и DRQ. При обращении ЦП к порту состояния DRQ происходит снятие готовности [RDY] и процессор ожидает прихода сигнала DRQ. При появлении (запросе) очередного байта данных готовность подставляется и процессор продолжает выполнение команд. В случае отсутствия данных готовность будет подставлена сигналом INTRQ или MOTOR ON.

Анализ сигнала DRQ программой обслуживания устройства позволяет определить конец операции БИС КР1818ВГ93."

shattered
25.06.2012, 19:23
Допилил клавиатуру МС1502, отошлю результат Micko.


Результат в SVN, но между 0.145 (с которой я начинал) и HEAD что-то поменялось и вводится только 1 символ. Судя по всему, нужно в каком-то месте снимать запрос IRQ1.

shattered
30.06.2012, 13:03
Нашелся скан ТО на терминал 15ИЭ-00-013 (http://t-book.net/retrovt/213-to15ie00013.html), а значит, есть неплохие шансы сэмулировать его в MESS (в нем уже есть skeleton driver для DEC VTxxx и ВТА-2000). Прошивки пока нет, но в ТО есть рисунок знакогенератора:
http://img-fotki.yandex.ru/get/5110/264743.1/0_7730d_6e8c53c_L.jpg (http://fotki.yandex.ru/users/shattered/view/488205/) -- вбил его, попробую подключить.

shattered
01.07.2012, 01:20
Очень предварительный (без эмуляции родного процессора) драйвер заработал:

http://img-fotki.yandex.ru/get/5801/264743.1/0_773b4_b3d719a2_XL.jpg (http://fotki.yandex.ru/users/shattered/view/488372/)

shattered
01.07.2012, 17:14
ec1841: частично сэмулировал контроллер памяти (порты 2B0-2B3), теперь тест памяти в POST проходит без ошибки. Пока не эмулируются дополнительные платы памяти и драйвер VDISK.SYS бесполезен.

shattered
12.07.2012, 22:12
mc1502 -- заработал ввод с кассеты. Патчи отошлю Micko.

Начал проверять:

- IBM_PC_Diagnostics_Cassette.wav -- из Бейсик-К грузится загрузчик ldcass.b, но при запуске зависает (неудивительно).
- MK60-6_SideA.flac ("Tape13" на pk-info.ru) -- ни одна игра не грузится до конца.
- ms1502_original_cassete2_sidea_fft_mono.flac -- первые две игры грузятся и работают, остальные пока не проверял.

http://img-fotki.yandex.ru/get/6404/264743.1/0_781f5_4be3a885_L.jpg (http://fotki.yandex.ru/users/shattered/view/492021/)

Остальные скриншоты -- в альбоме по ссылке.

alt-x
13.07.2012, 15:17
Крут! А не знаешь, что там с багом из-за которого в мс1502 ломался ввод с клавиатуры? А то у меня теперь аналогичная проблема с клавиатурой Поиска. Откатываться на более старую версию mess совсем не хочется.

shattered
13.07.2012, 19:24
Заодно починил этот баг, потому что как раз он и мешал работе кассеты.

Баг в том, что нужно снимать IRQ1, я это сделал при записи в порт 60h (но есть более точный способ).

shattered
16.07.2012, 19:06
... но в 0.146 и выше этот способ все равно не работает. чиню дальше

shattered
20.07.2012, 00:02
Починил окончательно клавиатуру МС1502, патчи ушли Micko, ждем коммита.

Тем временем заработало чтение дискет. SF-DOS по крайней мере грузится и реагирует на команды, OTS показывает заставку и все.

http://img-fotki.yandex.ru/get/6502/264743.1/0_784ab_169ffedd_L.jpg (http://fotki.yandex.ru/users/shattered/view/492715/)

http://img-fotki.yandex.ru/get/6602/264743.1/0_784ac_9c74db2e_XL.jpg (http://fotki.yandex.ru/users/shattered/view/492716/)

shattered
20.07.2012, 20:10
http://mess.dorando.at/svn/?rev=15633 -- клавиатура и магнитофон мс1502, контроллер памяти ес1841.

Alex_B
20.07.2012, 21:49
shattered и SoftCat большое человеческое спасибо!
Клавиатура работает, с магнитофона загружается :)

shattered
20.07.2012, 21:50
На подходе флоппи :-) Они по крайней мере читаются:

http://img-fotki.yandex.ru/get/6405/264743.1/0_784c6_e86b2112_L.jpg (http://fotki.yandex.ru/users/shattered/view/492742/)

http://img-fotki.yandex.ru/get/6400/264743.1/0_784c8_bd18ddf0_XL.jpg (http://fotki.yandex.ru/users/shattered/view/492744/)

Alex_B
28.07.2012, 03:01
Поскольку тема по МС1502 - http://zx.pk.ru/showthread.php?t=11591&page=5 закрыта, напишу здесь.

Кому интересны кассеты для МС1502, лично мне интересен только оригинальный софт для МС1502, который не с PC, то начал потихоньку выкладывать обработанные кассеты здесь http://pk-info.ru/ms1502.html (всё что раньше было взято с этого сайта, можно смело удалять). Повторно обработаю и выложу всю свалку, что у меня есть на кассетах, она более обширна, чем сейчас на сайте.

Не откажусь и от дискетного софта для МС1502, выложу на сайт для долгого сохранения и доступности, всё лучше чем хранить на файлообменниках. До кучи можно и для Поиска закинуть файлы на сайт.

---------- Post added at 04:01 ---------- Previous post was at 03:58 ----------

shattered,
В MESS -> mc1502. "Криво" эмулируются клавиши курсора (курсор перескакивает на строчку вниз/вверх), но на цифровой дополнительной клавиатуре все отлично. Ещё запустил frogger, так там управление работает на половину и с эмуляцией CGA проблемы.

shattered
28.07.2012, 10:53
Про стрелки я в курсе, буду чинить (когда придумаю, как).

Про frogger интересно -- что за проблемы с CGA? Можете его выложить?

В моем патче про работу с флоппи затронут общий код эмуляции wd17xx, поэтому потребуется review со стороны MESSdevs; если хотите пробовать, выложу то, что есть.

---------- Post added at 11:53 ---------- Previous post was at 09:56 ----------

Я запустил http://poisk-pc.narod.ru/ots.rar (741888 Jan 1 2006 OTS1.DDI) в MESS и выяснил, что он усеченный -- сразу после вывода заставки идет чтение секторов с дорожки 81, которой нет в дампе.

Выложите полноценный дамп, кто-нибудь :-)

shattered
28.07.2012, 20:30
http://mess.dorando.at/svn/?rev=15695 -- мс1502: начало эмуляции флоппи

окончание -- http://paste.lisp.org/display/130735 (ломает другие драйвера; например, korvet)

Alex_B
28.07.2012, 23:09
shattered,

http://pk-info.ru/ms1502/files/games/frogger.zip -- не работает управление (могу только вверх вниз двигать лягушку, через A, Z; влево-вправо никак), проблемы с эмуляцией CGA
http://pk-info.ru/ms1502/files/games/goody.zip -- зависает при нажатии нескольких клавиш (?). Демка работает нормально, проблема не в видео.

Ещё бы поддержку LPT не помешало, как будет время :)

p.s.: Cкачал новый билд с Вашими исправлениями. За звук в Арканоиде спасибо :)

shattered
29.07.2012, 10:09
Goody вообще плохо работает в MESS (зависает). SoftCat предположил, что из-за эмуляции pop cs, но это надо проверить.

LPT и COM, как обычно, сделаны не как у всех :v2_dizzy_facepalm:

shattered
01.08.2012, 19:32
Немного продвинулся в эмуляции процессора 15ИЭ -- написал модуль дизассемблера в MESS. Проверять пока не на чем, кроме случайных данных :-)


00000000: 2E 60 ldc r14, #$60
00000002: 5E lla #$0e
00000003: 5A lla #$0a
00000004: DF lda r15
00000005: 18 7C jmp $087c
00000007: 6D lla #$0d
00000008: C1 cfl #$01
00000009: B9 cs r9
0000000A: 9C and r12
0000000B: 0C add r12
0000000C: 8E and r14
0000000D: 43 dsr r3
0000000E: F0 ota #$00
0000000F: 63 lla #$03


---------- Post added at 20:32 ---------- Previous post was at 20:29 ----------

Мнемоники взяты из ТО, возможно, стоит их переделать по образу Z80

alt-x
04.09.2012, 23:45
Не откажусь и от дискетного софта для МС1502, выложу на сайт для долгого сохранения и доступности, всё лучше чем хранить на файлообменниках. До кучи можно и для Поиска закинуть файлы на сайт.

Хороший сайт, спасибо! Интересно, кассеты Поиска и МС1502 - совместимы на настоящих компах? Или только в MESS?

hobot
10.09.2012, 01:01
Вопрос 2:anasana
Что за эмулятор? Откуда скриншоты? Поделитесь пожалуйста информацией.

http://savepic.net/3407706.png


http://savepic.net/3395418.png


http://savepic.net/3392346.png


http://savepic.net/3393370.png


http://savepic.net/3399514.png


http://savepic.net/3396442.png

Alex_B
10.09.2012, 01:31
Хороший сайт, спасибо! Интересно, кассеты Поиска и МС1502 - совместимы на настоящих компах? Или только в MESS?

Спасибо за отзыв.
Все программы оцифрованы с кассет для МС1502 и Поиск, то есть, программы будут загружаться и работать на реальных машинах.

Для Поиск на сайте только:
Iskatel (Искатель - Digger на русском.
Basic.C (Бейсик - ПК "Поиск".
ISPP (ПАСКАЛЬ.

Всё остальное для МС1502.

alt-x
17.09.2012, 23:09
Спасибо за отзыв.
Все программы оцифрованы с кассет для МС1502 и Поиск, то есть, программы будут загружаться и работать на реальных машинах.

Для Поиск на сайте только:
Iskatel (Искатель - Digger на русском.
Basic.C (Бейсик - ПК "Поиск".
ISPP (ПАСКАЛЬ.

Всё остальное для МС1502.

Т.е. на реальной МС1502 кассета от Поиска не прочитается?

Alex_B
18.09.2012, 00:10
Т.е. на реальной МС1502 кассета от Поиска не прочитается?

Прочитается, правда с ошибкой в конце из-за различия в заголовке записи между МС-1502 и Поиск. На считанные данные это не влияет.

В целом shattered сделал хорошую поддержку в MESS, за исключением некоторых недочётов: есть недоработки в драйвере клавиатуры, подозреваю что, что-то не так транслируется по портам, адресам (есть видимо отличия МС-1502 от IBM PC 5150). Можно сюда добавить отсутствие дисковода, LPT, COM, - но это приходящее, когда-нибудь будет. Во всё остальном, эмулятор достаточно точно повторяет работу на реальной машинке. В MESS записи кассет читаются хуже чем на реале, поэтому пришлось обработать запись под своеобразный эталон.

Если у Вас рабочая МС-1502, хочу попросить проверить на запуск эту игрушку http://pk-info.ru/ms1502/files/games/spacewar.zip , в эмуляторе она не работает. Либо игра была записана криво-косо, то есть не рабочей, либо в эмуляторе не запускается.

shattered
20.01.2013, 00:43
По слухам, уже починили поддержку дисковода в 1502, но я пока не проверял

shattered
13.02.2013, 00:36
О клавиатуре Искры 1030. anasana дал ссылку [0] на дамп ее прошивки -- http://chukaev.ru54.com/firmware/i1030.zip.

Похоже, в разных моделях была чуть разная начинка -- на схеме [1] нарисована ВЕ48 (с EPROM), а на картинках [2] ВЕ35 с внешним ROM (К573РФ5)? Но сути это не меняет -- набор команд тот же (Intel MCS-48).

Листинг: https://gist.github.com/shattered/4772987 -- в нем любопытна строка "00000306: 22 illegal" -- ошибка дизассемблера или это наше дополнение к оригинальному набору команд?

[0] http://www.phantom.sannata.ru/forum/index.php?t=9092
[1] http://ru.pc-history.com/wp-content/uploads/Shema_klaviaturi_ISKRA-1030.jpg
[2] http://ru.pc-history.com/klaviatura-pevm-iskra-1030.html

shattered
20.02.2013, 23:34
По слухам, уже починили поддержку дисковода в 1502, но я пока не проверял

Еще не проверял MESS 0.148, но то, что сейчас в SVN HEAD, не работает с дисководом ни на 1502, ни на других PC и клонах...

shattered
10.03.2013, 21:24
Чего бы еще нового и неожиданного сэмулировать?

Д3-28? Искра-226? Истра-4816? :-)

BYTEMAN
13.03.2013, 23:01
Д3-28?
http://wang700.durgadas.com/
Надо бы у автора попросить дамп микрокода... 15ВСМ5 как раз полная копия этого wang'а (почти полная, походу в то время в Союзе не было дешифраторов и регистров на одной микросхеме). Есть схемы ванга, есть техническое описание на английском. 15ВСМ5 есть у меня, но пока что не работает (грешу на повреждённый микрокод, но потом так подумал, что не может из-за нескольких волосинок сдохнуть вся прошивка). Кассета то "прошита" в буквальном смысле. Также есть кассета от Д3-28, но там уже микросхемы и серия странная (К596РЕ1)...

shattered
13.03.2013, 23:08
Я обнаружил, что выложены исходики BIOS Поиска-1 и склоняюсь пока к нему...

---------- Post added at 23:08 ---------- Previous post was at 23:04 ----------


Также есть кассета от Д3-28, но там уже микросхемы и серия странная (К596РЕ1)...

Гугль говорит, что это масочное ПЗУ - http://www.155la3.ru/datafiles/k596re1.pdf. Микрокод Искры-226 тоже будто бы хранится в масочных ПЗУ, но другой серии (КР1610PE1-0100..0107)

Tronix
14.03.2013, 09:59
Я обнаружил, что выложены исходики BIOS Поиска-1 и склоняюсь пока к нему...

Выложены, даже выложены исходники BIOS контроллера флоповода, только толку... 8088 проц эмулировать дело сложное, а аккуратное его эмулирование еще сложнее, не говоря о периферии.

Вообще, есть же SovietPC, который эмулирует Поиск-1, единственный минус - исходники полностью закрыты и понять какие костыли там используются не представляется возможным. Да и скорость работы как по мне так сильно отличается от оригинального Поиска.

Есть какие-то скилеты для MESS, с нерабочими флопами и клавой, но MESS это ад и погибель ящетаю. За то время, пока соберешь и все настроишь можно туда-обратно в Украину сгонять и купить оригинал.

Меня больше всего прельщает идея использовать PCem (http://www.tommowalker.co.uk/pcem.html) в качестве эмулятора

shattered
14.03.2013, 20:39
Мне заметно проще допилить драйвер в MESS -- есть некоторый опыт (МС1502 и 15ИЭ).

Поэтому нужно побольше документации. Техническое описание какое-то куцее, особенно в том месте, где нужно (описание "программно-аппаратного эмулятора CGA"). И схемы клавиатуры у меня нет.

BYTEMAN
15.03.2013, 17:15
b2m, может быть попробуете запилить эмуляцию Байта-01? ;)

b2m
15.03.2013, 22:21
Я уже выкладывал ссылку на предварительный конфиг (http://bashkiria-2m.narod.ru/files/byte.rar), там ВИ53 уже подключён. Он, конечно, не совсем полноценный, но это уже кое-что.

BYTEMAN
16.03.2013, 01:46
b2m, я имел ввиду Байт-01, который с дисководами и CP/M :)

Doronetty
11.04.2013, 23:06
Как-то прошло незамеченным, что автор эмулятора Башкирия-2М прикрутил поддержку ДВК 1 и 2! Кто сведущ в сих машинах, протестируйте!
P.S: Я погонял свежую версию в режиме БК-0011М, Technological Dreams demo стало работать, как ни странно, хуже (!) - до этого демка вешалась (графика, музыка продолжала играть) на списке благодарностей на некоем товарище под ёмкой кликухой "ХРЕН", а теперь похоже тоже самое, только список благодарностей выводится какой-то абракадаброй, ну а на некоем месте (интуиция подсказывает, что это то самое "ХРЕН"овое место), демка перестаёт выводить на экран информацию...
Но я уверен, что теперь автор (тем более, что взялся сделать поддержку ДВК) с БК-шкой точно справится - надоело всё время Эмулятором 3000 пользоваться для прогона демов!

hobot
11.04.2013, 23:35
Как-то прошло незамеченным, что автор эмулятора Башкирия-2М прикрутил поддержку ДВК 1 и 2! Кто сведущ в сих машинах, протестируйте!
А где это заметить то ? ) Шикарные машины ДВК1 и ДВК2, не сведущ, но потестировал бы с энтузиазмом. Главное надо для тестов две вещи:
1 - сам эмулятор
2 - как к нему образы цеплять
Базовые инструкции по управлению эмулятором, поскольку в глаза его не видел никогда )

Говоря совсем просто - готов потестировать поддержку ДВК )

b2m
12.04.2013, 09:05
1 - сам эмулятор http://bashkiria-2m.narod.ru/download.html
2 - образ (пока только DX) цепляется нажатием кнопки на тулбаре

Однако RT-11 пока грузится не до конца. Я вчера подебажил загрузку (в эмуляторе есть отладчик), выяснилось следующее: после загрузки монитора и перехода на чтение через монитор загрузка виснет, т.е. после добавления запроса в очередь почему-то не возникает прерывание от дисковода. Вот тут у меня вопрос: а с фига ли придёт прерывание, если до этого команды не было?

Patron
12.04.2013, 10:57
вопрос: а с фига ли придёт прерывание, если до этого команды не было?У всех устройств PDP-11 прерывание возникает при переходе AND битов разрешения прерывания и готовности из 0 в 1.
Поэтому, если у готового устройства установить разрешение прерывания - тут же оно и случится.

b2m
12.04.2013, 16:47
С прерываниями разобрался, теперь RT-11 грузится. Наконец-то смог набрать DIR и посмотреть каталог :)
Не сразу понял, что надо терминал на вторую систему команд переключить. :v2_rolley

hobot
12.04.2013, 19:55
b2m, шикарно, особенно полноэкранный режим, но нужен срочный HELP!!!
У меня версия такая или я туплю? Повисон на запросе даты?
http://savepic.ru/4419607.png

Patron
12.04.2013, 21:32
Повисон на запросе даты?Перед загрузкой надо установить в терминале 2-ю систему команд (должна помочь кнопка [СДВ] ) и ещё (если не ошибаюсь) должна быть нажата кнопка [ДУП].

hobot
12.04.2013, 21:35
Перед загрузкой надо установить в терминале 2-ю систему команд.
Конкретнее, каким образом?

---------- Post added at 22:35 ---------- Previous post was at 22:33 ----------

У меня с клавиатурой тут беда на ноуте конечно ) Может в режиме 2 должно поправиться?

Patron
12.04.2013, 21:38
9600 0010 1110 0000 0000 09 15 00
---- ^^^^ ^^^^ ^^ ^^^^ \ часы /
^ !!!! !!!! !! !!!!
! !!!! !!!! !! !!!+---- выключить служебную строку
! !!!! !!!! !! !!+----- авто ПС, ВК в режиме "передача строки/экрана"
! !!!! !!!! !! !!
! !!!! !!!! !! !+------ контроль чётности
! !!!! !!!! !! !
! !!!! !!!! !! +------- тип контроля ( 0 — чёт, 1 — нечет )
! !!!! !!!! !!
! !!!! !!!! !+---------- авто ПС, ВК
! !!!! !!!! !
! !!!! !!!! +----------- фиксация маркера в крайних положениях
! !!!! !!!!
! !!!! !!!+-------------- синхронизация обмена ( Xon/Xoff )
! !!!! !!!
! !!!! !!+--------------- система команд N2
! !!!! !!
! !!!! !+---------------- отсутствие звукового сигнала
! !!!! ! при нажатии клавиши
! !!!! +----------------- отсутствие звукового сигнала
! !!!! в 72 позиции курсора
! !!!!
! !!!+------------------- вид маркера
! !!!
! !!+-------------------- код КОИ-7 Н0/1
! !!
! !+--------------------- автоповтор клавиатуры
! !
! +---------------------- сдвиг маркера
!
+---------- Скорость обмена информацией терминала с ЭВМ

hobot
12.04.2013, 22:28
повисание поправилось, но возможность ввода не поправилась )
вместо забоя - Тетрис ))) Су-Ц ноль реакции ))) Как бы настроить то !
http://savepic.ru/4424761.png
HELP !!! ) Хочется полноэкранную ДВК-2 )))

---------- Post added at 23:28 ---------- Previous post was at 23:03 ----------


Наконец-то смог набрать DIR и посмотреть каталог
зависть )

Patron
12.04.2013, 23:30
А кнопку [СДВ] отжать не надо ?

b2m
12.04.2013, 23:45
вместо забоя - Тетрис ))) Су-Ц ноль реакции ))) Как бы настроить то !
А зачем ДУП нажал ?!! Отожми :)

---------- Post added at 01:45 ---------- Previous post was at 01:41 ----------


А кнопку [СДВ] отжать не надо ?
Может я где-то не так инвертировал, но делал по информации с форума.
В нормальном режиме какие кнопки нажаты должны быть?

shattered
13.04.2013, 00:21
ДУП ЛИН РЕД

vinxru
13.04.2013, 00:29
(Осталось лишь УКНЦ осилить :) )

hobot
13.04.2013, 00:41
Наконец-то смог набрать DIR
Вот на этот момент сделай скрин и посмотрим )

---------- Post added at 01:41 ---------- Previous post was at 01:37 ----------


А кнопку [СДВ] отжать не надо ?
Юмор? ) СДВ - это вход\выход на строку управления, кстати говоря у меня с клавиатурой тут такая фигня - через какое-то время эмулятор вообще на клавиатуру перестаёт реагировать.



(Осталось лишь УКНЦ осилить )
Всё зависит от точки зрения ) По моему данный вариант очень очень не допилен, хотя эффект присутствия присутствует ) Но что-то у меня всё равно пока не вышло ничего ) Если у кого-то нормально работает командная строка в системе после загрузки сделайте скрин с настройками, пожалуйста.

Patron
13.04.2013, 00:45
Юмор? ) СДВ - это вход\выход на строку управленияТам фазы кнопок перепутаны.

b2m
13.04.2013, 11:25
ДУП ЛИН РЕД
Я думал, если ДУП нажат, то терминал должен давать локальное эхо, в бейсике сейчас так и происходит, т.е. символы двоятся. А СДВ должен включать редактирование служебной строки? Тогда переделаю.

---------- Post added at 13:14 ---------- Previous post was at 13:11 ----------

Меня просто смутило, что сигнал называется ДУПЛ Н, т.е. его надо инвертировать.

---------- Post added at 13:25 ---------- Previous post was at 13:14 ----------

Фазы кнопок ДУП СДВ поменял, залил на сайт.

Titus
13.04.2013, 11:29
Я так понял, что плагин Patron'а DX не берет?

Patron
13.04.2013, 12:29
Я так понял, что плагин Patron'а DX не берет?Должен брать - я загрузочный образ им собирал.

Titus
13.04.2013, 12:44
Должен брать - я загрузочный образ им собирал.
Действительно, работает.
Просто версию последнюю плагина не поставил.

---------- Post added at 13:43 ---------- Previous post was at 13:36 ----------

В эмуляторе b2m только один раз получилось загрузиться, остальные разы на дате застревает, не знаю, почему.

---------- Post added at 13:44 ---------- Previous post was at 13:43 ----------

Выглядит очень медленным, пакман еле двигается. Это так и должно быть на реальном ДВК?

Patron
13.04.2013, 13:41
Это так и должно быть на реальном ДВК?Можно запустить в одном окне эмулятор с Тетрисом, а в другом окне - фильм про запуск Тетриса на реальном ДВК-2 и сравнить скорость.

Можно запустить мой "эмулятор ДВК". В режиме MIPS Лимит = True он воспроизводит реальную скорость ДВК-1 @ 5.3 МГц с точностью до такта.

Titus
13.04.2013, 13:44
Можно запустить в одном окне эмулятор с Тетрисом, а в другом окне - фильм про запуск Тетриса на реальном ДВК-2 и сравнить скорость.

Можно запустить мой "эмулятор ДВК". В режиме MIPS Лимит = True он воспроизводит реальную скорость ДВК-1 @ 5.3 МГц с точностью до такта.
Не получается, потому что дальше даты не уходит. Хотя один раз как-то получилось.

b2m
13.04.2013, 15:11
реальную скорость ДВК-1 @ 5.3 МГц с точностью до такта.
О-па, а я 3 МГц поставил в конфиге, как у БК-шки. Надо будет поправить. А у ДВК-2 такая-же частота? Хотя, это ведь тот-же самый вычислитель 1201.1
А у 1201.2 какая частота?

---------- Post added at 17:11 ---------- Previous post was at 17:05 ----------


Не получается, потому что дальше даты не уходит. Хотя один раз как-то получилось.
Странно, у меня ни разу проблем не было, жмёшь enter и дальше идёт. А вот изменить дату никак не получается, ругается, чтобы я стрелками пользовался. Вроде все клавиши перетыкал, ни в какую.

hobot
13.04.2013, 15:20
Странно, у меня ни разу проблем не было, жмёшь enter и дальше идёт. А вот изменить дату никак не получается, ругается, чтобы я стрелками пользовался. Вроде все клавиши перетыкал, ни в какую.
Это называется добавлена поддержка ДВК ?
А что мешает сделать скрин и дать нормальную прямую ссылку на архив с эмулятором, а не отправлять на сайт где не понятно что и где брать? И в архиве конечно должно быть минимально всё для проверки - например единственно поддерживаемый образ DX.DSK.

Если у вас всё так прекрасно работает - ещё раз просто спрашиваю - что мешает кнопку "Prt Scr" попользовать и картинку к сообщению прилепить?



О-па, а я 3 МГц поставил в конфиге, как у БК-шки. Надо будет поправить. А у ДВК-2 такая-же частота? Хотя, это ведь тот-же самый вычислитель 1201.1 А у 1201.2 какая частота?
Как у БК? Это что троллинг такой или что? ) Или я чувство юмора потерял или не улавливаю ваше? )



Можно запустить мой "эмулятор ДВК". В режиме MIPS Лимит = True он воспроизводит реальную скорость ДВК-1 @ 5.3 МГц с точностью до такта.
А так же почитать тему Patrona как пример по офрмлению и уважительному отношению как к самой машинке так и к своему
труду и к пользователям.

shattered
13.04.2013, 15:53
Коллега, не слишком ли много требований в одном письме?

Patron
13.04.2013, 16:07
ругается, чтобы я стрелками пользовалсяВ разных системах команд клавиатура 15ИЭ-00-013 генерит разные коды:



┌───────┬───────┬───────┐
│1. │2. │3. │
│ V~~| │ ^ │ ^\_| │
│ │ │ │ │
├───────┼───────┼───────┤
│4. │5. │6. │
│ <─── │ ^\ │ ───> │
│ │ \ │ │
├───────┼───────┼───────┤
│7. │8. │ │9. │
│ <──┤ │ V │ ├──> │
│ │ │ │
├───────┼───────┼───────┤
│10 ╤ │11 │ │12 ^ │
│ │ │ V │ │ │
│ V │ . │ ╧ │
└───────┴───────┴───────┘


система команд # 2 система команд # 1
клавиша код последовательность код последовательность

1. 33 25 Esc Cntrl/U 25 Cntrl/U
2. 33 101 Esc A 34 Cntrl/\
3. 15 Cntrl/M 15 Cntrl/M
4. 33 104 Esc D 32 Cntrl/Z
5. 33 10 Esc Cntrl/H 10 Cntrl/H
6. 33 103 Esc C 31 Cntrl/Y
7. 33 24 Esc Cntrl/T 24 Cntrl/T
8. 33 102 Esc B 35 Cntrl/]
9. 33 23 Esc Cntrl/S 23 Cntrl/S
10. 33 120 Esc P 26 Cntrl/V
11. 33 121 Esc Q 2 Cntrl/B
12. 33 122 Esc R 22 Cntrl/R


---------- Post added at 16:07 ---------- Previous post was at 16:01 ----------


А у 1201.2 какая частота?Там процессор 1801ВМ2 на частоте 6..12 МГц.

Чтобы узнать на какой частоте работает конкретная ДВК-2, ДВК-3 или ДВК-4 - на ней нужно запустить программу PDPCLK.SAV (http://zx.pk.ru/showthread.php?postid=591366)

...

b2m
13.04.2013, 16:18
Образ диска Patron выкладывал тут: http://zx.pk.ru/showpost.php?p=591414&postcount=189
Прямая ссылка на архив с эмулятором: http://bashkiria-2m.narod.ru/files/emu.rar
Картинка
http://zx.pk.ru/attachment.php?attachmentid=40958&stc=1&d=1365859021

Titus
13.04.2013, 16:29
Картинка
Вот у меня один раз так загрузиться только получилось.
Всегда виснет на часах. Ничего не нажимается.
Если отжать ДУП, то при нажатии Enter'а на часах, курсор переходит в начало строки, и дальше все равно висит.
Один раз зависло после SET SL ON

Patron
13.04.2013, 18:09
У меня на 2х-ядерном проце под Vista_64 не виснет ( Emulation time = 10% ).

Но есть глюк эмуляции многокодовых посылок клавиатуры.

Если выключить SL и позажимать стрелки - результат должен быть таким:



.SE SL OFF

.$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A^C

.$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$B$ B$B$B$B^C

.$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D$D^ C

.$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$C$ C$C$C^C

.

---------- Post added at 18:09 ---------- Previous post was at 17:40 ----------

На одноядерном проце под XP - Emulation time = 120%, но тоже не виснет.

Titus
13.04.2013, 19:49
b2m, шикарно, особенно полноэкранный режим, но нужен срочный HELP!!!
У меня версия такая или я туплю? Повисон на запросе даты?
Хобот, как ты с этим справился?

b2m
13.04.2013, 20:28
Если выключить SL и позажимать стрелки - результат должен быть таким:
Да, похоже где-то есть проблема с передачей по линии. Иногда Esc выпадает, видимо и Day из-за этого ругается, что я не на стрелки нажимаю.

hobot
13.04.2013, 21:28
Хобот, как ты с этим справился?
Никак не справился. Не работает. Полноэкранный режим вот единственная положительная эмоция пока. Всё остальное грубо скажем - не пашет у меня )
Вообще никак. Повисон, через какое-то время вообще на клавиатуру перестаёт реагировать окно эмулятора. Клоунада какая-то, балаган ! )

Patron
13.04.2013, 23:00
Новая версия системного диска DX (http://zx.pk.ru/attachment.php?attachmentid=40963) с системой RT-11 v5.7, новой версией DAY.SAV, которая сама переключает терминал во 2-ю систему команд, оригинальным тетрисом для "Электроники 60" и другими играми.

...

Titus
14.04.2013, 01:47
Новая версия системного диска DX (http://zx.pk.ru/attachment.php?attachmentid=40963) с системой RT-11 v5.7, новой версией DAY.SAV, которая сама переключает терминал во 2-ю систему команд, оригинальным тетрисом для "Электроники 60" и другими играми.
Все равно виснет на дате. Нельзя ли вопрос о дате убрать?

Alex_K
14.04.2013, 11:02
Сделал загрузочный диск ТМОС с DX. Места почти нет, убрал все лишнее - тесты КЦГД, КГД, КЖД ...
Как ни странно, тест основных команд процессора 791401 пройден без ошибок. Но вот с прерываниями полный бардак. Неправильно работает 1801ВП1-035, которая сидит на адресах терминала. Если уж зарегистрировано прерывание, то оно пытается отработать по полной, даже если сбросить бит 6. Надо запустить тест 791404, там уже все видно будет. Кстати, после ошибки перезапуск по адресу 30124 не проходит, все время сваливается по прерыванию 60 от клавиатуры.

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

Patron
14.04.2013, 11:48
Нельзя ли вопрос о дате убрать?В смысле - открыть образ в TotalCommander, навести курсор на STRTSB.COM, нажать F4, убрать последнюю строчку, сохранить файл, а после завершения редактирования подтвердить перезапись результата в образ..

b2m
14.04.2013, 14:39
Обновил эмулятор, с клавиатурой должно быть лучше. KLOP и TETRIS вроде работают, но на доп. клавиатуре. С нубуками проблема будет. XONIX по прежнему не реагирует на клаву. Подозреваю, опрашивает флаг доп. клавиш, я его пока не сделал...

Alex_K
14.04.2013, 15:15
Обновил эмулятор, с клавиатурой должно быть лучше. KLOP и TETRIS вроде работают, но на доп. клавиатуре. С нубуками проблема будет. XONIX по прежнему не реагирует на клаву. Подозреваю, опрашивает флаг доп. клавиш, я его пока не сделал...
Клавиши, которые генерируют несколько кодов заработали. Появился и таймер. А вот как его отключить? Ибо FTMON надо запускать при выключенном таймере.

Patron
14.04.2013, 15:52
Если зажимать стрелки, то при их отпускании иногда пролазят:

$A = ^\
$B = ^]
$C = ^Y
$D = ^Z
http://emulator.pdp-11.org.ru/misc/Arrows.png

---------- Post added at 15:52 ---------- Previous post was at 15:46 ----------

На эмулируемой ДВК-1 @ 5.3 МГц тест SPEED.SAV ( он есть на первом образе DX ) даёт такой результат:



.SPEED

ТЕСТ БЫСТРОДЕЙСТВИЯ

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 376

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 176
.

Alex_K
14.04.2013, 16:01
Если зажимать стрелки, то при их отпускании иногда пролазят:

$A = ^\
$B = ^]
$C = ^Y
$D = ^Z
Действительно, редко но пролазят. Это коды первой системы команд, пролазят также и на других клавишах (с ПФ1 по ПФ3 например). Но это уже относится к эмуляции 15ИЭ-00-013, может еще один глюк 15ИЭ.

b2m
14.04.2013, 19:01
Появился и таймер. А вот как его отключить? Ибо FTMON надо запускать при выключенном таймере.
Я как-то упустил из виду, что таймер включался вручную :) Сделаю кнопку на тулбаре.

---------- Post added at 20:59 ---------- Previous post was at 20:58 ----------

Исправил ещё одну ошибку, XONIX заработал.

---------- Post added at 21:01 ---------- Previous post was at 20:59 ----------


На эмулируемой ДВК-1 @ 5.3 МГц тест SPEED.SAV ( он есть на первом образе DX ) даёт такой результат:
Если бы я ещё знал, какие числа должны быть... :rolleyes:
Хотя, один хрен, задержки на шине всё равно пока не эмулируются.

Alex_K
14.04.2013, 19:05
Я как-то упустил из виду, что таймер включался вручную :) Сделаю кнопку на тулбаре.
Надо тогда и переключатель "ПРОГРАММА/ПУЛЬТ", чтобы в пультовый отладчик вылазить.

b2m
14.04.2013, 20:27
Для этого есть красная кнопка "Сброс", или Ctrl+Break

Alex_K
14.04.2013, 21:02
Для этого есть красная кнопка "Сброс", или Ctrl+Break
Неправильно работает. По всей видимости перенесена по аналогии с БК. Там (на БК) действительно на вход IRQ1 подается импульс. Здесь же сигнал должен удерживаться постоянно в положении ПУЛЬТ и сниматься в положении ПРОГРАММА. К тому же когда процессор находится в т.н. HALT-режиме (установлен разряд 10 в PSW), то прерывание по этому сигналу замаскировано. В положении ПУЛЬТ в ДВК можно по шагам отлаживать программу командой "P" в пультовом отладчике.

b2m
14.04.2013, 21:22
Здесь же сигнал должен удерживаться постоянно в положении ПУЛЬТ и сниматься в положении ПРОГРАММА.
А какой это даёт эффект? Я имею ввиду по сравнению с импульсом? После возвращения из режима HALT снова в него входить?


К тому же когда процессор находится в т.н. HALT-режиме (установлен разряд 10 в PSW), то прерывание по этому сигналу замаскировано.
Да, тут недоработочка.
А вообще, что происходит если переключатель перевести в положение ПУЛЬТ, а потом обратно?


В положении ПУЛЬТ в ДВК можно по шагам отлаживать программу командой "P" в пультовом отладчике.
Команда STEP в процессоре у меня пока не реализована - руки не дошли. :)

Alex_K
14.04.2013, 21:34
Если активен сигнал IRQ1 (положение ПУЛЬТ) то при запуске по команде START программа не выполняется, а сразу же сваливается в пульт по адресу запуска. А команда STEP в отличии от START запрещает все прерывания на один шаг, поэтому одна команда стопроцентно выполнится, а если активен сигнал IRQ1, то после выполнения этой команды и произойдет выход в пульт. Таким образом отличие команд START и STEP состоит только в том, что STEP на один шаг запрещает все прерывания (также как и RTT при установленном бите T).

Patron
14.04.2013, 21:58
Если бы я ещё знал, какие числа должны быть...Это они и есть.

При запуске SPEED.SAV результат должен быть таким:


.SPEED

ТЕСТ БЫСТРОДЕЙСТВИЯ

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-РЕГИСТР
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 376

КОМАНДА СЛОЖЕНИЯ РЕГИСТР-ПАМЯТЬ
БЫСТРОДЕЙСТВИЕ (ТЫС.ОП./СЕК) 176
.


---------- Post added at 21:50 ---------- Previous post was at 21:47 ----------


А вообще, что происходит если переключатель перевести в положение ПУЛЬТ, а потом обратно?Ровно то же самое, что и по команде HALT (http://zx.pk.ru/showthread.php?postid=434967)

---------- Post added at 21:58 ---------- Previous post was at 21:50 ----------


когда процессор находится в т.н. HALT-режиме (установлен разряд 10 в PSW), то прерывание по этому сигналу замаскировано.Бит 10 блокирует все внешние прерывания, а бит 11 - блокирует только IRQ1.

У 1801ВМ1 есть глюк обработки прерываний - при возникновении любого аппаратного или программного прерывания старший байт PSW сохраняется в стеке вместе с младшим, потом обнуляется и уже ни при каких условиях обратно не восстанавливается.

При установленном бите 10 - прерывание зависания ( Trap_To_4 ) обрабатывается как HALT-trap - это единственное отличие HALT-моды ВМ1 от USER-моды.

b2m
15.04.2013, 08:39
У 1801ВМ1 есть глюк обработки прерываний - при возникновении любого аппаратного или программного прерывания старший байт PSW сохраняется в стеке вместе с младшим, потом обнуляется и уже ни при каких условиях обратно не восстанавливается.
А во всех доках стоит, что восстанавливается, если возврат происходит на адрес >=160000. Или в доках ошибка?

Alex_K
15.04.2013, 09:18
А во всех доках стоит, что восстанавливается, если возврат происходит на адрес >=160000. Или в доках ошибка?
А в каких доках? Это у 1801ВМ2 восстанавливается бит 8 в PSW, если адрес возврата по RTI/RTT >= 160000.

b2m
15.04.2013, 11:47
Возможно это действительно была дока про ВМ2. Мне казалось, разница там только в процедуре начального пуска и прерываниях в HALT режиме.

Alex_K
15.04.2013, 12:04
Возможно это действительно была дока про ВМ2. Мне казалось, разница там только в процедуре начального пуска и прерываниях в HALT режиме.
Процессоры ВМ1, ВМ2, ВМ3 и по процедуре начального пуска, и по обработке фатальных ситуаций (приводящих в HALT-режим), и по HALT-режиму, и входу/выходу из него довольно резко отличаются.

hobot
17.04.2013, 15:21
b2m, с помощью wcx-плагина от Patrona, и на базе существующего образа DX,
можно для проверки совместимости и просто ради интереса вот отсюда брать и гонять
классические символьные ДВКашные игры (практически все там есть).
http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/rt11_symbol_games/
http://hobot.pdp-11.ru/ukdwk_archive/dwkwebcomplekt/rt11_symbol_games/ - зеркало.

shattered
06.05.2013, 01:13
Отдельной темы по ЕС1842 нет, ну и ладно.

Вопрос: конкретно чем отличается К1810ВМ86М от К1810ВМ86? Известно, что

В качестве базового микропроцессора в ЕС 1842 использован микропроцессор К1810ВМ86М. В отличие от микропроцессора К1810ВМ86 он имеет ряд дополнительных команд (из системы команд 80286), дополнительные шины прерываний и некоторые дополнительные функции для реализации виртуальной памяти.

Функции микропроцессора 80286, не выполняемые в микропроцессоре К1810ВМ86М и КВП, осуществляются с помощью программного эмулятора, размещенного в защищенной области памяти. Таким образом, в ЕС 1842 создан полный функциональный аналог микропроцессора 80286.
Кроме того, для выполнения в мультизадачном режиме программ, написанных для микропроцессора типа 8088/8086, на базе микропроцессора К1810ВМ86М, КВП и программного эмулятора предусмотрен режим виртуализации микропроцессора 8086 (VM86).

Для поддержки этого режима разработана специальная многозадачная операционная система «Дирижер». Она обеспечивает выполнение в четырех разделах прикладных и системных программ, разработанных для ПЭВМ на микропроцессоре типа 8088/8086. В этом режиме на компьютере могут функционировать независимо четыре операционные системы типа MS DOS или СР/М 86.


И что это за Дирижер такой?

shattered
10.05.2013, 00:06
Перенес пост из http://zx.pk.ru/showthread.php?t=21240

МК-88 под видом Искры 1031 даже как-то работает в MESS, но криво (не реагирует на Shift клавиатуры, не грузится с диска...). ЗГ тот, что уже был в MESS (думаю, что он 1:1 совпадает с ЕС1841). BIOS 3.92:

http://img-fotki.yandex.ru/get/5644/264743.2/0_923d6_15417de2_XL.png (http://fotki.yandex.ru/users/shattered/view/598998/)

http://img-fotki.yandex.ru/get/6445/264743.2/0_923d7_e6a23dbf_XL.png (http://fotki.yandex.ru/users/shattered/view/598999/)

---------- Post added at 00:37 ---------- Previous post was at 00:34 ----------

Вдогонку:

МК-88


все дампы есть на http://zxbyte.ru/mk88.htm. Разница в том, что компьютеры ранних и поздних исполнений отличаются. Например, у позднего исполнения для знакогенератора стоит SRAM, а у раннего - ПЗУ. И другие, не менее серьёзные, отличия.


Ассистент-128

Есть статья в ruwiki (http://ru.wikipedia.org/wiki/%D0%90%D1%81%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BD%D 1%82-128) и чей-то комментарий в ru_oldpc (livejournal):



у Ассистента не было контроллера ПДП (8237)
Обращение к диску по 13Н прерыванию полностью обслуживал процессор, со всеми ожиданиями и проверками готовности. Остальная работа при этом замирала, и на экране "снег" появлялся.

---------- Post added at 01:06 ---------- Previous post was at 00:37 ----------

Подключил Ассистент как клон 5150

http://img-fotki.yandex.ru/get/6443/264743.2/0_923d8_f8d936cb_L.png (http://fotki.yandex.ru/users/shattered/view/599000/)

После этого -- черный экран в режиме 40x25 с курсором в углу и все.

Rus
10.05.2013, 12:15
Перенес пост из http://zx.pk.ru/showthread.php?t=21240
После этого -- черный экран в режиме 40x25 с курсором в углу и все.

У меня в васик перескакивает, на ScriptPC

shattered
10.05.2013, 12:39
В отладочном логе видно, что идет попытка грузиться с дискеты, подсунул дискету -- вроде как прочлось, но картинка все та же.

Нужна тех. документация к Ассистенту (и вообще любая документация) и его родной софт. Если есть исходники BIOS (именно исходники, не дизассемблированные) -- совсем хорошо.

Rus
10.05.2013, 13:01
Насчет ПДП - КР1810ВТ37 там всё же есть если не ошибаюсь, проверю. Документацию отсканирую ту что в комплекте.
Родной софт - руссифицированный IBM-овский тест-прогон на бейсике.
Исходников BIOS нет, я навскидку сравнивал куски с исходниками из IBM Technical Reference Manual, один-в один. Попробую дизассемблировать и сравнить полностью.

shattered
10.05.2013, 19:25
Micko уже добавил Ассистент в MESS, а вам спасибо за дамп.

shattered
11.05.2013, 01:56
Нашел тему про Ассистента - http://zx.pk.ru/showthread.php?t=9579 и там пишут, что


Контроллер дисковода у Асистента был PC-совместимый, тоесть 765 (NEC uPD765A)

Но как-то он нестандартно подключен, на форуме MESS пишут, что


It looks to have some non-standard use for bit 7 of the dor. It reads one sector then toggles that bit. It then looks for the FDC to be waiting for data (rather than sending it). <...> I bet bit 7 sets the tc line.

shattered
11.05.2013, 10:28
Похоже, к нему подключались односторонние 80-дорожечные дисководы?

Rus
11.05.2013, 13:24
c TEAC FD-55BR я его заставить работать так и не смог. К сожалению, я не электронщик, поэтому причину определить мне сложно. Читает только с МС-5305, записывать на дискеты тоже не получается, скорей тут уже причина в дисководе.

shattered
11.05.2013, 18:13
MESSdevs пилят asst128 и говорят, что дамп знакогенератора неполный -- с F4000 начинаются символы 0x80 -- http://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=88386#Post88386

Можете проверить, есть ли другая половина?

Rus
11.05.2013, 21:29
ув. тов. SoftCat поделился полными прошивками от Ассистента. Остается только Бейсик скинуть. Хотя там наверняка байт-в байт IBM-овский бейсик за исключением копирайта смоленского при запуске.

shattered
11.05.2013, 21:50
Я тем временем пытаюсь заставить MESS эмулировать Поиск-овое видео, пока успехов нет :(

Rus
11.05.2013, 22:04
в 2003 году исправлял в MESS эмуляцию 8253 - куча игр не запускалась. С удовольствием бы помог, знать бы чем.

shattered
11.05.2013, 22:39
Уже что-то получается :)

http://img-fotki.yandex.ru/get/5647/264743.2/0_9268c_d7016a97_XL.png (http://fotki.yandex.ru/users/shattered/view/599692/)

Tronix
11.05.2013, 22:50
Афаик плохо только одно - то, что в MESS очень не точно эмулируется 8088, в смысле по таймингам. И к реальной скорости Поиска его так просто не подогнать. Скорость будет завышена или будет вообще не постоянна.. Вот это смущает. Так же как и в других эмуляторах 8088, кроме как PCem. Там синхронизация выполнена с виду нормально, но код явно студенческий, поэтому при правке сорцов возникает неумолимое желание "вообще все нафиг переписать". Плюс ко всему нет обработки NMI в полном понимании, есть костыли когда это нужно в обход как-бы общего смысла... Жаль афтор забил на проект - имхо вполне годный эмулятор бы получился.

Rus
11.05.2013, 23:07
Есть статья в ruwiki и чей-то комментарий в ru_oldpc (livejournal):
Цитата:
у Ассистента не было контроллера ПДП (8237)


Проверил Ассистент - ПДП (КР1810ВТ37 = i8237) там действительно нет.
На контроллере дисковода Um8272A.

---------- Post added at 00:07 ---------- Previous post was at 00:03 ----------


Афаик плохо только одно - то, что в MESS очень не точно эмулируется 8088, в смысле по таймингам.

А PCE (http://hampa.ch) не смотрели?

Tronix
11.05.2013, 23:14
А PCE (http://hampa.ch) не смотрели?

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

shattered
11.05.2013, 23:41
Надо глянуть cpu core -- обычно там указывают число тактов на команду

shattered
12.05.2013, 09:07
c TEAC FD-55BR я его заставить работать так и не смог. К сожалению, я не электронщик, поэтому причину определить мне сложно. Читает только с МС-5305, записывать на дискеты тоже не получается, скорей тут уже причина в дисководе.

MESSdevs спрашивают, какие дисководы с ним шли изначально -- очень похоже, что таки односторонние, ибо тот BIOS, который вы дали, перед выдачей команд контроллеру преобразует номера цилиндров и головок к "одностороннему" виду. В итоге -- драйвер asst128 уже грузится в DOS :-)

Rus
12.05.2013, 11:23
Изначально в комплекте с ним ничего не было кроме магнитофонного шнура :)

Умельцы паяли платы расширения с контроллером дисковода - у меня как раз такой самопал с доп.памятью и контроллером. Плата вставляется в разьем расширения снизу.

---------- Post added at 12:23 ---------- Previous post was at 12:20 ----------

Мне говорили что прошивка на нем модифицированная для работы с дисководами.

shattered
12.05.2013, 11:49
Тогда интересный вопрос: какая из 4 прошивок оригинальная? :)

SHA1 (softcat/MAINBIOS.BIN) = 41d14137ffa651977041da22aa8071c0f7854158
SHA1 (softcat/ROMBIOS7.BIN) = a731a65ee547f1d78cfc91461f38166da014f3dc
SHA1 (softcat/ROMBIOS8.BIN) = b2533b8f8240f72b7315f27c7b64f95ac52687ca
SHA1 (rus/asFC00-FF00.BIN) = 70c4da47700f9925fd04049f16d54610c743ed8b

Фотографии платы контроллера (и материнской) будут весьма кстати.

Rus
12.05.2013, 12:03
В понедельник постараюсь отсканировать руководство по эксплуатации на работе. Фото тоже.
У него есть еще перемычки на плате ПЗУ - о наличии, количестве, типе (40-80 дорожек) дисковода, наличие доп. памяти.

Скорей, у softcat оригинальная, я в своем файле прошивки модифицирова два байта для корректного прохождения POST, т.к. в эмуляторе один из тестов не проходился и всё уходило на HLT :) Видимо вам по ошибке эту версию и выслал

shattered
13.05.2013, 00:22
А скажите, что на что исправили -- я верну на место

Rus
13.05.2013, 01:43
Вот немодифицированный (http://rghost.ru/45959547), кстати, последние 8кб совпадают полностью с MAINBIOS.BIN от SoftCat.
А вот файлы ROMBIOS7 и ROMBIOS8 это что то непонятное, по ходу дела они вообще не от Асс-128.

shattered
15.05.2013, 20:18
А в первые 8 кб, видимо, вписали поддержку флоппи?

shattered
15.05.2013, 23:33
А вот файлы ROMBIOS7 и ROMBIOS8 это что то непонятное, по ходу дела они вообще не от Асс-128.

Это файлы для зашивки в ПЗУ -- нечетные и четные байты соответственно

---------- Post added at 00:33 ---------- Previous post was at 00:13 ----------

... а результат слияния совпадает с asFC00.BIN.

Rus
28.05.2013, 00:29
А в первые 8 кб, видимо, вписали поддержку флоппи?

Вполне может быть, но, насколько помню, там пусто не было по "дефолту"

---------- Post added at 01:29 ---------- Previous post was at 01:26 ----------



... а результат слияния совпадает с asFC00.BIN.

Замечательно, разобрались тогда :)

shattered
20.09.2013, 22:59
Пилю МС1502 дальше. За прошедший год в MESS добавился дамп BIOS 5.33, который (как и 5.31) рассчитан на другое подключение контроллера флоппи (порты 4xH вместо 10xH) -- это пока не работает.

Починил (при помощи messdevs) работу с флоппи. Полного дампа OTS все еще нет.

Добавил работу с ИРПР (только на вывод), ИРПС (проверить не удается) и вывод на кассету. Убрал "двоение" стрелок на дополнительной клавиатуре.

shattered
23.09.2013, 00:45
Взялся за эмуляцию клавиатуры ЕС1841. Построена на 1816ВЕ48, как и клавиатуры оригинальных PC и XT, но остальное отличается.

Мои догадки о том, как работает ВЕ48 в клавиатуре. Схема все же нужна :-)

- не используются прерывания и вход T0
- к входу T1 подключен выход мультиплексора КП7
- порт BUS управляет КП7 (биты 6-4) и дешифратором ИД3 (биты 3-0)
- порт P1 управляет светодиодами (биты 7-5) и на него же подаются входные сигналы с линии (CLOCK, DATA). Подключен ли сигнал RESET с линии — неясно.
- порт P2: бит 0 управляет КП7 (строб), далее загадочно: 1 и 6 — CLOCK в линию, 2 и 5 — DATA в линию, 3-4 не используются, 7 — ???

На данный момент скелет драйвера клаватуры проходит тест в BIOS, но что-то мешает прошивке посылать скан-коды.

(кросс-пост в http://www.phantom.sannata.ru/forum/index.php?t=6122)

dk_spb
23.09.2013, 06:55
shattered, А объясните мне, серому, зачем клаву эмулировать таким образом?
Ну посылает она какие-то сканкоды, посылку их и надо эмулировать. А в "душу"-то клаве лезть зачем?

shattered
23.09.2013, 08:52
Для точности, и чтобы не переписывать заново алгоритм работы, который уже реализован в прошивке.

В MESS к эмуляции поведения (HLE, high level emulation) прибегают, когда недоступны копии прошивок или описание процессора, на котором они работают.

shattered
24.09.2013, 08:16
Клавиатура почти готова (на картинке результат удачного теста из ТПС), но клавиши нажимаются туго (не с первого раза) :-)

http://img-fotki.yandex.ru/get/9065/264743.2/0_9d048_5e769740_XL.png (http://fotki.yandex.ru/users/shattered/view/643144/)

dk_spb
24.09.2013, 11:42
shattered, СИльнее давить не пробовал ;-)

shattered
24.09.2013, 21:03
Продул клавиатуру, теперь работает :-)

Нестандартные скан-коды:

54 Left Shift
55 Right Shift
56 Caps Lock
57 ЛАТ
58 Р/Л (левый)
59 ИНФ
5A Р/Л (правый)
5B РУС
5C ё
2A ю
36 х
3A ъ

shattered
25.09.2013, 22:10
Пилю МС1502 дальше. За прошедший год в MESS добавился дамп BIOS 5.33, который (как и 5.31) рассчитан на другое подключение контроллера флоппи (порты 4xH вместо 10xH) -- это пока не работает.

Починил (при помощи messdevs) работу с флоппи. Добавил работу с ИРПР (только на вывод), ИРПС (проверить не удается) и вывод на кассету. Убрал "двоение" стрелок на дополнительной клавиатуре.

Все это (и работа с флоппи под BIOS 5.3x) уже в MESS SVN.

dk_spb, будто бы у вас есть дискеты с OTS?

dk_spb
26.09.2013, 05:51
Ну я же Вам писал что есть то ли 2 то ли 3 дискеты из комплекта (вроде 6 в комплекте).
А образ SF-DOS так я вообще где-то тут с форума скачал (SF-DOS 1.0, 1990 Sigma-4, InfoNet; явная передалка PC-DOS 3.30)

shattered
26.09.2013, 08:14
Да, потому и спросил. Есть маленькая деталь -- OTS при старте пытается читать трек 81, котороого нет ни в одном имеющемся дампе, поэтому нужен новый.

shattered
26.09.2013, 23:13
Начал делать в MESS трехканальный звук в apogee. Образчики из http://zx.pk.ru/showthread.php?t=21500 звучат (не уверен, насколько корректно), но скорость эмуляции сильно проседает во время проигрывания.

shattered
27.09.2013, 20:37
Собрал доступные исходники BIOS в https://github.com/shattered/retro-bios

Если есть что-то еще -- дайте знать, добавлю

shattered
28.09.2013, 14:12
Начал делать в MESS трехканальный звук в apogee. Образчики из http://zx.pk.ru/showthread.php?t=21500 звучат (не уверен, насколько корректно), но скорость эмуляции сильно проседает во время проигрывания.

Уже в SVN -- r25448.

Дописал поддержку переключения модулей памяти в ec1841 -- проходят тесты ТПС и работает VDISK.SYS:
http://img-fotki.yandex.ru/get/9555/264743.2/0_9d2a9_71c0d17_XL.png (http://fotki.yandex.ru/users/shattered/view/643753/)

shattered
29.09.2013, 22:02
Это, а также родная клавиатура также в SVN -- r25458.

ЛАТ назначена на F11, РУС на F12, РУС/ЛАТ -- на RAlt и RCtrl, остальные (ИНФ, ё...) нужно назначать вручную.

Чтобы оценить vdisk.sys, MESS нужно запускать так:

mess -ram 2m <...> ec1841 <...>
VDISK.SYS есть в комплекте с Альфа-ДОС и настраивается так [1]:

device=vdisk.sys 1536 512 128 /e

[1] http://eska.xost.ru/doc/adoshelp.txt

shattered
27.11.2013, 21:31
anasana поделился работоспособным дампом М86 и вот результат:
http://img-fotki.yandex.ru/get/9258/264743.3/0_9f8e9_7eeb65d4_XL.png (http://fotki.yandex.ru/users/shattered/view/653545/)

dk_spb
28.11.2013, 11:23
anasana поделился работоспособным дампом М86
Так ты не спрашивал. Есть полный комплект дискет от 1841 и дискеты от "модулей профессиональной ориентации". Со временем (когда оно появится) я выложу себе на веб, но если что-то нужно срочно - спрашивай в ЛС.

shattered
28.11.2013, 20:50
Из всего, что относится к 1841, особенно интересен синтезатор речи :)

dk_spb
28.11.2013, 21:09
Ну нет у меня пока времени на синтезатор. Тем более там доки А3, а у меня нет такого сканера. Дискету могу сдампить, только толку от неё без всего остального...

shattered
28.11.2013, 22:03
Лучше раньше, чем позже, а то еще посыпется :(

shattered
05.12.2013, 19:55
fun fact: эмулируемая МС1502 в разы медленее, чем реальная СМ1810.42 (что бы это ни было)
http://img-fotki.yandex.ru/get/5009/264743.3/0_9fbda_c0adfbff_XL.png (http://fotki.yandex.ru/users/shattered/view/654298/)
(скриншот русифицированного checkit 3.0)

Tronix
05.12.2013, 21:06
Вот об этом я и говорил - в МЕСС все хорошо, кроме полного пренебрежения тактами процессора

shattered
05.12.2013, 21:26
Как проверить?

Tronix
05.12.2013, 21:49
Как проверить?

Посмотреть на код эмуляции x86 cpu.

shattered
05.12.2013, 22:48
Такты есть. Что не так-то?

abelenki
25.12.2013, 07:02
shattered, можешь помочь с этими ромами?:

[folder: asst128 - parent: ibm5150 - size: 64kb]
missing rom: rombios7.bin [size: 8192] [CRC32: 7d7c8d6a] [SHA1: a731a65ee547f1d78cfc91461f38166da014f3dc]
missing rom: rombios8.bin [size: 8192] [CRC32: ba304663] [SHA1: b2533b8f8240f72b7315f27c7b64f95ac52687ca]

спасибо.

shattered
26.12.2013, 00:51
Вот все, что изменились или появились по сравнению с 0.149 rom set

Источники -- в основном этот же форум или ссылки с него.

shattered
26.12.2013, 00:53
Продолжение:

Shiny
23.04.2018, 16:50
На Яндекс-Диске:

папки "Журналы","ЮТ-88","Электроника МС 1502","Специалист", Слайды, Сайты,Пк8020 - Корвет,Поиск пустые. Есть у кого?