# |
|
Pentagon - Инструкция по переделке Спектрума для использования всей площади экрана.
AlCo
Сразу же прошу выкинуть из головы весь
тот бред, который я грузил в прошлом номе-
ре... Как мне объяснили, замыкать ножки на
микросхемах нехорошо, они от этого могут
испортиться...На основании этих данных пу-
бликую окончательный результат моих экспе-
риментов над схемой отображения пентагона.
Итак,
Контакт v2.03!
Цели, которые я преследовал,были следу-
ющие: позволить использовать всю площадь
экрана, включая бордюр,не добавляя к схеме
компьютера ни одной микросхемы; освободить
процессор от изнурительных трудов по пере-
ключению/перемещению экранных буферов; ис-
пользовать при всем этом серийный сдвоен-
ный переключатель для включения/отключения
полученного рулеза.
Но что мы должны сделать в первую оче-
редь? Естественно, отыскать сигнал бордюра
(вот характерный участок схемы)...
║ │ D10 ║
─┐ ║ │ D9 +5v 13┌─┬─┬─┐ ║
1├B3╢ │ 4┌───┐ ___<┬──oR│T│ │ ║
2├B4╢ ├────┤ & │6 BOR │12├─┤ │Q│ ║
4├B5╢ │ 5│ ├───x──┼──┤D│ │ │ ║
8├──╫─┘ ┌──┤ 1 │ ┌┼──/C│ │_│ C5║
│ ║ │ └───┘ ││11├─┤ │Q├───────╢
>├┐ ║B1 │ │└──oS│ │ │ ║
─┘│ ╟───┼────────────┘ 10└─┴─┴─┘ C6║
──┘ ║ └──────────────────────────────╢
...и перерезать его (где поставлен крест).
Естественно, делать это надо при выключен-
ном компьютере :).Первый рулез будет виден
при включении компьютера: нет,не характер-
ный дымок, а то, что бордюр исчезнет, и на
его месте появятся следующие вещи:
┌───┬───┬───┬───┬───┬───┐
│ │ │ │ │ │ │
│ d │ a │ b │ c │ d │ b │
│___╔═══╪═══╪═══╪═══╗___│
│ ║ │ │ │ ║ │
│ d ║ A │ B │ C │ D ║ b │
│___║___│___│___│___║___│
│ ║ │ │ │ ║ │
│ h ║ E │ F │ G │ H ║ f │
│___║___│___│___│___║___│
│ ║ │ │ │ ║ │
│ l ║ I │ J │ K │ L ║ j │
│___║ │ │ │ ║___│
│ ╚═══╪═══╪═══╪═══╝ │
│ │ грязь всякая │ │
└───┴───┴───┴───┴───┴───┘
В основном это повторение уже существу-
ющего изображения. Нижняя часть читается с
адреса #5800,а атрибуты для неё - с адреса
#5B00.(Из этого вытекает,что пока её испо-
льзовать нельзя.)
Для начала и это неплохо. Я даже писал
бегущую строку через весь экран,переключая
с сумасшедшей скоростью (и ювелирной точ-
ностью) экранные буфера.
Можно, конечно,доверить это автоматике,
подав,например,бывший сигнал бордюра вмес-
то номера экрана на 13/D17. Но, поверьте
мне, это путь тупиковый.
Давайте лучше выясним,из чего же состо-
ит сигнал бордюра:
000000
111111
111111 D9
111111 4┌───┐ ___ 000000
000000 ─────┤ & │6 BOR 011110
5│ ├───── 011110
011110 ─────┤ │ 011110
011110 └───┘ 000000
011110 ЛИ1
011110
011110
Так вот,сигнал с четвёртой ножки мы по-
дадим...э-э-э... на какой же адрес его по-
дать?
Давайте введём названия для всех адре-
сов (не адресов процессора,а адресных вхо-
дов устройства управления памятью - УУП):
A0,A1,A2,A3,A4,A5,A6,A7,
A8,A9,A10,A11,A12,A13,
P0,P1,P2.
Сигналы P0-P2 - это в обычном понимании
биты номера странички,к которой мы обраща-
емся. Сигналы A0-A12 уже использованы. На
странички пока зариться не будем. Остаётся
A13. А точнее - A13V, т.е.тот A13, который
подаётся на УУП видеоконтроллера(D16-D17),
в отличие от УУП процессора(D18-D19).В но-
рме на A13V висит земля. А наш сигнал в
поле основного экрана - единица. Придётся
поставить рубильник:
___
BOR in ___
───────── BOR out
+5v ║──────────────
( <───)║
║
┌── A13V (11/D17)
4/D9 ┴ ──────────────
─────────
Теперь центральная часть экрана будет
читаться с адреса #6000,а то,что по краям,
останется по старому адресу #4000.
Думаете,уже всё? А вот и нет! Ведь вер-
хняя треть по-прежнему дублируется,а в ни-
жней - атрибуты и маска читаются из одного
и того же места.Посмотрим ещё раз на схему
пентагона и найдём сигнал P0V (14/D17), на
который подано +5v.Нашли? Так вот,эти пять
вольт мы перережем(кроя матом тех,кто про-
вёл эту дорожку под микросхемой) и заместо
них кинем сигнал 5/D9. Что мы получили:
│ │
4-я стр. #C018│ #E000 │#C008 4-я стр.
____╔════════╗____
║ ║
#4018║ #6000 ║#4008
║ ║
────╚════════╝────
4-я стр. #D818│ #F800 │#D808 4-я стр.
│ │
Остаётся сделать финальный рывок: отвя-
зать адреса атрибутов и маски друг от дру-
га таким образом, чтобы нижнюю треть стало
можно использовать не только для атрибут-
ных скроллов. Найдите на схеме мультиплек-
сор, который коммутирует эти адреса:
D14 ║
┌──┬──┬──┐ ║
─B12──────2┤A0│ │ │ ║
─B13──────5┤A1│ │Y0├4───B14─╢ (A8V)
+5v ├──11┤A2│ │ │ ║
<──────14┤A3│ │Y1├7───B15─╢ (A9V)
─B6───────3┤B0│ │ │ ║
─B7───────6┤B1│ │Y2├9───B16─╢ (A10V)
─B8──────10┤B2│ │ │ ║
─B12─────13┤B3│ │Y3├12──B17─╢ (A11V)
├──КП11 │ ║
─C30──────1┤V │ │ │ ║
├──┤ │ │ ║
├──15┤W │ │ │ ║
└──┴──┴──┘ ║
Отрежьте +5v от 14/D14 (будьте осторож-
ны,не отрежьте питание у самой микросхемы)
и подайте вместо него всё тот же сигнал
5/D9. Всё! Теперь атрибуты в самой верхней
и самой нижней третях берутся не из расчё-
та "все атрибуты хранятся по адресам 4-й
трети",а из расчёта "все атрибуты хранятся
по адресам 2-й трети", то есть,для верхней
трети по адресам #D000 и #F000, а для ниж-
ней - #D300 и #F300.Разумеется,в 4-й стра-
ничке ОЗУ.
Второй экран тоже можно использовать -
он разбросан по 7-й и 6-й страничкам.
Кину,что ль,вам в БАРАХЛО исходник лис-
талки на 80 символов в строке(LISTER80.H).
А может,и ещё чего напишу,тоды тоже кину.
Похожие статьи:
В этот день... 21 ноября