PDA

Просмотр полной версии : Ещё один рабочий оригинал СОЮЗ-НЕОН



IgorR76
19.08.2020, 16:31
Совместно с xolod и Hunta удалось восстановить экземпляр Союз-Неона.
Его объём ОЗУ - 2560 кб.
Изначально он запускался, но зависал при загрузке ос. После долгих разбирательств с железом и программной поддержки (написание теста) от Hunta была выявлена некорректная дешифрация адресов портов в/в. Решилось установкой правильной перемычки (было несоответствие схеме). А далее уже была замена таймера ви53, т.к. комп некорректно играл мелодию всем известной демки.
Протестировал — теперь комп полностью исправен и работает надёжно, не глючит. На удивление!
В этом экземпляре прерывание rtc взято не с ви1 (там 64 гц), а с формирователя видео (50 гц). Это влияет, в частности, на скорость проигрывания мелодий. При 50гц музыка имеет нормальную скорость и заканчивается точно с окончанием демки. Считаю, что разработчики именно так и задумывали.
Если эмуляторописателям нужны тесты или какие-либо другие данные — можно их получить.

Hunta
19.08.2020, 16:48
(написание теста) от Hunta
Это громко сказано :) Я всего лишь адаптировал (работы на... уже не помню сколько, но очень недолго) всем известную программу IOSCAN :)


удалось восстановить экземпляр Союз-Неона.
Поздравляю с запуском :)

troosh
19.08.2020, 17:27
Примите и мои поздравления!

Да, прерывания от VSYNC штука более полезная и привычная. Хотя, с учëтом вариантов машин с 72 Гц кадровой, иметь разные прерывание и от часов и от VSYNC было бы ещë интереснее.

BYTEMAN
19.08.2020, 22:41
Поздравляю! Интерфейс жёсткого диска МФМ проверяли?

Titus
19.08.2020, 23:34
Если эмуляторописателям нужны тесты или какие-либо другие данные — можно их получить.
Эмуляторописатель Союз-Неона - только один пока что)

- - - Добавлено - - -


В этом экземпляре прерывание rtc взято не с ви1 (там 64 гц), а с формирователя видео (50 гц).
В эмуляторе тоже прерывания от видео.

- - - Добавлено - - -

Фотки лучше не прикреплять к форуму, от их качества не остается практически ничего.

xolod
19.08.2020, 23:51
Titus, Вывод IOSCAN на эмуляторе и оригинале существенно отличаются.
На оригинале так:
161000-161776
174000-177676

Titus
20.08.2020, 00:15
Titus, Вывод IOSCAN на эмуляторе и оригинале существенно отличаются.
На оригинале так:
161000-161776
174000-177676
А в эмуляторе? )

xolod
20.08.2020, 00:21
А в эмуляторе? )

https://i.ibb.co/jwyJ3ts/IMG-20200820-001908.jpg

Titus
20.08.2020, 00:41
Я думаю, что это потому что я делал по документации, а там не все подробности сказаны.
Например, по твоему тесту видно, что все пространство 174000-177676 (видимо, с повторениями). А я делал только те регистры, которые явно описаны.

IgorR76
20.08.2020, 00:58
Поздравляю! Интерфейс жёсткого диска МФМ проверяли?

Не проверяли. Диска нет. Если Рита выйдет на связь со своими дисками — можно проверить.
Информация со старых дисков вся считана и сохранена?

troosh
20.08.2020, 01:28
Помнится я такую wiki страничку делал (по докам и исходникам):
https://github.com/troosh/pk11-16/wiki/pk11regsmap

TheGWBV
20.08.2020, 15:59
Не проверяли. Диска нет. Если Рита выйдет на связь со своими дисками — можно проверить.
Информация со старых дисков вся считана и сохранена?

Диск мёртв. С момента вывоза от первого владельца. Предположительно, он в 90-е сделал резервную копию разделов. Они все опубликованы.

Из практических соображений в дальнейшем нацеливаюсь на пользование диском IDE...

IgorR76
20.08.2020, 16:31
Поздравляю! Интерфейс жёсткого диска МФМ проверяли?
Из практических соображений в дальнейшем нацеливаюсь на пользование диском IDE...
Я тоже так думаю. Мфм не нужен. А IDE сделаем.

