Увидел в соседнем топике обсуждение игрушки в этом режиме...Решил тоже вывести чего нибудь на экран....Поиск дал только номер порта и бит
Где можно почитать про вывод графики в этом режиме???
Вид для печати
Увидел в соседнем топике обсуждение игрушки в этом режиме...Решил тоже вывести чего нибудь на экран....Поиск дал только номер порта и бит
Где можно почитать про вывод графики в этом режиме???
читай inferno guide последние номера, смотри исходники pang16, ball quest. ну и атм'овсие доки, поскольку строение экрана у них похоже.
а готовые инструменты в природе есть?
конвертор,просмотровщик…
Как говорят классики: "Читал - много думал..." нихрена не понял, так же как и с режимом 384x304 :mad: пока сам в дебаггере методом научного тыка не понаходил все области памяти где и за что отвечает, создал карту памяти
посему вопрос, можно ли в двух словах описать:
- адрес в памяти
- что туда кладём
- что получаем на экране
идеальный вариант конечно же был бы, как например в этой карте 384x304 :rolleyes:
Структура байта - D7-D0: IiGRBgrb, при этом чётные пикселы имеют организацию igrb, а нечётные IGRB. Такой способ адресации позволил в некоторых случаях меньше тормозить работу, т.к. для изменения 2х соседних пикселов необходима запись только одного байта в ОЗУ. Видеоизображение формируется путём циклического считывания по одному байту, (определяющему значение пары соседних пикселов) по каждому адресу из четырёх экранных областей: #C000-D7FF, #4000-57FF, #E000-F7FF, #6000-77FF. Управление : #EFF7 D0=1 - вкл., 0 - выкл, при этом обязательно D1,D5,D6=0.
"В двух словах"...
Ща себе все мозги нафиг вывехну...
Почему при явном юзанье 4 и 5 страниц адресация пишется так C000h 4000h E000h 6000h , а не 10000h 14000h 12000h 16000h ??? Откуда взялись эти C000h E000h ???
:v2_devil: патамушта эти страницы там стаят :v2_laugh: ..а ещё потому что с т.з. софта, они юзаются именно через первое и третье окно.. а как юзаются эти страницы сканером - никто не рассматривает, т.к. в разных компьютерах это может делаться по разному, хотя с т.з. схемотехники сканера, конечно юзать эти страницы через третье окно имеет смысл только при нераздельной памяти
И откудава в третьей банке именно четвёртая страница ???
:) в общем случае - только из желания программиста! :v2_devil: , он её туда во 2 режиме (Mode 02=16 color per pixel см.: Стандартизация принципов развития видеопроцессора (см. табл. п.п.5.1).
) ставит, а в первое окно автоматом ставится 5 страница - это при D3=0 #7FFD, а при D3=1 - соответственно 4 страница меняется на 6, а 5 на 7
И каким таким магическим образом селектор режимов влияет на впечатывания страниц ???
как сделать выборку банков для конкретного клона сообразишь и сам :)
И причём здесь ваще конкретные клоны... Стандарт один .
Меня интересует куда конкретно в мозги помещается информация , смутно догадываюсь что в 10000h 14000h(4000h) 12000h 16000h(6000h) ибо при работе в сабжевом режиме ведео контроллер там и бегает (при нулевом экране) и не о каких C000h E000h знать не знает .
Вобщем кто умеет объясните на пальцах .
Код:DEC HEX 10
A S78AAAAA AAAAAAAA
1 C57111 111
6 R 521098 76543210 654
-------------------------------------------------
00000 0000 - 0000 00000000 00000000 RAM-0 00 (ROM)
16383 3FFF - 0000 00111111 11111111
-------------------------------------------------
16384 4000 - 0000 01000000 00000000 RAM-1 101 (5)
24576 6000 - 0000 01100000 00000000
32767 7FFF - 0000 01111111 11111111
-------------------------------------------------
32768 8000 - 0000 10000000 00000000 RAM-2 010 (2)
49151 BFFF - 0000 10111111 11111111
-------------------------------------------------
49152 C000 - 0000 11000000 00000000 RAM-3 P11 (0-7)
57344 E000 - 0000 11100000 00000000
65535 FFFF - 0000 11111111 11111111 64Mb
=================================================
65536 10000 - 0001 00000000 00000000 RAM-4.1
73728 12000 - 0001 00100000 00000000 RAM-4.3
81919 13FFF - 0001 00111111 11111111
-------------------------------------------------
81920 14000 - 0001 01000000 00000000 RAM-5.2
90112 16000 - 0001 01100000 00000000 RAM-5.4
98303 17FFF - 0001 01111111 11111111
-------------------------------------------------
98304 18000 - 0001 10000000 00000000 RAM-6
114687 1BFFF - 0001 10111111 11111111
-------------------------------------------------
114688 1C000 - 0001 11000000 00000000 RAM-7
131071 1FFFF - 0001 11111111 11111111 128Mb
=================================================
О! Кажись я наконец понял что тебе непонятно и как тебе обьяснить это на пальцах :)
При включении 2го режима при #7FFD D3=0 сканеру даётся команда на чтение из 4 и 5 страниц, при этом 5 страница ессно стоит в 1 окне, а 4 при желании можно поставить в 3 окно, а можно и не ставить. При установке #7FFD D3=1 сканеру даётся команда на чтение из 6 и 7 страниц, при этом 7 страница ессно стоит в 1 окне, а 6 при желании можно поставить в 3 окно, а можно и не ставить.
Что касательно адресов в документации, которые судя по всему и вызвали у тебя вопросы, то приведённые в ней адреса - это частный программистский случай, когда 4 или 6 страница стоит в 3 окне, приведённый в качестве примера по единственной причине - абсолютных адресов выше 64к - просто не существует и по другому невозможно объяснить работу сканера в этом режиме.
Походу мне не дано понять тонкий пост советский юмор в области обозначения адресации :v2_lol: :v2_lol: :v2_lol:
Так же как и не понять накой было мешать виде и не видео страницы... Типо картинки в мультиколоре смотреть ? :v2_lol: :v2_lol: :v2_lol:
Надо пока не поздно переделать стандарт на страницы 5 и 7 :v2_lol: :v2_lol: :v2_lol:
чтоб стандартным, единообразным для всех режимов способом по D3 #7FFD переключать основной и альтернативный экран, для чего собсно этот бит и предназначался изначально...ню-ню.. и нахрен это надо, если всё равно требуется 64к на 2 экрана, а в 5 и 7 странице только 32к? Всё равно 4 и 6 страницы останутся "не видео".. И как ты потом на альтернативный экран переключаться будешь? Дополнительный порт заведёшь?
..короче - ерунду говоришь! Дима сделал вполне вменяемый режим, в который уже ничего не добавить и не убавить!
Ну не скажи. Мне, например, не дает покоя идея поставить статику, перекрывающую страницы 4 и 6. Так что бы при записи в память писалось и в РУшки в область 4 и 6 страниц, и в статику. А при выборке видеоконтроллером байта паралельно с выборкой из 5(7) страницы шла выборка из статики и в регистре держала уже считанный байт. Выгода в том что можно не останавливать проц при отрисовке экрана. Тактов и так мизер, а объем экрана возрос не меньше чем в три раза. Конечно корпусов надо добавить немеряно, но раз уж перепахивать Пентагон, то сделать дополнительную плату с минимумом проводов. Неневижу клубки МГТФа на платах.
Накой чёрт эти два экрана ??? Спек и одного перерисовать не может... :v2_lol: :v2_lol: :v2_lol:
Из-за этого изобретательства только больше мозгов в самодельный клон под видео пихать надо , в результате 64к (вместо 32к) мозгов тормозными будут . И в "ZXBUS2VGA" вместо 32к приходится пихать аж 64к (мозгов мне не жалко , а лишних ног у марицы не выростит...).
Никак . Оставить только 5 и 7 , а за одно и биты в байте пикселей переставить . Уже вижу толпы желающих :v2_lol: :v2_lol: :v2_lol:
вот именно для этого надо 2 экрана, чтоб пока спек не успевает перерисовать 1-й, на втором всё было :)Цитата:
Накой чёрт эти два экрана ??? Спек и одного перерисовать не может...
Т.е. за кадр при остановке проца на экране спек сможет отрисовать четыре однобитных экрана ? Я чёто сомневаюсь .
И насколько знаю в основном юзается метод частичного затирания/востановления фона с последующей перерисовкой спрайтов по новым координатам .
А гробить аж 64кило только на экраны слишком растачительное удовольствие .
ну дык разве кто заставляет? используй 0й - стандартный режим, там только 13,5к на два экрана :) А если хочешь быстую работу - то вместо никому не нужного кулебячества лучше увеличь в два раза производительность видеопроцессора и не надо будет останавливать процессор, а если ещё проц в правильной турбе будет (28 MHz :v2_devil: ) - то и вовсе всё летать будет :v2_laugh: ..даже при 256 цветах и 128к на два экрана! Кстати дополнительные 64к видео ОЗУ будут страницами 12-15 (а раскладка как понимаю должна быть: 4,5,12,13 - основной экран, 6,7,14,15 - альтернативный) - эт тебе к сведенью :) ..и переключаться они будут всё тем-же D3 #7FFD :v2_laugh:
не принципиально, 386DX-33 на тех же 41256 работали что сейчас в Спектрум ставят, а 72pin SIMMы, которые прикручены в некоторых Спеках, так и вовсе применялись вплоть до PII-450, а 12-15нс статика, выковыряная из кеша, даже без увеличения разрядности шины и применения интерлива, способна обеспечить на 28МНz безвайтовый доступ и процессору и сканеру работающему в режиме 16 сolor на частотах VGA.
А-а-а, так ты предлагаешь новый клон создать, а я имел ввиду переделку того что есть под руками. Вот и все разногласия.
я ничего не предлагаю, кроме как не заниматься фигнёй..
..что касательно старых клонов, то у них прекрасно получается режим 16 color и без останова процессора, просто при этом паять надо существенно больше, и только по этой причине был введён останов процессора, а не по какой другой.
про фигню - эт не к тебе.. Схему ты и сам знаешь как сделать, только без статики и без дублирования - ставишь второй банк динамического ОЗУ по типу как первые 128 делали - вторым этажом, входы объединяешь, а выходы на разные сдвиговые регистры (ИР16 т.к. понадобятся параллельные выходы). Потом из мультиплексоров КП13 выкидываешь бордюр и подаёшь заместо данные со второго этажа ОЗУ, при этом в одном банке ОЗУ должны быть все чётные страницы, а в другом - нечётные. На параллельные выходы ИР16 цепляешь пару мультиплексоров КП12. RGBI выходы с КП12 и КП11 объединяешь. Туда же заводишь через шинник с Z-состоянием бордюр. Всё, с управлением и сам разберёшся, кстати при таком включении не будут отгрызаться пиксели справа и слева экрана как это происходит по схеме Димы, не говоря уже о получении сразу ещё кучи видеорежимов, например 512х192 со стандартными атрибутами :)
Единственно что память надо сразу брать как минимум 41256, а то программы использующие расширенные видеорежимы наверняка сами по себе много памяти требуют.
Такой вариант я не рассматривал. Спасиб.