nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 07:32



Reply to topic  [ 49 posts ]  Go to page 1, 2, 3, 4  Next
Фоновая картинка в 6538 и устройства на основе Денди 
Author Message
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Посмотрел доку HardWareMana по 6538. Там есть такие интересненькие выводы у чипа: COL1 - COL4. Любопытно, какие у них динамические характеристики? Если выводы быстроходные, то это фактически ещё один вход, через который можно выводить на экран фоновое изображение. Не так ли? И не просто однотонный фон, а картинку!


21 Mar 2006 05:32
Profile
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
Насчёт выходов незнаю, но характеристики PPU NES известны: 1 слой фона (тайлами 8x8), 64 аппаратных спрайта (8x8 или 8x16, размер одинаков для всех).


21 Mar 2006 10:49
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Post 
Shiru Otaku wrote:
Насчёт выходов незнаю, но характеристики PPU NES известны: 1 слой фона (тайлами 8x8), 64 аппаратных спрайта (8x8 или 8x16, размер одинаков для всех).

В самых общих чертах, если не вдаваться в детали, оно, конечно, так.
Однако, читаем доку HardWareMan'а:
HardWareMan wrote:
Слои изображения.
Создаваемое видеопроцессором изображение состоит из четырех независимых слоев. Рассмотрим их, начиная с самого нижнего:
1. Полностью окрашенный экран, цвет которого определяется содержимым ячейки видеопамяти с адресом 3F00h.
2. Спрайты с битом приоритета, равным 0.
3. Фоновое изображение.
4. Спрайты с битом приоритета, равным 1.

То, о чём ты говоришь, это всё в пунктах 2, 3 и 4. Меня же заинтересовал пункт 1. Про это там ещё есть:
HardWareMan wrote:
Содержимое ячейки памяти с адресом 3F00h задает цвет фона для всего экрана (видимо, при варианте 0000 на сигналах Col1-Col4)

В "Дендике", к примеру, эти ножки на землю посажены, то есть там как раз 0000b и есть.
И наконец - вот это:
HardWareMan wrote:
Сигналы Col1-Col4 задают цвет самого нижнего цвета (цвет ¹0 на фоне с самым нижним приоритетом). Зачем это надо? Не знаю. Но он выбирает 1 из 16 цветов.

Я понял так, что если в регистр 3F00h прописать 0000b, то фон, задаваемый регистром, станет прозрачным и мы увидим фактически пятый слой, заданный уже на ножках микрухи.
Короче, я про что толкую, если на эти вывода не статический код подавать, а изменять его по ходу развёртки луча, то и на этот самый нижний фон можно ещё одну картинку вывести (правда, всего лишь шестнадцатицветную). Хоть каждый следующий пиксель в другой цвет крась, если оно там будет успевать всё срабатывать... Ну, это всё так, если идёт прямое отображение состояния этих входов на экран. Если же при включении питания или после ресета код со входов защёлкивается в каком-нибудь регистре и дальше они не опрашиваются, тогда - "пролёт". Короче, надо проверить.
Когда-то давно, воссоздавая по печатке схему "Дендика", я так и не понял, на фига эти ножки нужны, так и остались они на схеме безымянными. Как и ножки 30, 37 и 38 у 6527, тоже, объяснил бы их мне кто-нибудь :roll:...


21 Mar 2006 18:23
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
Судя по моим докам, у 6527:
30 - HLT, атк. "1". По умолчанию "0".
37 - P2 \
38 - P1 - Битовые порты.
39 - P0 /
С этими портами есть замарочка - это не просто порт с защелкой, это фактически сигнал CS. На P0 висят джойстики, причем когда там "0", пристава их опрашивает. Это строб записи состояния кнопок. P1 и P2, ЕМНИП, юзаются при четверителе и пистолете. Вот (манускрипт очень древний :)):
Image
Да-да-да! У Дендика был предусмотрен магнитофон! Сюбор его юзает (по "Load" и "Save"), а так же некоторые игры. Например, я юзал порт в игре Mach Rider (про мотоциклиста), там можно было свой трэк сохранять. :)
PS Большой разъем слева - DB15 на второй джойстик для приставки с разъемами, или аналогичный разъем под пистолет у приставки со впаянными джоями. Сигнал "Res" на самом деле "Stb", т.к. в далёкие 90ые я не знал, что можно построить джой на одном 555ИР9ом, я его строил на связке 555ИЕ5+555КП7 :) Работало! =)
PPS По поводу входов Col0-Col3 у 6538: думаю, они задают адрес ячейки фона - от 3F00...3F0F. Т.к. при испытапниях на разных игрушках были разные цвета. Хотя, не факт - надо больше испытывать. Я последний раз испытывал в 94ом. :)


Last edited by HardWareMan on 05 Jan 2014 03:38, edited 1 time in total.



