Born Dead #10
02 июля 2000

Железо - О тайнах некоторых компьютеров и кое-каких девайсов: Pentagon 1024, ПЗУ, Кэш (cache) 32k, Мышка (Kempston mouse) , Как определить наличие мышки?, Как программно отличить Pentagon 512 от Pentagon 1024?

<b>Железо</b> - О тайнах некоторых компьютеров и
кое-каких девайсов: Pentagon 1024, ПЗУ, Кэш (cache) 32k, Мышка (Kempston mouse)
, Как определить наличие мышки?, Как программно отличить Pentagon 512 от Pentagon 1024?
════════════════════════════════════════════════════════════════
                        IRON MADE IN
════════════════════════════════════════════════════════════════

(c) Alone Coder/Invaders 8

                        Pentagon 1024

    Первый  раз  пишу  в  редакцию  :).  Хочется посодействовать
хорошей газете, а то больно много расплодилось плохих. Поскольку
писать  не о  чем, расскажу  о  тайнах  некоторых  компьютеров и
кое-каких  девайсов.  Схем  буду  избегать, так как читателя они
пугают, а рисовать их влом.

    К  удивлению  многих,  на свете существует такая машина, как
Pentagon  1024.  Что же отличает её от прочих клонов ZX Spectrum
и  почему  о ней так мало слышно? Просто этот компьютер нигде не
производится.  Каждый его экземпляр собирают вручную, в основном
на  базе  Pentagon  128. Естественно, при таком состоянии дел не
существует   единственной  комплектации  компьютера;  восхищения
достойно,   что   вообще  сложился  какой-то  стандарт.  Хочется
помянуть   хорошим   словом  товарищей,  без  которых  бы  этого
стандарта (и компьютера тоже) не было: V.M.G., Ivan Mak, Mr.Gluk
& Co. и другие, кого я не знаю.

   Управление ресурсами Pentagon 1024 происходит с помощью порта
#eff7 (дешифрация minimum по A3, A12, IOWR, сброс по RES):
   bit  0  -  "атрибут на байт" (a4b) - аппаратный мультиколор,
атрибуты с адреса #6000. 1 - включено.
   bit 1 - 512x192. См. Deja Vu #6. 1 - включено.
   bit 2 - защёлка памяти выше 128k. 0 - есть память, 1 - нет.
   bit 3 - Hе используется. Предлагаю:read only cache. 0 - можно
записывать, 1 - нельзя.
   bit 4 - GigaScreen (аппаратное наложение 0-го и 1-го экранов.
Чередование строк:C35 = (bit4 & 8kHz) xor C35.) Hе используется.
Точнее,  в  игре  "Homer  Simpson  In Russia" вместо порта #eff7
прописано #fffc.
   bit 5, 6 - зарезервировано для Rom-Disk. Так как эта штука не
распространенаредлагаю:bit 5 - включение Sound Blaster (см.ZX-
Guide 2)it 6 - включение 384x304 (там же).
   bit 7 - Gluk CMOS (часы реального времени).См.схему в Deja Vu
#8 (правдаам вместо #eff7 тоже написано #fffc). 1 - порты CMOS
активны.

       В каком порядке устройства захватывают A13V и C35?

   A13V - 13-й адрес в схеме коммутации видеоконтроллера (на сх.
Pentagon первой версии 11/D17), изначально земля.
    У  меня  собрано  так: a4b формирует, SB складывает, 512x192
коммутирует,   384x304  переключает.  Если  384x304  собрать  на
мультиплексоре  (КП11,  можно  КП12),  то: по #eff7 bit 6 должен
коммутироваться  старый  A13V  (если  bit  6=единица) либо земля
(если  bit  6=ноль), а полученный сигнал надо примешивать (OR) к
C35.  Тогда  при  установленном  bit  1  это  будет уже 768x304,
хе-хе...
    C35   -   1-й   бит  номера  странички  в  схеме  коммутации
видеоконтроллера (на Pentagon 13/D17), изначально #7ffd bit 3.
    У  меня  не  перехватывается,  но,  по логике вещей, сначала
768x304 коммутирует и примешивает, а потом GIGASCREEN ксорит. На
384x304 тогда будут возможны X-Color'ы с пониженным мерцанием.

                              ПЗУ

    TR-DOS   v5.13Fm   -   обычный   TR-DOSмеется   ускоренное
позиционирование  (из-за  которого,  к сожалению, глючит Monster
Commander);   диск  D  -  RAM-disk,  можно  переписать  на  него
программу, юзающую #3d13, и рулиться с высокой скоростью...
    Gluk   Reset   Service  v5.3K  -  операционная  система  ;),
прошивается  в  неиспользуемую страничку 27512 (обычно нулевую).
Компьютер должен входить в туда по RESET.
   Сброс с горячими кнопками: RESET/1 - quit to STS, RESET/Space
- TR-DOS. Полезно  для выхода в ALASM или STS, когда при отладке
программа повисает.
    Есть  возможность  просмотра  экранов прерванной программы и
