Piotr Piatek сделал софтинку для считывания ПЗУ МК92 v2.0, silensilen как раз давал мне оную на ремонт, поэтому появилась возможность считать ПЗУ, держите архив:
https://drive.google.com/open?id=1dE...RnR4VTrMrUVZXm
К вечеру ещё запишу сэмплы магнитофонные. @DDp приготовиться)))
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
Подготовил магнитофонные сэмплы. https://drive.google.com/drive/folde...Fb?usp=sharing
По ссылке 4 файла:
1) MK92 Test.wav - то, что записывает встроенный тест магнитофона (проверил на воспроизведение - тест пройден)
2) mk92 empty test.bas.wav - пустой бейсик-файл
3) mk92 byte.bas.wav - непустой бейсик-файл
4) mk92 bin.bin 10000 1000.wav - файл, выгруженный командой @CSAVE"BIN.BIN"10000,1000
Словил глюк бейсика. Набрал небольшую программку, дал команду @CSAVE"BYTEMAN.BAS", получил "ошибку". После этого LIST, RUN вываливали мусор на экран, калькулятор пришлось перезагружать. Также при каких-то условиях непонятных инвертировалось поведение НР/ВР для буквенных клавиш... Мне кажется, что забагован этот бейсик 2.0.
- - - Добавлено - - -
Только сейчас заметил, что тон - разный... С чем связано, не знаю... Так выдал калькулятор, возможно ковыряние в прочитанных дампах даст какой ответ.
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
С уважением, Александр.
Scorpion ZS-256 Turbo+ GMX-2048
SID-Blaster/ZX
Музей ретрокомпьютеров в Минске!
Здесь ничего нет => http://byteman.by
И здесь тоже --->>> http://bytespace.by
На низком уровне формат записи совпадает с форматом записи на ленту MSX. Частота (высокий тон) 2060 Гц vs 2400 Гц у MSX. (да, почему-то «empty test.bas.wav» частота ниже - 1900 Гц)
Пауза между блоками в некоторых случаях отсутствует, в некоторых очень короткая - 12 мс.
На высоком уровне свои особенности. Заголовок повторяется три раза, затем также три раза блок данных.
Структура заголовка совсем другая. Длина 14 байт. Первые два байта константа 0x01, затем имя до 10 знаков (короткое дополняется нолями), завершает 16-битная контрольная сумма (little-endian).
Данные. В этих выгрузках всегда 512 байт, плюс два байта контрольная сумма.
В выгрузке встроенного теста нет заголовка, только тройной блок данных длиной 512 байт без контрольной суммы. Выгружается, кстати, кусок ПЗУ - MK92v2.0_ROM.zip/2_mk92.bin
---
В моём сгенерированном wav файле длинна данных округлена до 8 в большую сторону (так же, как в msx-ном cas-файле), т.е. в заголовке "лишние" два байта и блоке данных шесть байт.
фдеукю у-ьфшдЖ ввз"шярюсщь D356 47C0 35F8 F55E 8A52 A88F F3F8 B003 03EB 3D7F
Давно тут не было новостей.
Решил заняться вопросом этих док-станций. Да и в принципе вопросом упорядочивания информации по МК90 и МК92. Откопанное складирую тут: https://github.com/Bs0Dd/MK90-info
У самого есть только МК90 1.0, но получилось "дотянуться" до человека с МК92 2.0 и соответствующим МК90 и произвести некоторые тесты.
Вообще, если говорить о распределении памяти в МК90 - мы имеем 7 зон:
- Статическое ОЗУ 8x2КБ (РУ10Б)
- Вторичное ПЗУ (РЕ1-0009 в МК90 2.0 или одна из страниц РЕ1-0010 в МК92 2.0)
- Первичное ПЗУ, часть 1 (РЕ1-0001 или РЕ1-0008)
- Системное ПЗУ (выделенная в ВГ5 зона, по факту читает первичное ПЗУ, если включена)
- Периферия (периферийные регистры всяких контроллеров)
- Первичное ПЗУ, часть 2 (снова читается часть РЕ1)
- Периферия 2 (часть контроллеров имеют свои адреса там)
Более подробно о них можно глянуть тут: https://github.com/Bs0Dd/MK90-info/b...H/mk90mmap.txt
Нас, естественно, интересуют в первую очередь зоны 5 и 7. Это, в общем то, единственные зоны, где МК90 может заработать BUS ERROR, если попробовать обратиться к пустому слову.
Для сканирования регистров и вывода их содержимого написал небольшую утилиту: https://github.com/Bs0Dd/MK90-projs/tree/master/PERREG
Собственно, провел тестирование на своей МК90 1.0: https://github.com/Bs0Dd/MK90-info/b...H/rgsc9010.txt
И вот недавно получил результаты теста на МК90 2.0 + МК92 2.0: https://github.com/Bs0Dd/MK90-info/b...H/rgsc9220.txt
Собственно, на этом + другой собранной информации и базирую свои "исследования".
Итак, между МК90 1.0 и 2.0 особой разницы вроде нет. Единственное весомое отличие в двух разных ревизиях контроллерной платы:
- Ранняя (88-89 год) - три чипа с одной стороны, два с другой. Много перемычек, и вроде меньше слоев самой платы.
- Поздняя (>=90 год) - все чипы с одной стороны, перемычек нет, больше слоев и естественно совершенно иная трассировка.
Причем исходя из тех фото, что я видел, обе платы могли попасться как на МК90 1.0, так и на 2.0. Может в 2.0 их ставили, чтобы опытные излишки в дело пустить, кто знает...
Ну и, естественно, в 2.0 стоят две РЕ1 (основная + тесты) с БЕЙСИКом 2.0, против одной с БЕЙСИКом 1.0.
Что же до док станций. Фактически мы имеем два разных устройства в одинаковом корпусе и с небольшими внешними отличиями:
- Ранняя док станция 1.0. Внутри реализован только плоттер (плата IZM. 00). Для его управления используется опытная микросхема КА1835Д51. Очевидно, для обмена она имеет последовательный интерфейс, поэтому прямо там же на плате к ней приставлен КА1835ВГ4, регистры которого вроде как закрепляются по адресам 164060 - 164067. Разъемы МФ и ВУ - пустышки. Поставлялась с МК90 1.0 и двумя СМП. На одном - патч для БЕЙСИКа 1.0, до т.н. версии 2.0 с микроплоттером. На другом - программа теста и обслуживания плоттера. Что интересно, в эмуляции патч БЕЙСИКА при попытке вывода информации на плоттер начинает обращаться в диапазон 177510 - 177517. Что там может быть - разве что дубликация встроенного ВГ4, больше вроде на плате нет каких-то контроллеров, способных иметь свои регистры. Либо я чего-то не понимаю, что впрочем не исключено при отсутствии схемы и результатов теста регистров на этой ревизии.
- Поздняя док станция 2.0. Реализованы плоттер, магнитофон и АДСА (полагаю, так назвали UART, физически используется токовая петля, т.е. ИРПС). Платы IZM. 01 и 02 (вроде 02 отличается от 01 только более упорядоченной трассировкой). Плоттером, магнитофоном и управлением встроенным ПЗУ рулит КА1835ВГ6, ее два регистра прикреплены к диапазону 164200 - 164203. Встроенное ПЗУ РЕ1-0010 проецируется на окно в виде зоны 2 (040000 - 077777) одной из двух страниц по 16КБ. Есть место под вторую РЕ1, но его не задействовали. В банке 1 лежит расширение для Бейсика 2.0 (через команду @), в банке 2 - тесты магнитофона, АДСА и телевизора. АДСА реализован на КА588ВА4 в режиме 0. Таймерный регистр находится на 177546 - 177547, остальные в диапазоне 177560 - 177567. Есть задел под полумифическую ТВ микросхему КА1835ВГ8 и ОЗУ для нее (8x2КБ РУ10Б как я понял). Судя по тесту телевизора в ПЗУ - ВГ8 полагалось иметь два регистра на 164010 - 164013. Естественно разъем ТВ здесь - пустышка. Еще к этой ревизии тоже прилагался СМП модуль с обновленными тестами. Набор содержит тесты плоттера, магнитофона и АДСА. Чего правда я пока не могу понять - судя по всему МК92 2.0 также добавляет некий регистр по 164036 - 164037. И в прошивке BASIC 2.0 этот регистр периодически тестируется. По нему явно определяется наличие МК92 перед попыткой загрузить тесты с его ПЗУ. Но вот вроде как частью ВГ6 по документации он не является. Частью ВА4 тем более. Больше контроллеров в этой ревизии по имеющимся схемам я не вижу... довольно странно. У меня на МК90 1.0 это регистр пустышка, надо будет уточнить, что отображается на МК90 2.0 бех МК92.
Начал потихоньку расковыривать содержимое ПЗУ МК92 2.0 и СМП как к 2.0, так и к 1.0, потому как дизасмов нет и вряд ли будут, поскольку Петр Пёнтек этим всем, к сожалению, больше не занимается.
А там может и найдутся какие-то объяснения "тайным" регистрам обоих док станций.
На пока что это наверное все, что я знаю.
10 PRINT "Hello ZX-PK.RU"
20 GO TO 10
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)