22 Mar 2006 14:19
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Post 
Спасибо за инфу, всё может пригодиться. Про магнитофон вообще не знал :D
HardWareMan wrote:
Судя по моим докам, у 6527:
30 - HLT, атк. "1". По умолчанию "0".
37 - P2 \
38 - P1 - Битовые порты.
39 - P0 /
С этими портами есть замарочка - это не просто порт с защелкой, это фактически сигнал CS. На P0 висят джойстики, причем когда там "0", пристава их опрашивает.

С портом Р0 у меня заморочек не было. Я его всегда считал просто битовым портом вывода, сидящим на адресе 4016h. Туда можно писать, например:

LDA #01h
STA 4016h ;записали единицу
.............
LDA #00h
STA 4016h ;обнулили

Поскольку джойстик - это сдвиговый регистр с параллельной загрузкой, то у него, как и положено такому регистру, есть управляющий вход "Параллельная загрузка". Вот Р0 и работает на параллельную загрузку обоих джойстиков одновременно. В начале любой подпрограммки опроса джойстиков стоят вышеприведённые команды. То есть, как видишь, чисто программная процедура.
А вот о сдвиге содержимого во время чтения из порта ввода программисту заботиться уже не нужно, там применяется другой, более интересный сигнал, для каждого джойстика отдельный, вырабатывающийся автоматически в момент каждого чтения из порта соответствующего джойстика. С ним я тоже разобрался детально.
Так что, я думаю, Р1 и Р2 - это такие же порты, надо просто их адреса уточнить и можно пользоваться.
/...Кстати узнал - Р0, Р1 и Р2 - это три разряда одного и того же порта вывода - 4016h.../
Хочу подумать над какими-нибудь полезными устройствами на основе "Дендика". Уже существует рюмиковский генератор испытательных сигналов (ГИС) для настройки TV, это вещь простая, просто картридж с программой. Мне хочется, например, программатор сбацать, но тогда надо какую-нибудь клавку прицепить, коды вводить. Пока не знаю, что быстрее, свою слепить или с командами "писишной" разобраться. :roll: Свою - интереснее, но тогда ухудшается повторяемость устройства. С точки зрения повторения - предпочтительнее то, где надо меньше паять и сверлить :D ...
Для писишной - только пассивнй переходник нужен, а остальное - программно.
HardWareMan wrote:
По поводу входов Col0-Col3 у 6538: думаю, они задают адрес ячейки фона - от 3F00...3F0F. Т.к. при испытапниях на разных игрушках были разные цвета. Хотя, не факт - надо больше испытывать. Я последний раз испытывал в 94ом..

Ну, если это так, так это тоже здорово! Возможности по управлению фоном даже шире. Это надо обмыслить...
А сама идея, из-за которой я начал тему, корнями тянется ещё к "Радио-86". Пытаясь добиться от ВГ75 попиксельного управления экраном, я думал о том, чтобы заменить ПЗУ знакогенератора чем нибудь вроде двухпортового ОЗУ, чтобы проц мог туда писать, а ВГ - читать...

_________________
Кто мешает тебе выдумать порох непромокаемый?


Last edited by Ball Bess on 26 Apr 2006 07:08, edited 4 times in total.



22 Mar 2006 19:11
Profile
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Post 
Quote:
Пока не знаю, что быстрее, свою слепить или с командами "писишной" разобраться. Свою - интереснее, но тогда ухудшается повторяемость устройства. С точки зрения повторения - предпочтительнее то, где надо меньше паять и сверлить ...
Для писишной - только пассивнй переходник нужен, а остальное - программно.

Цепляй PS/2 клаву, и мышь прицепом ;)
Инфы в и-нете море. Там используется некое подобие i2c, т.е. одна линия данных, и одна линия строба. Работает все в режиме мультимастер, т.е. и ты в клаву можешь "писать" и клава может "писать" мастеру...
ЗЫ: Если ничего путнего не нароешь, кинь в личку, я свои архивы порою, там много интересного, но на инглицком...


22 Mar 2006 21:55
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Post 
jdigreze wrote:
Цепляй PS/2 клаву, и мышь прицепом ;)
Инфы в и-нете море. Там используется некое подобие i2c, т.е. одна линия данных, и одна линия строба. Работает все в режиме мультимастер, т.е. и ты в клаву можешь "писать" и клава может "писать" мастеру......

Ну, да, я вкратце читал об этом. Кроме протокола обмена на уровне железа (параметры импульсов, вперёд ногами или головой байт выезжает, и т.п.) там есть какая-то система команд для общения двух микроконтроллеров, "клавкиного" и 8042 (что на "маме"). Ну, с системой команд можно прямо на "писи" поиграться, а потом и к "Дендику" подцепиться, железо подогнать. Тестовый картридж также надо изготовить. Пока прошью туда программку для экспериментов с клавой, а потом он и дальше пригодится...
Короче, поищу пока доки.
PS загнул я, по-моему насчёт изучения системы команд на "писи" :oops: ..... Она же внутренняя, для общения между контроллерами, со стороны CPU её не видать должно быть...
Вернее, там уже другие команды...