записи  их  на диск (описываемая версия, правда, страдает глюком
по   отношению   к   0-му   экрану).  Присутствует  сохранялка и
восстановилка   каталога   диска   на   161-й  дорожке.  Имеется
встороенный boot+Perfect Commander 1.52. Автор -  Ренат Мамедов,
2:5026/5.46@fidonet

                        Кэш (cache) 32k

    Микросхема  статического ОЗУ, ставится по схеме LPrint III в
адресах  #0000-#3fff.  Обычно  используется буржуйская 11C256. В
режиме  Turbo  программа  в  этой области памяти не подвергается
WAIT'ам.
   IN (251) - включить кэш, IN (123) - выключить. Старший  адрес
переключается сигналом DOSEN (15-й адрес ПЗУ).
   Некоторые программы, использующие General Soundонфликтуют с
LPrint III. Советую  авторам  таких  программ сначала определять
наличие  этого  девайса  (а  он  распространён, однако), а потом
проверять GS.

                     Мышка (Kempston mouse)

    Двух- или трехкнопочная мышь на портах (#fbdf)=координата X,
(#ffDF)=координата  Y  (считается  снизу вверх!), (#fadf)=кнопки
(ноль   -   кнопка  нажата,  единица  -  отпущена).  Стандартное
расположение  кнопок  (по  CREATE  SOFT,  а левую схему придумал
Зонов):  левая  кнопка=D0,  правая кнопка=D1, средняя кнопка=D2.
Схема   подключения   и   советы   по   переоборудованию   мышек
опубликованы в ZX Format #5.

                 Как определить наличие мышки?

    Мышь  считается  подключенной к компьютеру, если шина данных
его  стабильна, а значения, считанные из всех 3 портов мышки, не
равны  между  собой.  Программа-определялка,  вероятность отказа
1/65536:

           HALT
           IN A-1)
           CP -1
           JR NZнет мыши>
           LD BCFADF
           IN CC)   ;(#fadf) = кнопки
           IN A#DF) ;(#ffdf) = Y
           CP C
           JR NZесть мышь>
           LD AFB
           IN A#DF) ;(#fbdf) = X
           CP C
           JR NZесть мышь>
<нет мыши> ....

                       Другие устройства

    Стандартные  дополнительные  устройства в основном звуковые:
AY  (of  coz), COVOX (обязательно), SounDrive v1.51 (с эмуляцией
COVOX,  см.схему  в  приложении  к  Deja  Vu  #1).  Теоретически
обоснована  возможность  подключения General Sound. Вроде бы DMA
UltraSound тоже должна работать, но данных об этом нет ;).

   Стандартный модем - Hayes по схеме Кондратьева (см.Oberon #4)
на 14400-57600 бод.

   Дисковый интерфейс Beta Disk + TR-DOS, 55" и 3" флопы. По
поводу  вторых  ничего  хорошего  сказать  не  могу,  из  первых
рекомендую   Robotron,   в   худшем   случае   Teac  (из-за  его
заторможенности  и  недолговечности),  а самые лучшие дисководы,
которые я наблюдал - Mitsumi на 1M.

    Стандартного  интерфейса винчестера пока нет. В сущности, не
так  важна, была  бы совместимость винта со старыми программами.
Ведь   в   случае   необходимости   пользователь   всегда  может
скопировать  образ  дискеты на реальную дискету и грузить с неё.
На  Амиге,  к  примеру,  так  и делают. Неплохо было бы сочинить
простую схему и Commander/Viewer под неё.

     Как программно отличить Pentagon 512 от Pentagon 1024?

    Стандартный  порт  расширения  памяти  в  пентагоне - #7ffd.
Определить реальный объём памяти по этому порту, не включив 48-й
режим  в  случае  512k, было бы невозможно, если бы не следующая
тонкость.

    Защёлка  48k/non  48k  (#7ffd  bit 5) срабатывает лишь в том
случае,  когда  память  выше  128k является выключенной, то есть
когда  2-й  бит порта #eff7 установлен (переключением этого бита
управляет, среди всего прочего, операционка Gluk Reset Service).
Поэтому, если компьютер реагирует на переворачивание этого бита,
то можно сбросить бит и спокойно проверять объём памяти.

    Hа  всякий  случай  дополнительные  биты порта #7ffd (6)
подключены   параллельно   битам   порта  #dffd  (0),  чтобы
сохранить  совместимость  с  софтом, писанным под Profi 1024. Hо
следует иметь в виду, что работа с одним портом #7ffd происходит
быстрее.

     Почему некоторые программы конфликтуют с портом #7ffd?

    В  таких  программах  для  быстрого  переключения  страничек
памяти   используется   неполная   адресация   порта  (#fd),  но
заполнение  этих  же  страничек (загрузка, например) ведётся при
помощи  полной  адресации.  Как  водится, при неполной адресации
устанавливают  6-й  бит  данного (штоп работало на скорпионе), в
результате  чего  на  первом  и  на  втором этапе мы получаем не
соответствующие друг другу номера активизируемых страничек.

    Владельцам  Pentagon 512-1024 приходится на время выполнения
таких  программ  отключать  верхнюю память.Избежать этого можно:
если   в  одном  месте  вашей  программы  используется  неполная
адресацияо используйте её по всей программе!

                       Дельное предложение

    Предлагаю    использовать   порт   #eff7   на   чтение.   Из
неподключенных  битов  (где  не реализован соответствующий этому
биту  девайс)  должна  считываться  единица, подключенные должны
возвращать  значения,  записанные  в порт. Собрать это несложно,
зато  все  дополнительные  устройства  станет  легко  программно
определить.  А  если порт #eff7 на чтение не реализован (то есть
если  из  порта #eff7 считывается постоянное значение), то можно
предусмотреть   в   программе  возможность  выбора  конфигурации
вручную (как оно и было до сих пор).

Alone Coder / Invaders 8 отбивал кулаки об AC Edit v0.43




Другие статьи номера:

Вступление - 666 байт От Редакции: почему газета разрослать до обьемов журнала.

Новости - Monster рассказывает об оболочке к газете.

Новости - Relict^PHT присоединился к K3L, Exploder ушел из группы XTM, Eternity Industry готовят новый журнал, Diver ушел в армии, Черный Ворон 2 не за горами, новое пати ZX PARTY 2000, Faster^TNL затевает сайт по программированию для спектрума, и другие новости.

Игры - новая игра хабаровской группы Action под названием "Восьмой Отдел или Агент Лари и Лиза против Доктора-Икс".

Игры - описание игры Crossword от Razzlers.

Партийная зона - FOREVER 2E3, первое крупное событие в мире demoparty для Speccy в этом году: результаты и рассуждения от UnBEL!EVER'a.

Партийная зона - FOREVER 2E3: подробный отчет с пати от художника CVM of ZeroTeam.

Партийная зона - FOREVER 2E3: путешествие Gasman'a на Forever через пол европы.

Партийная зона - Mekka Symposium 2000 - одно из тех мировых party, что при всём своём размахе и коммерческой основе не потеряло духа истинных demoparty.

Партийная зона - подробный отчет и результат Phantom Lord с Ростовского пати PARADOX'2000. А также разгромная критика от UnBEL!EVER'a.

Партийная зона - Результаты первого Беларусского демопати MILLENNIUM'2000. По прогнозам MILLENNIUM demoparty в Минске должно было закончиться полным провалом...

Партийная зона - "PHAT0, как много в этом слове для сердца сценера слилось?!". Информация о предстоящем демопати.

Злоба дня - SergSoft рассказывает о создании нашумешей интры C2H5OH и демах в целом.

Злоба дня - CC'000; зачем он тебе?! Рассуждения об идеальном демопати; наставления участникам пати. UnBEL!EVER раскрывает мысль - почему CC'000 это мировой уровень.

Cult pro свет - история непростой судьбы китайского клона спектрума - Enterprise 64/128.

Cult pro свет - DEMOSCENE для чайников.

Железо - О тайнах некоторых компьютеров и кое-каких девайсов: Pentagon 1024, ПЗУ, Кэш (cache) 32k, Мышка (Kempston mouse) , Как определить наличие мышки?, Как программно отличить Pentagon 512 от Pentagon 1024?

Железо - К вопросу о дисководах и multiloader'ах.... "Как ни крути... три дисковода не добавят тебе мастерства!"

ПОД ЗВУКОМ "ПИ" - Raver: "Не хочу вас обидеть, хочу лишь сказать святую правду людям - вы же профессионально сосёте!"; разборки между Constelattion и Phantasy.

ПОД ЗВУКОМ "ПИ" - Шутки про демосценеров: "Пpиснился однажды Diver'у стpашный сон: Fil и Gas-13 с тpанспаpантом "STOP CONVERTING!" И пpоснулся Diver в холодном поту, и учится с тех поp pисовать всё сам..."

Реклама - Ёжики и мировые продажи CD-R дисков.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Credits - авторы газеты.
Железо - полное руководство по наладке Pentagon-2.
Реклама - Реклама и объявления.
Обзор - O новых программах: Narc, The Hundred, Heavy Metal Mover, Quick Draw McGraw, Iice Climber (Альпинист), Super Cars, Lode Runner 3, Down Town, Страна Мифов, Gremlin 2, Sword of Bane, Turbo Skate Fighter, Assault Course, Mercs, Darkman. Десятка лучших игр.
Cheating - Немного об RPG - Bard'S Tales. Тайная часть в музыкалке : Trash'e Trackmo. Коды уровней в игре Magic Stripes. Как перейти на следующий уровень в игре King Valley. Навороты в головоломке Hexxagon. Cheat в SEX-minesweeper demo.

В этот день...   19 мая