Manwe
21.08.2020, 10:25
В этом экземпляре прерывание rtc взято не с ви1 (там 64 гц), а с формирователя видео (50 гц).А известно в какой момент времени происходит прерывание? По достижению лучом конца экрана или начала экрана или ещё в каком-то месте?

IgorR76
21.08.2020, 10:43
Manwe, при возможности посмотрю.

Manwe
29.08.2020, 12:33
Manwe, при возможности посмотрю.В эмуляторе Союз-Неона, как ни странно, правильно пишется текущая дата.

Titus
29.08.2020, 12:53
В эмуляторе Союз-Неона, как ни странно, правильно пишется текущая дата.
При запуске эмулятора я записываю в регистр TMR_YEAR год. 2000 - 0, 2001 -1, и т.д.

IgorR76
31.08.2020, 04:16
Совместно с xolod и Hunta удалось восстановить экземпляр Союз-Неона.

И вчера на этом компе была написана новая программа, пожалуй, первая за 30 лет. Пусть это всего лишь "Hello, World!", но это шаг Союз-Неона из небытия в новое тысячелетие.

TheGWBV
31.08.2020, 07:43
И вчера на этом компе была написана новая программа, пожалуй, первая за 30 лет. Пусть это всего лишь "Hello, World!", но это шаг Союз-Неона из небытия в новое тысячелетие.

А можно по-подробнее про написание программы?
И образ дискеты с ней и средой разработки бы :)

IgorR76
31.08.2020, 08:57
TheGWBV, программист не я. Надеюсь, когда будет написана дема, он сам всё расскажет.

Manwe
31.08.2020, 09:32
Пора создавать отдельный раздел на форуме про Союз-Неон...

troosh
02.09.2020, 00:23
В этом экземпляре прерывание rtc взято не с ви1 (там 64 гц), а с формирователя видео (50 гц). Это влияет, в частности, на скорость проигрывания мелодий. При 50гц музыка имеет нормальную скорость и заканчивается точно с окончанием демки. Считаю, что разработчики именно так и задумывали.

Да, в описании работы со звуком пишут именно про 1/50 сек. (https://raw.githubusercontent.com/troosh/pk11-16/master/Snd/VPSNC1.DOC.txt )

Кстати, а ПЗУ там имеет такое же содержимое или отличается дамп?

IgorR76
02.09.2020, 22:01
Кстати, а ПЗУ там имеет такое же содержимое или отличается дамп?
А ПЗУ мы не сравнивали. Есть утилита, чтобы на рабочем компе сохранить ПЗУ на дискету?

Alex_K
07.09.2020, 21:44
Есть утилита, чтобы на рабочем компе сохранить ПЗУ на дискету?
Попробуйте. В эмуляторе запись не работает, но в память содержимое ПЗУ считывается. На диске должен появится файл P16ROM.BIN размером 32 блока.

Manwe
08.09.2020, 08:49
Попробуйте. В эмуляторе запись не работает, но в память содержимое ПЗУ считывается. На диске должен появится файл P16ROM.BIN размером 32 блока.Готово. Дамп ПЗУ в аттаче.
73451

Alex_K
08.09.2020, 10:43
Готово. Дамп ПЗУ в аттаче.
Ничем не отличается от того, что поставляется с эмулятором. Manwe, а у вас новодел или оригинал?

Manwe
08.09.2020, 11:27
Ничем не отличается от того, что поставляется с эмулятором. Manwe, а у вас новодел или оригинал?Оригинал, конечно. Дампить новодел не имело бы смысла, я считаю.
P.S. можно на «ты» :)

IgorR76
08.09.2020, 11:45
Готово. Дамп ПЗУ в аттаче.
Это и есть дамп с оригинального компа из первого поста.

troosh
08.09.2020, 16:27
Ну не расстраивайтесь, что не нашлось пока иного варианта BIOS. Их итак уже два, - из его исходников собирается чуть другой вариант..

Кроме того, можно вбить свой любимый серийный номер:https://uploads.tapatalk-cdn.com/20200908/366c7ae0630af28348271cf0c65ca529.jpg

Manwe
08.09.2020, 17:05
из его исходников собирается чуть другой вариантА можно подправить глюк с бирюзовой полоской по нижнему краю активного окна? Не учитывается коэффициент масштабирования. В случае двукратного или четырёхкратного масштабирования по вертикали полоска рисуется не по нижнему краю, а выше.

troosh
08.09.2020, 18:13
А можно подправить глюк с бирюзовой полоской по нижнему краю активного окна? Не учитывается коэффициент масштабирования. В случае двукратного или четырёхкратного масштабирования по вертикали полоска рисуется не по нижнему краю, а выше.Я не очень понимаю о чем речь:
1) Как воспроизвести проблему? Я попытался уменьшить размер синей консоли раза в три, а затем увеличиваю масштаб по Y,.. и не вижу проблемы с полоской.
Это на том диске, что по умолчанию в эмуляторе запускается.

2) В BIOS встроены два классических файла-процесса WD и VT (они там при сборке . SAV, но реально это .PRC файлы). Один в списке процессов появляется как "Windows-system", а второй " Дисплей_VT-100". Так вот, если загрузится без автозапуска (удалив предварительно из образа диска "rt11dsk.exe d System.dsk d STARTS.COM"), то там не будет никаких полосок активного окна.

А вот если после загрузить "prun wm.prn", то появится процесс "Windows_manager". И после него можно видеть полоски (ну либо им их только можно и вызвать). Поэтому, как мне кажется, проблема скорее в процессе wm.prc, а не в тех wd/vt из BIOS.

Manwe
08.09.2020, 18:32
Я не очень понимаю о чем речьНу вот, например:

73458


А вот если после загрузить "prun wm.prn", то появится процесс "Windows_manager". И после него можно видеть полоски (ну либо им их только можно и вызвать). Поэтому, как мне кажется, проблема скорее в процессе wm.prc, а не в тех wd/vt из BIOS.Действительно, звучит логично.

troosh
08.09.2020, 18:50
Ну вот, например

Что-то мне не попадалось такое на глаза. А этот бинарник можно под эмулятором запустить?
И временно переименовать STARTS.COM не пробовал (отдельно ручками добавляя нужные процессы, если тест их требует)?

Manwe
08.09.2020, 19:26
Что-то мне не попадалось такое на глаза. А этот бинарник можно под эмулятором запустить?
Бинарник есть: https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html?p=1079818&viewfull=1#post1079818


И временно переименовать STARTS.COM не пробовал (отдельно ручками добавляя нужные процессы, если тест их требует)?Ох, напорчу я там :) Не понимаю ничего в RT-11.

Alex_K
08.09.2020, 19:38
Ну не расстраивайтесь, что не нашлось пока иного варианта BIOS. Их итак уже два, - из его исходников собирается чуть другой вариант..
А другой вариант отличается только номером компьютера? В самом коде есть отличия?

troosh
08.09.2020, 23:38
А другой вариант отличается только номером компьютера? В самом коде есть отличия?Нет, к тому же номер это я сам поменял, что видеть что BIOS самосборный. В чем конкретно разница не изучал - там 2/3 содержимого ПЗУ сжатые, что усложняет сравнение.

troosh
08.09.2020, 23:49
Бинарник есть: https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html?p=1079818&viewfull=1#post1079818

Ох, напорчу я там :) Не понимаю ничего в RT-11.1) Ох, я на ту тему подписан, а tapatalk почему-то не присылает оповещения по той тем, а там шесть страниц написали..

2) STARS.COM это текстовый файл, все что написано можно ручками вводить.

Кстати там есть, но закомментированы загрузки процессов отвечающих за вывод на принтер и за работу с последовательным портом (LPc.prc и DLc.prc). Если из загружать, что эмулятор обижается и непрерывно начинает лить логи в своем служебном окне.

Alex_K
08.09.2020, 23:51
Нет, к тому же номер это я сам поменял, что видеть что BIOS самосборный. В чем конкретно разница не изучал - там 2/3 содержимого ПЗУ сжатые, что усложняет сравнение.
Сжатые данные начинаются с адреса 011642.

troosh
09.09.2020, 01:04
Сжатые данные начинаются с адреса 011642.Я знаю. Разница в сжатом блоке, ближе к его концу, 7+1 байт отличаются там.

