Устранение несовместимости компьютера "Робик"
© Александр Несвоваль, г. Харьков.
На компьютерах типа "Робик" не работают некоторые игры, что вызывает у их владельцев чувство "ущербности" этого, очень неплохого, аппарата, Это происходит потому, что эти игры настраивают процессор на особый режим прерываний IM2, записывая при этом в регистр I числа #39, #3A или #3B. В "фирменной" ПЗУ 1982 г, с адреса #3900 по #3ВFF находятся байты #FF. Поэтому, при любом считанном младшем байте, процессор в режиме IM2 при каждом прерывании будет переходить на адрес #FFFF. Обычно в этих играх по этому адресу записывают #18. А так как за адресом #FFFF следует адрес #0000, где находится в П3У код #F3, то получается двухбайтовая команда JR #FFF4. При таком подходе экономится в памяти 257 байтов, потому, что любой программист добивается того, чтобы его программа в режиме IM2 работала на любом компьютере с любым считанным байтом. Для этого он участок памяти от #ХХ00 до #XXFF+1 заполняет одинаковым байтом, например, #FD. Тогда программа обработки прерываний будет работать с адреса #FDFD при любом считанном младшем байте. Хотя стандартом для ZX-Spectrum является считанный байт #FF, для чего шина данных через резисторы "подтягивается" к +5В.
Теперь немного о работе моей схемы (см. схему). На элементах D1.2, D2.2, D2.3, D3.1, D3.2 и D4.2 собрана аппаратная схема анализа содержимого регистра I. Если содержимое этого регистра находится в диапазоне #38-#3В,
то это значит, что в момент прерывания происходит переход на адрес #FFFF. А как же этого добиться при заполненной области ПЗУ не #FF, а символьным набором, например, как в "Робике"? Очень просто: отключать ПЗУ в момент считывания вектора перехода и, затем, срезу же его включать. А так как шина данных "притянута" к +5В через резисторы, то мы и получим необходимое #FFFF даже при заполненном участке
перерезать
415 (5) — 414 (4) —
410 (40) -413 (3) —
412 (2) —
411 (1)-
Т
свежодиодд
D1.D2 —К555ЛЛ1 D3 —КБ551Ы4 ПЗУ D4 — КБ 5 5ТИ2
Прежде чем приступить к переделке, помните, что компьютер достаточно сложная машина, которую
комшютЕРы которым мы выбжфл'ем
нетрудно вывести из строя не умелым вмешательством в схему и нелегко, потом отремонтировать. Поэтому не беритесь за доработку, если Вы не обладаете достаточным опытом работы с микропроцессорными системами, лучше обратитесь за помощью к более опытному человеку. Теперь немного о самой переделке. У микросхем D1-D4 отгибаются в сторону все выводы, кроме выводов питания 7 и 14 и устанавливаются они' поверх любых 14-вы водных микросхем 555 серии на плате компьютера. Выводы 7 и 14 дополнительных микросхем необходимо припаять к аналогичным выводам нижних микросхем, а отогнутые выводы укоротить бокорезами до 3-4 им. Монтаж ведется тонким проводом МГТФ. Микросхема D1.4 включается в разрыв провода, идущего к 20-ым выводам микросхем ПЗУ (в "Робике" это D42 и D43). ^ева на схеме в скобках указаны номера выводов процессора Z80, к которым необходимо припаять эти выводы. По желанию, в схему можно установить светодиод ("минусом" к резистору, а "плюсом" к +5В) и вывести его на переднюю панель. Бели светодиод при запуске какой-нибудь игры горит, то это значит, что эта игра на не переделанном компьютере не работает, и вступила в работу предлагаемая схема.
Для примера я приведу лишь не большой перечень таких программ и задаваемое содержимое регистра I:
TOMAHAWK |
#39 |
MIKIE |
#39 |
ROBIN |
#39 |
SMURF 1 |
#39 |
SUPER 3.5 |
#3B |
GRYZOR 2 |
#3B |
RAMBO |
#3A |
SPITFIRE |
#3B |
3D-LABYRINT |
#39 |
TYPHOON |
#39 |
ENTERPRI |
#3A |
WEC LE MANS |
#3B |
IMPACT |
#39 |
ATARI POSITION |
#3A |
BOMB JACK |
#39 |
SABOTEUR 2 |
#3B |
SIGMA-7 |
#3B |
ZERO MUSIC |
#3B |
GRYZOR 1 |
#3B |
GRYZOR 3 |
#3B |
CYCLONE |
#3A |
JUNGLE WARRIOR |
#3B |
COMET |
#39 |
MATCH DAY 2 |
#3B |
PLANET PATROL |
#39 |
LOGO |
#3B |
SURV. |
#39 |
PINBALL POWER |
#3B |