_________________
Кто мешает тебе выдумать порох непромокаемый?


22 Mar 2006 23:17
Profile
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Post 
Ball Bess wrote:
Пока прошью туда программку для экспериментов с клавой, а потом он и дальше пригодится...

Поставь для работы с PS/2 процессор типа 90S2313, или хотя бы 90S1200.

Ball Bess wrote:
PS загнул я, по-моему насчёт изучения системы команд на "писи" :oops: ..... Она же внутренняя, для общения между контроллерами, со стороны CPU её не видать должно быть...
Вернее, там уже другие команды...

Правильно мыслишь! ...хотя я первые эксперименты ставил через LPT, правда только на прием из клавиатуры. А програмку приемника писал на QB4.5 ;)


23 Mar 2006 00:40
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Post 
jdigreze wrote:
Поставь для работы с PS/2 процессор типа 90S2313, или хотя бы 90S1200.

А "Дендик" тогда зачем будет нужен? Основная цель-то - применить "Дендик", чтобы его не выбрасывали в мусор (т.к. "его эпоха прошла" и т.п.). Но это применение должно быть не "притянуто за уши" (применить Dendy, во что бы то ни стало), а экономически обосновано. Если же в данном проекте такого не получается - значит это применение не для "Дендика", чтобы не получилось что-то вроде "каши из топора", где "Дендик" как раз топором и будет.
В этом смысле, кстати, переплюнуть ГИС Рюмика сложно, если вообще возможно, там нужен всего лишь картридж, а способности "Дендика" используются по полной программе: в нём есть кодер PAL, а это для ГИС - первейшая вещь.
Короче, если включить в это дело контроллер, который, как я думаю, сам обладает изрядной вычислительной мощью, то этот контроллер уже может сам справиться со всеми делами, которые я хотел поручить "Дендику". А тогда проект приобретает несколько иной вид. Там уже не будет игровой приставки, телевизора, зато будут несколько светодиодных семисегментных индикаторов (или ЖКИ) ну и так далее. Да 8042 у меня валяются целая пригоршня, от старых мамок. Одна даже с окошком для стирания. Это ещё один вариант, с дендиевской шиной его подружить...
Короче, смысл в чём... Если речь идёт о программаторе на основе "Дендика", то пусть он будет реализован при минимуме дополнительных затрат. Цель-то не в том, чтобы просто заполучить себе программатор любой ценой, их у меня до фига (все самодельные), а продемонстрировать что-то вроде шахматного этюда: как максимально красиво и за минимум ходов решить такую-то задачу. Почему, собственно, у программеров есть "демо-мейкерство", а у "железячников" нет? Мы тоже не лыком шиты, забацаем "демку"...
Одно только сомнение - может программатор - не самая лучшая идея? Но что ещё можно придумать? Блин, ГИС не переплюнуть... Хотя это - штуковина всё-таки по большей части программная... :roll: ...
Пойду-ка ещё пива возьму...

_________________
Кто мешает тебе выдумать порох непромокаемый?


Last edited by Ball Bess on 23 Mar 2006 05:52, edited 2 times in total.



23 Mar 2006 01:28
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Post 
jdigreze wrote:
....я первые эксперименты ставил через LPT, правда только на прием из клавиатуры...

А чё только на приём? У параллельного порта есть, по-моему, что-то типа нибблового режима, когда половина на приём работает (четыре бита), а другая половина - на передачу. Таким макаром, имхо, можно изобразить практически "естественные условия" для клавы...
Блин, обсуждение всего связанного с IBM PC, здесь идёт как оффтопик. Хоть мылом отписывайся. Короче, посмотрим, как Shaos к этому отнесётся...

_________________
Кто мешает тебе выдумать порох непромокаемый?


Last edited by Ball Bess on 25 Mar 2006 23:40, edited 1 time in total.



23 Mar 2006 02:38
Profile
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Post 
Ball Bess wrote:
А чё только на приём? У параллельного порта есть, по-моему, что-то типа нибблового режима, когда половина на приём работает (четыре бита), а другая половина на передачу. Таким макаром, имхо, можно изобразить практически "естественные условия" для клавы...

Потому что одни и те же проводники используются как для приема данных, так и для передачи. Т.о. нужно не только "дёргать" каким-либо битом порта, но и смотреть, что же там происходит, когда этим битом этого порта "дёргает" клавиатура.
Ball Bess wrote:
Блин, обсуждение всего связанного с IBM PC, здесь идёт как оффтопик. Хоть мылом отписывайся. Короче, посмотрим, как Shaos к этому отнесётся...

