в 2003 году исправлял в MESS эмуляцию 8253 - куча игр не запускалась. С удовольствием бы помог, знать бы чем.
Вид для печати
в 2003 году исправлял в MESS эмуляцию 8253 - куча игр не запускалась. С удовольствием бы помог, знать бы чем.
Уже что-то получается :)
http://img-fotki.yandex.ru/get/5647/...7016a97_XL.png
Афаик плохо только одно - то, что в MESS очень не точно эмулируется 8088, в смысле по таймингам. И к реальной скорости Поиска его так просто не подогнать. Скорость будет завышена или будет вообще не постоянна.. Вот это смущает. Так же как и в других эмуляторах 8088, кроме как PCem. Там синхронизация выполнена с виду нормально, но код явно студенческий, поэтому при правке сорцов возникает неумолимое желание "вообще все нафиг переписать". Плюс ко всему нет обработки NMI в полном понимании, есть костыли когда это нужно в обход как-бы общего смысла... Жаль афтор забил на проект - имхо вполне годный эмулятор бы получился.
Проверил Ассистент - ПДП (КР1810ВТ37 = i8237) там действительно нет.
На контроллере дисковода Um8272A.
---------- Post added at 00:07 ---------- Previous post was at 00:03 ----------
А PCE (http://hampa.ch) не смотрели?
Надо глянуть cpu core -- обычно там указывают число тактов на команду
MESSdevs спрашивают, какие дисководы с ним шли изначально -- очень похоже, что таки односторонние, ибо тот BIOS, который вы дали, перед выдачей команд контроллеру преобразует номера цилиндров и головок к "одностороннему" виду. В итоге -- драйвер asst128 уже грузится в DOS :-)
Изначально в комплекте с ним ничего не было кроме магнитофонного шнура :)
Умельцы паяли платы расширения с контроллером дисковода - у меня как раз такой самопал с доп.памятью и контроллером. Плата вставляется в разьем расширения снизу.
---------- Post added at 12:23 ---------- Previous post was at 12:20 ----------
Мне говорили что прошивка на нем модифицированная для работы с дисководами.
Тогда интересный вопрос: какая из 4 прошивок оригинальная? :)
SHA1 (softcat/MAINBIOS.BIN) = 41d14137ffa651977041da22aa8071c0f7854158
SHA1 (softcat/ROMBIOS7.BIN) = a731a65ee547f1d78cfc91461f38166da014f3dc
SHA1 (softcat/ROMBIOS8.BIN) = b2533b8f8240f72b7315f27c7b64f95ac52687ca
SHA1 (rus/asFC00-FF00.BIN) = 70c4da47700f9925fd04049f16d54610c743ed8b
Фотографии платы контроллера (и материнской) будут весьма кстати.
В понедельник постараюсь отсканировать руководство по эксплуатации на работе. Фото тоже.
У него есть еще перемычки на плате ПЗУ - о наличии, количестве, типе (40-80 дорожек) дисковода, наличие доп. памяти.
Скорей, у softcat оригинальная, я в своем файле прошивки модифицирова два байта для корректного прохождения POST, т.к. в эмуляторе один из тестов не проходился и всё уходило на HLT :) Видимо вам по ошибке эту версию и выслал
А скажите, что на что исправили -- я верну на место
Вот немодифицированный, кстати, последние 8кб совпадают полностью с MAINBIOS.BIN от SoftCat.
А вот файлы ROMBIOS7 и ROMBIOS8 это что то непонятное, по ходу дела они вообще не от Асс-128.
А в первые 8 кб, видимо, вписали поддержку флоппи?
Пилю МС1502 дальше. За прошедший год в MESS добавился дамп BIOS 5.33, который (как и 5.31) рассчитан на другое подключение контроллера флоппи (порты 4xH вместо 10xH) -- это пока не работает.
Починил (при помощи messdevs) работу с флоппи. Полного дампа OTS все еще нет.
Добавил работу с ИРПР (только на вывод), ИРПС (проверить не удается) и вывод на кассету. Убрал "двоение" стрелок на дополнительной клавиатуре.
Взялся за эмуляцию клавиатуры ЕС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)
shattered, А объясните мне, серому, зачем клаву эмулировать таким образом?
Ну посылает она какие-то сканкоды, посылку их и надо эмулировать. А в "душу"-то клаве лезть зачем?
Для точности, и чтобы не переписывать заново алгоритм работы, который уже реализован в прошивке.
В MESS к эмуляции поведения (HLE, high level emulation) прибегают, когда недоступны копии прошивок или описание процессора, на котором они работают.
Клавиатура почти готова (на картинке результат удачного теста из ТПС), но клавиши нажимаются туго (не с первого раза) :-)
http://img-fotki.yandex.ru/get/9065/...e769740_XL.png
shattered, СИльнее давить не пробовал ;-)
Продул клавиатуру, теперь работает :-)
Нестандартные скан-коды:
54 Left Shift
55 Right Shift
56 Caps Lock
57 ЛАТ
58 Р/Л (левый)
59 ИНФ
5A Р/Л (правый)
5B РУС
5C ё
2A ю
36 х
3A ъ
Ну я же Вам писал что есть то ли 2 то ли 3 дискеты из комплекта (вроде 6 в комплекте).
А образ SF-DOS так я вообще где-то тут с форума скачал (SF-DOS 1.0, 1990 Sigma-4, InfoNet; явная передалка PC-DOS 3.30)
Да, потому и спросил. Есть маленькая деталь -- OTS при старте пытается читать трек 81, котороого нет ни в одном имеющемся дампе, поэтому нужен новый.
Начал делать в MESS трехканальный звук в apogee. Образчики из http://zx.pk.ru/showthread.php?t=21500 звучат (не уверен, насколько корректно), но скорость эмуляции сильно проседает во время проигрывания.
Собрал доступные исходники BIOS в https://github.com/shattered/retro-bios
Если есть что-то еще -- дайте знать, добавлю
Уже в SVN -- r25448.
Дописал поддержку переключения модулей памяти в ec1841 -- проходят тесты ТПС и работает VDISK.SYS:
http://img-fotki.yandex.ru/get/9555/...71c0d17_XL.png
Это, а также родная клавиатура также в SVN -- r25458.
ЛАТ назначена на F11, РУС на F12, РУС/ЛАТ -- на RAlt и RCtrl, остальные (ИНФ, ё...) нужно назначать вручную.
Чтобы оценить vdisk.sys, MESS нужно запускать так:
VDISK.SYS есть в комплекте с Альфа-ДОС и настраивается так [1]:Код:mess -ram 2m <...> ec1841 <...>
[1] http://eska.xost.ru/doc/adoshelp.txtКод:device=vdisk.sys 1536 512 128 /e
anasana поделился работоспособным дампом М86 и вот результат:
http://img-fotki.yandex.ru/get/9258/...eeb65d4_XL.png
Из всего, что относится к 1841, особенно интересен синтезатор речи :)
Ну нет у меня пока времени на синтезатор. Тем более там доки А3, а у меня нет такого сканера. Дискету могу сдампить, только толку от неё без всего остального...
Лучше раньше, чем позже, а то еще посыпется :(
fun fact: эмулируемая МС1502 в разы медленее, чем реальная СМ1810.42 (что бы это ни было)
http://img-fotki.yandex.ru/get/5009/...0adfbff_XL.png
(скриншот русифицированного checkit 3.0)
Вот об этом я и говорил - в МЕСС все хорошо, кроме полного пренебрежения тактами процессора
Как проверить?
Такты есть. Что не так-то?
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]
спасибо.