nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 21 Nov 2017 06:18



Reply to topic  [ 48 posts ]  Go to page Previous  1, 2, 3, 4
«Кроха» — недо-Специалист 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
Тем более, что с Атмегой уже всё готово, но это другая история...

Я вот тоже за последние 3 дня Атмег накушался... по самое "нихачу"... :lol:
А всё почему?
Два года назад зашел я перед НГ в магазин радиотоваров и купил 6 штук Атмег -
чисто потому, что у меня их не было, а после НГ обычно всё дорожает.... 8)

_________________
iLavr


07 Sep 2017 17:16
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
В общем, с пинками, костылями, матюками, подпорками и танцами с бубном «Кроха» у
меня тоже заработала... :wink:
Решил выяснить структуру её видео-ОЗУ. Под видео-ОЗУ у «Крохи» отведено 2048 байт
ОЗУ по адресам 0E800-0EFFFH.
Чтобы осталось памяти для стека и переменных программы в ПЗУ-картридже, видео-буфер
ограничивают 25-ю строками по 48 позиций в строке - это 48х25=1600 байт.
Но в принципе видеоадаптер «Крохи» способен показать все 32 строки по 48 позиций в строке.
(строки - символьные, а не графические).
Лишнее прячут гасящими импульсами развертки.

Написал тест, заполняющий всё видео-ОЗУ у «Крохи» символами от 20Н - это пробел, до 7FH.
В закогенераторе «Крохи» символов в нижнем регистре нет - только заглавные.

На скриншоте серым цветом - то, что выдает «Кроха» при заполнении видео-ОЗУ.
Зелёным цветом я на левое слишком длинное гасящее поле в графредакторе прилепил
знакогенератор «Крохи», который посмотрел через эмулятор «Специалиста».
Attachment:
KroxaScr.gif
KroxaScr.gif [ 14.79 KiB | Viewed 148 times ]

Организация экрана довольно странная - всё что выводится с 0E800 - находитсяв самом
правом столбце, а потом изображение переходит в крайний левый столбец и далее - по
столбцам идёт подряд.

Через «Специалист» также немного почитал код программы из ПЗУ. Смутила установка стека:
LXI SP,Е9Е0
Стек линейно увеличивается вниз, но от Е9Е0 до верха видео-ОЗУ 0EFFFH не набирается этих
самых даже 48х25=1600 байт по минимуму! :o

Под Windows 7 оба драйвера дисплея не работают, причем тот, что поновее при долгом ожидании
видео-чуда таки может наглухо завесить систему. Под Вендой 98 - работают нормально.

_________________
iLavr


11 Sep 2017 00:39
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 11:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
Организация экрана довольно странная - всё что выводится с 0E800 - находитсяв самом
правом столбце, а потом изображение переходит в крайний левый столбец и далее - по
столбцам идёт подряд.

Из этого теста стало понятно, что на экране память организована столбцами по 32 символа,
нумерация символов идет сверху вниз линейно 0-31, переход в другой столбец.. и т.д.

Теперь я усложнил тест, чтобы понять, как расположены сами столбцы по отношению к
геометрии экрана и адресам памяти. Я выводил столбцами по 32 числа 0,1,2,3 ... D,E,F.
Получилось вот что:
Attachment:
K_Test2.gif
K_Test2.gif [ 12.69 KiB | Viewed 116 times ]

Действительно, столбец "0" с адреса Е800 находится справа, потом пропадают столбцы с
номерами "1" ... "F", и первый видимый столбец - снова "0".
Я дорисовал влево и вправо недостающие столбцы (они скрыты обратным ходом TV-развертки),
и получилась карта памяти видео-ОЗУ "Крохи":
Attachment:
K_V-RAM.gif
K_V-RAM.gif [ 19.11 KiB | Viewed 116 times ]

Реально выводимая на экран область ОЗУ начинается с 0EA00H и по 0EFFFH.
Нижние 7 символов каждого столбца маскирует Кадровый гасящий импульс.
Интервал 0Е800-Е9FFH приходится на строчный гасящий импульс и является
доступным ОЗУ пользователя, т.к. не отображается на дисплее. Там же расположен
и стек, как видно, адресом 0E9E0H начинается первый столбец до области, отобра-
жаемой на дисплее.

Несложный подсчет показывает, что вроде я нигде не ошибся: на интервал строки у "Крохи",
как и у "Специалиста", приходится 64 столбца (или байта). Из них 16 столбцов (байт) приходятся
на интервал гашения. На экране видимы оставшиеся 48 столбцов по 32 символа, из которых
7 символов гасятся по кадру и остается - 25 строк.

_________________
iLavr


11 Sep 2017 16:56
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 48 posts ]  Go to page Previous  1, 2, 3, 4

Who is online

Users browsing this forum: No registered users and 1 guest


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.