PDA

Просмотр полной версии : Недокументированный видеорежим ПК8000



ivagor
07.03.2023, 06:49
неизвестный режим 3
Про него я запомнил 2 вещи: на экране в этом режиме ничего не отображается; процессор тормозится как в режиме 0.

cy6
09.03.2023, 01:29
ivagor, тут Олег Сенин (@bfox_zx) который с музея яндекса,
смог получить интересное и цветное изображение в режиме 0/3.

78568

P. S. Это из телеги, группа по ПК8000.

ivagor
09.03.2023, 08:05
Что значит в данном случае 0/3? Если это 3, то здорово, что в нем все же можно показывать изображение. Я то делал 1 (один) тест, который пробовал на реале (если не ошибаюсь) DemonID7 и я вполне мог что-то упустить. Но в торможении я был уверен и на экране видно, что число символов в строке (а следовательно и торможение) действительно как в режиме 0.

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

Глянул свой старый тест, который пытался что-то показать в режиме 3. Ошибок не нашел, но увидел упущение - я думал, что режим 3=режиму 0, просто с другим номером в порту 84h, и бил в одну точку. Надо было "бить по площадям", возможно мусор на экране получилось бы показать с первого раза.

ivagor
09.03.2023, 17:10
су6, если не сложно, попробуйте на реале SCRTS2 (в архиве cas и wav). Это слегка модифицированный вариант теста (https://zx-pk.ru/threads/9431-pk8000-bystrodejstvie-arkhitektury-issledovanie.html?p=576987&viewfull=1#post576987), который пытался показывать SCR 1, SCR 0 и недокументированный SCR 3.
Первые два шага остались:
1. После старта экран заполнен буквами, вверху по центру SCR 1
2. Жмем клавишу и попадаем в SCR 0
Третий шаг теперь другой:
3. Жмем клавишу и либо ничего не увидим, либо мусор, либо нечто полосато-перфорированное
78570
Дальше жмем клавишу и выходим в бейсик.


Мне немного стыдно, что несколько лет назад не понял такие простые вещи, но лучше поздно, чем никогда.
Просматривая старые посты увидел, что 10 лет назад я понял половину (https://zx-pk.ru/threads/9431-pk8000-bystrodejstvie-arkhitektury-issledovanie.html?p=577321&viewfull=1#post577321) про регенерацию.

DDp
09.03.2023, 19:34
попробуйте на реале SCRTS2
ссылка -> https://disk.yandex.ru/i/6bJJFhmhRuhh8Q

ivagor
09.03.2023, 20:04
DDp, спасибо! Неожиданный результат, но теперь уже абсолютно точно, что недокументированный режим что-то показывает на экране. В первой версии теста был в шаге от результата, но упустил.

cy6
10.03.2023, 00:05
Я немного не успела.
Да и загрузить мне было нечем. Есть старый магнитофон кассетный без кассет. :|
Плеер Maxduino/Tzxduino как раз скоро приедет.

Просматривая старые посты увидел, что 10 лет назад я понял половину про регенерацию.
Поделитесь важными знаниями?

Хочется знать о ПК8000 все. Собираюсь все это оформить во что то читабельное для мира.
А изначально цель была только отремонтировать Суру. :)

ivagor
10.03.2023, 06:23
Да и загрузить мне было нечем. Есть старый магнитофон кассетный без кассет.
Плеер Maxduino/Tzxduino как раз скоро приедет.
Соединяем выход звуковой карты компьютера с магнитофонным входом ПК8000 и воспроизводим wav.
Надо отметить, что если бы DDp не записал видео, то шансы разобраться (без ковыряния ПЛМ) были бы близки к 0, а так есть надежда.

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

cy6
10.03.2023, 08:14
добавить пока нечего
Олег Сенин (который оживил так называемый режим "3") говорит, что не использовал байты регенерации.

да, «помогаторов» нет нигде, кроме нулевого видеорежима
Почему так, если длина строки остается длинной, как в режиме 0 (40-64 символа)?
В остальном, это должен быть просто графический монохромный режим, как я понимаю.

ivagor
10.03.2023, 08:37
Если bfox разобрался, это здорово, а я еще совсем не разобрался с режимом 3 и простым его назвать не могу.

ivagor
10.03.2023, 17:01
Пытался совместить информацию из видео DDp и фото bfoxа, больше всего смущает "автоскролл" на видео, в то время как у bfoxа на фото вроде стабильно.
Варианты:
1. Я как-то очень удачно ошибся и в программке при выполнении на реале (в эмуляторе то понятно, что такого нет) самозародился автоскролл. Не то чтобы это совсем невозможно, но поверить в это пока не могу.
2. bfox приложил специальные усилия, чтобы побороть автороскролл. Т.е. постоянно бежит в другую сторону, чтобы оставаться на месте.
3. У меня неудачная комбинация значений управляющих портов, приводящая к автоскроллу, у bfoxа удачная.
4. Для повышения выхода годных изделий прошивки ПЛМ разных экземпляров ПК8000 могут иметь отличия в некритичных областях, в частности относящихся к недокументированному видеорежиму. Т.е. если ПЛМ прошилась с отклонением в некритичной области, ее не надо было пытаться допрошивать или выбрасывать, а разница в реализации недокументированного режима никого не волнует.

Самыми вероятными мне кажутся варианты 3 и 4.
Над 3 думаю, пока не додумался, тут надо пробовать на реале.
Проверить 4 не так уж сложно, достаточно попробовать SCRTS2 на другом экземпляре (экземплярах) ПК8000. Или наоборот, тест bfoxа (если или когда он будет доступен) на экземпляре DDp.

DDp
11.03.2023, 14:48
больше всего смущает "автоскролл" на видео
Вероятно, отображается состояние шины данных.
Видео для размышления: https://disk.yandex.ru/d/_wTgi8o-Goj0VQ
Помехи на видео.
1я часть: в начале нажимается ENTER. Далее, в покое похожий "скролл" и характерный его подёргивание.
2я часть(с 17 сек): по ентеру выполняется DI HLT.


прошивки ПЛМ разных экземпляров ПК8000 могут иметь отличия в некритичных областях

тест bfoxа на экземпляре DDp
Очень может быть, что прошивки разные. У меня чёрный экран тесте bfoxа (он выложил его в телеге).


Вот, я тренировался в заполнении памяти паттернами: https://disk.yandex.ru/d/DY8mpDGX1cMlEA - программа и видео.

ivagor
11.03.2023, 17:04
Видео для размышления:
Да, "скролл" очень похож. "Малый период" 8 кадров точно совпадает. На SCRTS2 был еще "большой период" 96 кадров, но я или там или здесь обсчитался и "большой период" в pk8000_videonoise_raw.avi вроде больше (тут уверенности нет, надо еще раз внимательно считать).


Вот, я тренировался в заполнении памяти паттернами:
Интересно, в процессе заполнения fill_pattern_1 можно увидеть нечто похожее на SCRTS2.gif (https://zx-pk.ru/threads/29760-pk8000-sozdanie-testovogo-pzu-i-metodiki-tipovoj-proverki.html?p=1174397&viewfull=1#post1174397), но в статике старшие 5 бит везде пропали(?). В крайнем правом столбце, который не урезается до 6 точек, видно 3 младших бита, в остальных видно 3й бит (т.к. 2 младших не помещаются в знакоместа). Но что со старшими - не могу пока сообразить.

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

А если попробовать ждать прерывания не по hlt, а пробегая по памяти? Может все же шина адреса влияет. Если влияет шина данных, то можно заменить 0 в mvi e,0 на другие значения. Если в диапазоне 0-7, то можно любые, но желательно кроме 02, чтобы запись в stax b не сбивала ни порядок обхода адресов ни шину данных.

DDp
11.03.2023, 20:51
А если попробовать ждать прерывания не по hlt, а пробегая по памяти?
https://disk.yandex.ru/d/y5ZcptxMUJM2Ig :v2_wacko:

ivagor
11.03.2023, 21:55
Очень странно, зато видно, что влияние есть, еще бы понять конкретику.

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

Что смог разглядеть - 00, 01 и 03 фактически выступают как номера тайлов (если пока отставить в сторону переходные процессы).
00 (аналогичен hlt, секунды 1-2), 01 (секунды 2-3), 03 (стабильный кадр на секунде 4, потом через 9 кадров, через 8 кадров, через 9, через 8).
Что показывает при 4,5,6,7,2F я не понял.

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

При 2F тоже показывает соответствующие тайлы, но через столбец чередуясь с нулевыми (00). Причем в SCRTS3_2F.avi и в SCRTS3_TABL.avi распределились по разному (в SCRTS3_2F.avi еще и одинаковые два первых столбца).

ivagor
12.03.2023, 07:12
Можно попробовать показать что-то более содержательное. Не факт, что покажет, но вдруг.

DDp
12.03.2023, 20:45
Можно попробовать показать что-то более содержательное. Не факт, что покажет, но вдруг.
Показало - https://disk.yandex.ru/d/nWxK_WkX8ad__g



Несколько часов комп был включен, тоже пытался изучить scr3. Он стал перезагружаться. Точно перегружается на SCR300 на случайных данных. Постоял отключенным - отдохнул. :v2_happy:

ivagor
13.03.2023, 06:49
00 приятно удивил тем, что показал то, что ожидалось.
SCRTS3_2F.avi примерно за 3 секунды стабилизировался, а S2F так и продолжает переключаться?

Несколько часов комп был включен, тоже пытался изучить scr3. Он стал перезагружаться. Точно перегружается на SCR300 на случайных данных. Постоял отключенным - отдохнул.
Пока не совсем понятно, как с регенерацией в режиме 3, возможно это одна из составляющих перезагрузок. Если там как в SCR0, то я бы по крайней мере в области 0000-1FFF (при сохранении настроек портов как для SCR0) сохранял циклическое пробегание 00-FF.

ivagor
13.03.2023, 16:05
Сообразил, почему 2F идут не сплошняком, а через один - CMA в активной области SCR3 выполняется за 6 тактов и только в одном из 3х тактных циклов ШД=2F. А "дрожание" скорее всего связано с невыровненностью команд относительно экрана.
В некоторых тестах раньше считал такты вслепую, но сейчас не хочу (особенно для SCR0 или 3), поэтому максимально упростил, надеюсь этого хватит. В итоге S2F нового поколения и в дополнение к нему S09. Dad выполняется в активной области SCR3 за 12 тактов, т.е. будет 1-3-1-3... в отличие от 2F (1-1-1-1...).

DDp
13.03.2023, 21:13
В итоге S2F нового поколения и в дополнение к нему S09
Статичное изображение.

ivagor
13.03.2023, 22:16
Вот, новый поворот. Самое непонятное - как в S09 получилось все небо в попугаях. Просто висеть на ШД 09 вряд ли может, запоминается в регистре?
В S2F сами 2F чередуются с тайлом 1B/3B/5B/7B/9B/BB/DB/FB (они в данном случае одинаковые, различить не получается). Предполагаю, что это FB (ei).
Главное - непонятен принцип, почему в 09 сплошняком, а в 2F чередование. И почему чередование с этим тайлом. Можно врисовать разную графику в 1B/3B/5B/7B/9B/BB/DB/FB, и пусть получится узнать, какой именно, но почему именно с ним?

ivagor
14.03.2023, 12:38
Просьба к модераторам выделить сообщения из данной темы начиная с этого (https://zx-pk.ru/threads/29760-pk8000-sozdanie-testovogo-pzu-i-metodiki-tipovoj-proverki.html?p=1174253&viewfull=1#post1174253) в отдельную тему с названием например "Недокументированный видеорежим ПК8000" или как-то близко по смыслу.

DDp
16.03.2023, 20:45
Ещё один тестик что бы "потрогать" видеорежим "3" - ссылка (https://disk.yandex.ru/d/K3aHNNaU8piyNA).

Да, похоже что-то с регенерацией ОЗУ. Здесь процессор бежит по NOP-ам в ожидании прерывания. Если ждать в HALT-е, случаются перезагрузки, порча памяти.

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

Значения в портах 0x90, 0x91, 0x92 не имеют влияния.