|
On-Line
#35
05 мая 1996 |
|
Мозаика - расширение портов ZX Spectrum.

(C) ROMIK
В последнее время (в ONLINE 30..33, да и не только в
ONLINE... и не только в последнее время) были затронуты вопросы
о текущем состоянии и дальнейшем расширении Speccy. Многие хоть
раз задумывались о нехватке ресурсов (размер и способ расшире-
ния RAM, CPU clock, размер диска и время доступа к нему, а так-
же недостатками TR-DOS), которые неоднократно, не совсем удачно,
пытались компенсировать заменой ДОСки - iS-Dos, CP/M.
О совместимости со стандартом на Speccy говорилось много и
часто. Я могу тут сказать только о ненужности, и даже вреде, так
называемого порта #FF (честно говоря, в фирменном Speccy это
вообще не порт, а глюк, полученный сильным упрощением схемы).
Большинством программ глюк не поддерживается, а только древними,
еще не переделанными. О вреде сего порта можно судить по его
реализации. Например, в Scorpion'е он занял все адреса кроме
стандартных, что вызвало некоторые осложнения при подключении
C-DOS модема.
По-поводу расширений... Мои размышления на счет портов: В
нижних адресах творится следущее: бит А0 - занят под порт #FE и
использованию не подлежит.
А1 - порты принтера #FB и #7B.
А2 - базовый порт для портов #7FFD, #BFFD, #FFFD, а также
используется в Profi (#DFFD), Scorpion'e (#1FFD).
А5..А7 - загружены, в зависимости от наворотов: ВГ93 (1F, 3F,
5F, 7F, FF), ВВ55 (те же порты кроме #FF), и много еще
чем.
А4 - модем C-DOS (у некоторых модем на других адресах).
А3 - единственный "стандартно" не занятый "адрес" (#F7).
В верхних адресах положение получше:
При младшем байте #FD - лучше не трогать!!! (хотя #DFFD в
99.9% программ не глючит - проверено - у меня Pentagon с #DFFD
(A15=1, А14=1, А13=0 на AY А13=1!) при остальных основаниях
"стандартно" не занят.
Вывод: для дальнейших расширений надо использовать порт
#XXF7, или с другим основанием (лучше использовать настройку
программ на базовый адрес).
Предлагаю использовать следующую схему (кстати, похожая схе-
ма использования портов применяется в IBM):
Адрес порта: #ZYXX,где:
XX - мл.байт базового адреса всех новых портов (настраиваемый).
Z - часть ст.байта базового адреса, персональный для каждого
устройства (позволяет подключить до 16 новых устройств).
Y - часть ст.байта адреса - используется для выбора порта в
устройстве.
Поясню на примере: предположим, Вы создали или купили Хрено-
вину-1, адресованную на порт #30ХХ, а на этом порту уже висит
Хреновина-2. Вы переключаете на плате Хреновины-1 пару перемы-
чек, установив тем самым нужный базовый адрес, а в программе в
setup'е указываете соответствующий базовый адрес.
И НИКАКИХ КОНФЛИКТОВ ПО АДРЕСАМ!
О бедном Z-80 замолвите слово...
Dear Sinclair Users, Господа, Мужики, хочу спросить Вас:
сколько еще можно мучить работягу Z-80, заставляя его таскать
непомерно тяжелые байты из RAM во всякие ЦАП'ы, заставляя дина-
мики издавать различные трески, шорохи и т.д. (Не поймите меня
неправильно - Musicmaker'ы на Speccy очень хорошие, о их же бла-
гополучии пекусь). У Z-80 и так дел хватает, да и память не ре-
зиновая.
Если Вы еще не поняли, - я говорю о необходимости создавать
устройства, не занимающие время Z-80, т.е. те же ЦАПы должны са-
ми о себе заботиться (доставать жизненно важные байты из памяти
CPU или своей (что много лучше). К примеру, при "обычном" выво-
де частота дискретизации составляет, в зависимости от программы,
3000..8000 байт/сек (при одноканальной музыке - больше), из-за
прерываний (на них отсчитываются музыкальные такты, меняются ин-
струменты и т.д.) звук портится, все время Z-80 занято, кроме
того, при выводе на AY часто применяют неполную адресацию, что
приводит к различным эффектам на расширенных компьютерах. При
использовании ЦАП, повешеных черт знает на каких адресах, поло-
жение не лучше. А было бы хорошо выдавать красивые эффекты в иг-
рах, не занимая времени и места в основной памяти, которых так
нехватает. Кстати, о появлении подобной звуковой платы на рынке
я что-то слышал и хотел бы узнать побольше.
О расширении видео. Конкретно предлагать ничего не буду, хо-
тя идеи есть (например идея: отдельная RAM (64k..), свой процес-
сор, использование палитры (не путать с пол-литрой), и многое
другое), предложу только следующее:
- использовать отдельную RAM (позволит без особых проблем повы-
сить разрешение и не тормозить CPU в турбо режиме);
- использовать для доступа к этой памяти "окно" адресов
#4000..#5AFF.
ЗАКЛЮЧЕНИЕ
Заключение будет усем... (шутка).
Надеюсь, я не зря потел, писав этот текст. Люди, думайте,
придумывайте и не слишком заламывайте цену (C-DOS модем - 4.5
микросхемы - 120 штук! Красная цена ему 20 тыс.максимум! Его уже
давно скопировали и делают для своих). И вообще, для спектрумис-
тов преград нет - даешь 1 Гб RAM, 8 Гб HDD, 200 Мгц, 14400 и так
далее.
Если кого-нибудь задел за что-нибудь, заранее прошу простить,
а также за грамматику. И вообше, дышите глубже...
for F@#ks: 02 (еж.0.00-23.59)
for Messages: MDM (095) 901-6037
(еж 22.00-0.00)
ZX Net 5610129..9016037
for Dials: PHONE 901-60-37 Роман
(кр.вых.22.00-0.00)
° ° ° °
ON-LINE: Грамматику исправили...
────────────────────────────────────────────────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 13 ноября