Хоть это и стандарт, принятый для IBM PC, но используется не только в персональных компьютерах, например для подключения NumPad'ов для промышленных компьютеров...


23 Mar 2006 04:51
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Post 
jdigreze wrote:
Потому что одни и те же проводники используются как для приема данных, так и для передачи. Т.о. нужно не только "дёргать" каким-либо битом порта, но и смотреть, что же там происходит, когда этим битом этого порта "дёргает" клавиатура.
...

Ну а я про чё толкую? Когда полпорта работает на передачу, а полпорта на приём, мы можем попарно объединить выводы этих половинок и получим то самое, что по одним и тем же проводам идёт и предача, и приём... Или тут ещё какая-то тонкость есть, в которую я не врубаюсь?
Единственное требование к выходам порта - это должны быть не двухтактные выходы, а выходы с открытым коллектором, подтянутые к плюсу через резисторы. Вот это нуждается в уточнении. Хотя ничто не мешает сгородить простую буферную схемку и тогда плевать, какой там тип выходов...

_________________
Кто мешает тебе выдумать порох непромокаемый?


Last edited by Ball Bess on 25 Mar 2006 02:25, edited 1 time in total.



23 Mar 2006 05:01
Profile
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Post 
Ball Bess wrote:
Единственное требование к выходам порта - это должны быть не двухтактные выходы, а выходы с открытым коллектором, подтянутые к плюсу через резисторы.

Вот это и есть та самая "тонкость"... ;)
Я не использовал ничего кроме ПРОВОДНИКОВ!

Кстати, если очень большое желание сделать "нечто" из Денди, то рекомендую присмотреться к идее создания среды разработчика софта под эту платформу.
А может быть стоит сделать программно-аппаратный комплекс для программирования микроконтроллеров серии AVR, включая IDE для asm'a, debuger, и возможность "заливки" откомпиленного и избавленного "от лажи" кода непосредственно в микроконтроллер по SPI. Если сюда добавить поддержку flash-карт, то можно всю эту кашу позиционировать как "Комплекс разработчика" ;)
PS: Тема вышла за пределы обсуждения 6538...


23 Mar 2006 06:16
Profile
Maniac
User avatar

Joined: 14 Mar 2006 00:20
Posts: 211
Location: Иркутск
Reply with quote
Post 
jdigreze wrote:
Кстати, если очень большое желание сделать "нечто" из Денди, то рекомендую присмотреться к идее создания среды разработчика софта под эту платформу.
А может быть стоит сделать программно-аппаратный комплекс для программирования микроконтроллеров серии AVR, включая IDE для asm'a, debuger, и возможность "заливки" откомпиленного и избавленного "от лажи" кода непосредственно в микроконтроллер по SPI. Если сюда добавить поддержку flash-карт, то можно всю эту кашу позиционировать как "Комплекс разработчика" ;)...

Ой, блин, мне даже услышать такое - и то страшно становится, не говоря о том, чтобы браться... Валенок я в этих вопросах. Поэтому не в состоянии оценить ни перспектив, ни спроса (не на предмет бабок намолотить, а чтобы это просто кому-то было нужно)... Мне известны, максимум, потребности домашних Кулибиных типа меня, тут я себя уверенее чувствую. А ты меня подталкиваешь в "смоляную яму", как выразился один дядя (Фредерик Брукс, по-моему), где я благополучно и утону. Самые родные мне предметы - паяльник и осциллограф, после этого идут машинные коды, а уже потом - ассемблер (тут уже можно запутаться если не в мнемониках, так в директивах)... :)
Хотя до флэш-карт я всё-таки намерен добраться. На мой взгляд, это - правильная штука. И современная. Я с ними разберусь. После клавы. И ещё хочу найти какую-нибудь недорогую микруху, наделяющую всякие периферийные поделки USB-интерфейсом, чтобы я их мог к компу через USB-порт подцеплять.

_________________
Кто мешает тебе выдумать порох непромокаемый?


Last edited by Ball Bess on 25 Mar 2006 02:21, edited 2 times in total.



23 Mar 2006 06:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Ball Bess wrote:
jdigreze wrote:
PS: Тема вышла за пределы обсуждения 6538...

Я вижу. Я уже попросил e-mail'ом админа разрезать её на две части, пока ответа не было...


Админ подумал и решил что вместо хирургического вмешательства (к тому же при разрезании я не могу резать отдельные сообщения - только раскладывать в две кучки) лучше топик просто переименовать, чтобы заголовок включал в себя и устройства на основе Денди тоже.

_________________
:dj: https://mastodon.social/@Shaos


24 Mar 2006 19:45
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 49 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.