Manwe
09.09.2020, 02:47
Кстати, а что если сжимать ПЗУ новым алгоритмом, более эффективным? Например, LZSA1 ( https://www.pouet.net/prod.php?which=81573). Распаковщик для PDP-11 есть здесь на форуме. Я проверял его на БК 0010 – довольно шустрый. И очень короткий.

troosh
09.09.2020, 12:16
Кстати, а что если сжимать ПЗУ новым алгоритмом, более эффективным? Например, LZSA1 ( https://www.pouet.net/prod.php?which=81573). Распаковщик для PDP-11 есть здесь на форуме. Я проверял его на БК 0010 – довольно шустрый. И очень короткий.Будет хуже. Есть другие получше, но нет под них распаковщиков под pdp11.

11306+364=11670 результат PL.PAS + размер распаковщика P16UNP
12470+124=12594 lzsa1
11426+270=11696 lzsa2
11089+??? = mhmt/hst
11047+??? = exomizer3

Manwe
09.09.2020, 12:29
11306+364=11670 результат PL.PAS + размер распаковщика P16UNPТам какой-то алгоритм сжатия, специально заточенный под 16-битные инструкции PDP-11?

troosh
09.09.2020, 12:45
Там какой-то алгоритм сжатия, специально заточенный под 16-битные инструкции PDP-11?Нет, но минимальный размер данных 16-ти битное слово. Там два прохода: Что-то типа RLE+LZS. Да, могли оптимизировать кодирование с переменной длиной конкретно под эти данные.

troosh
12.09.2020, 17:06
Разница в сжатом блоке, ближе к его концу, 7+1 байт отличаются там.

Появилась тут у меня гепотиза, когда я в очередной раз запустил "ps" на своей сборке...
Собирал я BIOS ПК-11/16 из исходников (https://github.com/troosh/pk11-16/tree/master/Soft/BIOS) при помощи rt11.exe, штука удобная, всë там для людей: на лету русский текст из windows кодировки преобразует в koi8-r. Только оригинальные исходники уже в koi8-r...

Hunta
12.09.2020, 17:21
Собрал из под RT - всё равно отличие


.DIFF/BIN P16.SAV P16ROM.BIN

BINCOM comparing/ DK:P16.SAV -- DK:P16ROM.BIN
000000 016/ 000015 000001 000014
000030 032/ 076006 066006 010000
034/ 171767 130264 041503
036/ 142070 144177 006107
040/ 023705 033352 010457
042/ 137772 115772 022000
?BINCOM-W-Files are different

.




Comparing files P16.SAV and P16ROM.BIN
0000000E: 0D 01
0000301B: 7C 6C
0000301C: F7 B4
0000301D: F3 B0
0000301E: 38 7F
0000301F: C4 C8
00003020: C5 EA
00003021: 27 36
00003023: BF 9B

Alex_K
12.09.2020, 17:48
Появилась тут у меня гепотиза, когда я в очередной раз запустил "ps" на своей сборке...
Собирал я BIOS ПК-11/16 из исходников (https://github.com/troosh/pk11-16/tree/master/Soft/BIOS) при помощи rt11.exe, штука удобная, всë там для людей: на лету русский текст из windows кодировки преобразует в koi8-r. Только оригинальные исходники уже в koi8-r...

Собрал из под RT - всё равно отличие
Когда-то Titus выкладывал содержимое ОЗУ Союз-Неон после распаковки процессов из ПЗУ. Вытащил из образа памяти все три файла, дал им расширение BIN. Итого P16P.BIN, VT.BIN и WD.BIN. Должны совпасть по содержимому с соответствующими SAV-файлами. Можете проверить.

Hunta
12.09.2020, 18:40
VT.SAV и VT.BIN - отличаются

Если в VT.mac заменить


.asciz "Дисплей_VT-100"

на


.byte 264,330,341,337,333,325,331
.asciz "_VT-100"

то совпадёт хвост собранного ПЗУ с оригиналом. Чего то с кодировкой русских букв в файле, который выложен.

Смотрю, откуда отличие в начале.

- - - Добавлено - - -

Слово со смещением 16(8) (E(16)) - это "серийник".
Если в P16INI.mac заменить


ser.No = 13.

на


ser.No = 1.

то получим полностью идентичный собранный ПЗУ

Alex_K
12.09.2020, 18:42
Скорее всего дело в восьмибитной кодировке. Классический MACRO.SAV обрезает под семь битов. Но на дискетах, которые шли с Союз-Неон, MACRO.SAV версии V05.04R. Наверное адаптирована под восьмибитную кодировку.

Hunta
12.09.2020, 19:15
Скорее всего дело в восьмибитной кодировке. Классический MACRO.SAV обрезает под семь битов.
Я использовал MACRO из состава эмулятора Патрона, которая представляется как MACRO V05.06R. Судя по тому, что она не ругается ошибкой на русские буквы - она патченная. Но судя вот поэтому:


8 000010 277 373 302 .asciz "?исплей_VT-100"
000013 361 371 350
000016 375 137 126

а) кодировка всё таки не та
б) патчен MACRO не до конца

- - - Добавлено - - -

Дамп исходники из под RT



DK:VT.MAC
BLOCK NUMBER 000000
160/ 011 042 277 373 302 361 371 350 375 137 126 124 055 061 060 060
. " ? { B q y h } _ V T - 1 0 0

MACRО пишет правильные байты - однозначно кодировка

- - - Добавлено - - -

И да - с одной стороны MACRO пропатчен правильно, но всё равно не до конца - в своё время в RSX я по другому патчил

- - - Добавлено - - -

Посмотрел коды Ascii, посмотрел на


.byte 264,330,341,337,333,325,331
.asciz "_VT-100"

и понял, что ничего не понимаю. Скажем, в кодировке КОИ8, код буквы Д - 344. У нас в одном случае 277 (неправильный биос), в другом 264 (правильный биос).
Код буквы и - 311. НБ - 373, ПБ - 330
Остальные можете сами сравнить. Это не КОИ8, это не ISO 8859-5 Cyrillic (как на гите), это даже не кодировка редактора МИМ (она близка к КОИ8, но ЕМНИП, есть какие то отличия).

- - - Добавлено - - -

Вспомнил кодировку MIM-а. Большие латинские - 100-137, маленькие латинские 300-337, большие русские - 140-177, маленькие русские - 340-377. Таким образом, если смотреть на терминале или печатать на принтере, который не воспринимает 8 бит, то текст получается вполне читаемым - маленькие буквы превращаются в большие. И нет - он не похож на КОИ8 :)

Alex_K
12.09.2020, 19:26
это не ISO 8859-5 Cyrillic (как на гите)
Вообще-то это ISO 8859-5:

0000000000: 50 43 00 00 02 00 00 00 │ B4 D8 E1 DF DB D5 D9 5F PC ☻ Дисплей_
0000000010: 56 54 2D 31 30 30 00 00 │ 00 00 00 00 00 00 00 00 VT-100

Hunta
12.09.2020, 19:47
Вообще-то это ISO 8859-5:

ISO 8859-5 Cyrillic (как на гите)
Я и сказал, что на гите лежит в ISO8859. Вариант, который даёт идентичное ПЗУ - не пойми в какой кодировке

- - - Добавлено - - -

Хм.. Вроде как да - ISO.

- - - Добавлено - - -

абзац.... под RT дампом я вижу так 277 (BF), Far показывает 264(B4)
Где то мне попадалось при перекодировку на лету - не то в эмуляторе, не то в плагине.. Кто то чего то помнит?

Alex_K
12.09.2020, 19:53
Где то мне попадалось при перекодировку на лету - не то в эмуляторе, не то в плагине.. Кто то чего то помнит?
Плагин от Patron-а перекодирует на лету...

Hunta
12.09.2020, 19:57
Точно. Перекодировка на лету. Даже HX сервер. Переименовал в .sav, скопировал -


160/ 011 042 264 330 341 337 333 325 331 137 126 124 055 061 060 060
. " 4 X a _ [ U Y _ V T - 1 0 0

Вопрос знатокам - как это дело вырубить нахрен??

- - - Добавлено - - -


Плагин от Patron-а перекодирует на лету...
Не только. И эмулятор, если использовать подключение папок Windows как HD, и соответственно - HX сервер...

- - - Добавлено - - -

Итог - с кодировкой всё нормально, с MACRO всё нормально, виновата перекодировка на лету в эмуляторе Патрона и в HX сервере с папок Windows.

Manwe
18.11.2020, 13:13
На моём Союз-Неоне цифровые клавиши справа содержат подписи PgUp, PgDn, End, Del.
Подскажите, на Союз-Неоне это реально где-то применяется? В RT-11 или в ОС Аспект, или ещё где.

AFZ
19.11.2020, 13:56
Вспомнил кодировку MIM-а. Большие латинские - 100-137, маленькие латинские 300-337, большие русские - 140-177, маленькие русские - 340-377. Таким образом, если смотреть на терминале или печатать на принтере, который не воспринимает 8 бит, то текст получается вполне читаемым - маленькие буквы превращаются в большие. И нет - он не похож на КОИ8Такая же кодировка в ДИАМСе. Сначала пользовали КОИ7 НС (совмещенный), потом, когда появились терминалы с маленькими буквами, добавили маленькие буквы теми же кодами, но с единицей в старшем бите. И с печатью, и с просмотром на 7-битных терминалах все то же самое - 8-битная программа спокойно отображает все правильно на 7-битном терминале, без каких-либо действий со стороны программиста, только большими буквами. Ну, и на вводе от него маленьких букв не дождешься. В принципе, очень удобно, но только если буржуазные программы все будут без маленьких букв (доработать). А то получишь что-нибудь, вроде LD0:/SЯУЕЕЗЕ; AРЕ ЫОУ СУРЕ?..

Manwe
20.11.2020, 02:04
Дисковод отлично умещается внутрь, надо только чтобы разъём под шлейф у него был с правильной стороны:

https://pic.maxiol.com/thumbs2/1636101312.3304374333.img0660.jpg (https://pic.maxiol.com/?v=1636101312.3304374333.img0660.jpg&dp=2)

BYTEMAN
21.11.2020, 01:28
А флопик на 3,5 прямо в корпусе - это так изначально было???

Manwe
21.11.2020, 18:34
А флопик на 3,5 прямо в корпусе - это так изначально было???Трудно сказать. В месте вставления дискеты УКНЦшный корпус подрезан довольно грубо. Отверстие под COM-порт тоже грубо вырезано.
Судя по месту расположения разъёма дисковода, планировалось ставить его именно так.

Manwe
05.11.2021, 11:17
Ещё один нашёлся:

https://pic.maxiol.com/thumbs2/1636099855.3304374332.soyuzneon1.jpg (https://pic.maxiol.com/?v=1636099855.3304374332.soyuzneon1.jpg&dp=2) https://pic.maxiol.com/thumbs2/1636099902.3304374332.soyuzneon2.jpg (https://pic.maxiol.com/?v=1636099902.3304374332.soyuzneon2.jpg&dp=2) https://pic.maxiol.com/thumbs2/1636099936.3304374332.soyuzneon3.jpg (https://pic.maxiol.com/?v=1636099936.3304374332.soyuzneon3.jpg&dp=2) https://pic.maxiol.com/thumbs2/1636099958.3304374332.soyuzneon4.jpg (https://pic.maxiol.com/?v=1636099958.3304374332.soyuzneon4.jpg&dp=2) https://pic.maxiol.com/thumbs2/1636099979.3304374332.soyuzneon5.jpg (https://pic.maxiol.com/?v=1636099979.3304374332.soyuzneon5.jpg&dp=2)

- - - Добавлено - - -


Будет хуже. Есть другие получше, но нет под них распаковщиков под pdp11.
11306+364=11670 результат PL.PAS + размер распаковщика P16UNP
12470+124=12594 lzsa1
11426+270=11696 lzsa2
11089+??? = mhmt/hst
11047+??? = exomizer3Теперь ещё и ZX0 (https://github.com/einar-saukas/ZX0) появился под PDP-11. Распаковщик 98 байт занимает.

Titus
05.11.2021, 11:30
Ещё один нашёлся:
Состояние, судя по внешнему виду, прекрасное.

А если еще пластик отбелить, то будет вообще для выставки.

Hunta
05.11.2021, 12:14
А если еще пластик отбелить
Судя по однотонности, это его родной цвет

TomaTLAB
05.11.2021, 12:18
А если еще пластик отбелить,А он не от рождения, случаем, такой кремовый? Для "загара" уж больно равномерно и снаружи и снутри.

. :)

Titus
05.11.2021, 13:14
Днище как будто посветлее)