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: Грамматику исправили... ────────────────────────────────────────────────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября