ACNews
#17
05 мая 2003 |
|
News - схема паралельного интерфейса на AY.
░░▓▒▒▒░░░░░░░ ░░█▒░ ░▓▒▒░░░░ ▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄ ░░█▒░ ▓▒░░░ ▄▄▄▄▓▓▒ ██████▓▓▒ ▐▒▓▓██████████ █▒▓▄▄▄▄ ░░▓▒░ ▒░░ ▄████████▓▌▐███████▓▌ ▐▓▓███████████▌▐▓▓███████▄ ░░▓▒ ░░ ███████████▌▐████████ ▐▓███████████▓▌▐▓██████████ ░█ ░ ███████████▓ ████████▌ ▐██████▌▀▀▀██▓▒ █████▌▀█████ ░ ██████ ▐█████ ████████ ▐▓█████▌ ▀▀ ▓█████ ▐█████ ░ ▐█████▌ █████▌▐███████▌ ▄▄ ▐██████▌ ▐█████ ▐████▌ ███████▐█████▌▐███████ ▄▄█▓▓▒▌▐██████▌▄▄▄▄▄▄ ▐█████▌ ▐████ ▐█████████████ ███████▌█████▓▓▌▐██████████████▌ ██████ ████▌ ██████▌▐██████ ▓█████████████▓▌▐██████████████▓ ▓██████▄ ▐████ ██████ ▐▓████▌▐▓▓█████████████▌▐█████████████▓▓▌▐████████▐████ ▐▓█████ ▐▒▓███▌▐▒▓▓██▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▓▓▒▌▐████████████▓▌ ▐▓▓███▌ ▀▀▀▀ ▀▀▀▀█████▓▓▌ ▐▒▓▓▀ ▄▄▄███████▄▄ ▄▄▄▄▄ ▄▄ ▄█▓▄ ▀▀▓▒▌ ▐▀ ▄▄█▌ ▄▄▄▄▄ ▄▒▓▓████████████▌▐▓████ █████ ██▓▒▄ ▄█████▓nikf▀▌ ▒▓███▄███████ ▓▓██████▀▀▄█████▌▐████▌▐█████▌▐▓█▓▓ █████▀▄▄█▓▒▄ ▐▓▓████▐██████▐██████▌▄▒▓▓█████ ▐█████▐██████▐███▓▌ ▀████████▓▓▌ ▐▓█████ ██████▐██████▐▓▓███▀▀▀ ▐▓████████████████▌ ▄▄▄█████▓▌ ▐████▓▌▐████▓▌ ██████▄▀▀▄▄▄▄██▓▌▐▓▓███████████████▌▐▓▓█████████ ▀▀▀▀▀▀ █████▓▒ ▀███████████▓▓▒▌▐▒▓▓██████▓███████ ▐▒▓▓█▓▀▀▀▀ ▒░ ▀▀████████▀▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀ ▒ ░▓░ ░▓ ░ ▐▀ ▄ ▄▄▄ ▀▌ ░ ▄ ■▄░▄▀■ ▄▀■░ ▄█ █ █ █░▄■ ■▀■░ ■ ░■░▀■▄░ ■▀░ ■ ░■▄ ■░ ▀■░█ █ █ █▀ ░▀▄░ ▀░ ▄░ ■▀▄░ ░■▀░▀■░ ¤ ■▀░ ■ ▐▄ fix ▄▌ ■▀ ■▀ ▀■▀ ¤ 6.5.2oo3 Теперь ACE будет не только паковать себя сам, но и склеивать тоже! Благодаря наезду Александра Майорова эта возможность поя- вилась не завтра и не послезавтра, а именно сегодня :) ▄▄▄▄ ▄▄▄▄ ▄ ▄ ▄ ▄▄▄▄ ░▄■ ▓ ▓ ▓▄▄▓ ▓ █ ▓ ▓▄▄▄ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄ ▀■▄ ░ ░ ░▄▄▄ ░▄▓▄░ ▄▄▄▓ ║▄■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ───-+ of alone coder +────────────────────────────────────────── John купил цветной телевизор! Ldir совсем чуть-чуть не успел собрать Last128 #5 в апреле. А то сбылись бы обещанные 2 релиза ;) Inferno#4 нет :( Опять нашему музону RAIN8.m не повезло - на @toy он не попал так же, как и на Paradox. "Не дошел", говорят! Сотрите исходник ANSI0.3 из прошлого комплекта. GMX там не рабо- тает. Но благодаря Николаю Амосову версия фиксилась и наконец вышла! Но пока вы её не увидите :) Продолжение паяльных приключений! 13 апреля ко мне снова пришёл KSA-7G, и тогда в наших светлых головах созрела мысль: почему бы не соединить два спека в сеть? (см.схему) - cut тут ------------------------------------------------------ Проводок v1.0 СХЕМА (AY-3-8910 / YM2149F) ZX#1 ZX#2 GND ──────────────────────────────────────────────────────── GND AY/6 ───────────────[1 кОм]─────────────────────────────── AY/14 AY/14 ─────────────────────────────[1 кОм]───────────────── AY/6 GND должно быть соединено намертво. При этом надо проверить тес- тером, развязаны ли блоки питания компов с сетью (должны быть развязаны, но вдруг...) Если GND не будет соединено намертво, при нарушении контакта могут появиться очень большие искры - вплоть до шаровых молний ;) Килоомы в данных предохраняют AY на случай, если оба они окажут- ся настроены на вывод по одной и той же линии. ------------------------------------------------------ тут cut - (Это имитация TAPE, которого у меня, к несчастью, нет, с помощью AY'ков. Потом попробую и принтерный порт) Для обмена используются 7-е биты портов A и B AY'ка. По соглаше- нию, которое я заключил сам с собой, порт A (регистр 14) работа- ет на вывод, а порт B (регистр 15) - на ввод. Пассивным состоянием линии будем считать лог.1 ("обрыв") Таким образом, работа будет происходить хитро. Инициализация: в регистр 14 AY записывается #ff, а в регистр 7 - #40 (желательно именно в этом порядке - тогда состояние линии не станет меняться). После игрового цикла комп#1 (MASTER) устанавливает на своём порту A лог.0 и ждёт соответствующего ответа со стороны компа #2 (SLAVE). Когда комп #2 соизволит выставить лог.0, начинается об- мен. Первым передаёт MASTER, потом SLAVE передаёт,а MASTER принимает. Синхронный вариант передачи (первые же эксперименты были без си- нхронизации) основан на том, что принимающий абонент формирует меандр, по каждому фронту которого передающий абонент помещает в линию данных очередной бит. Первый бит возникает при положитель- ном перепаде. Во время приёма последнего бита приёмник даёт ещё один положительный перепад, по которому передатчик переводит свою линию данных в состояние лог.0 и сам становится приёмником. После аналогичного обмена в обратном направлении сессия заканчи- вается. Оба компьютера переводят линию в состояние лог.1. Обработчик прерываний содержит команду RET. Максимум, что ещё можно там себе позволить - это какой-нибудь инкремент. Главное на первом этапе - просто зафиксировать факт,что прерывание было. Будем считать, что такое прерывание вместе с захватом выполняет- ся за 25 тактов. send: receive: ... ... LD B,C LD B,C OUT (C),E ;15 OUT (C),E ;15 DEC E DEC E RLC (HL) IN A,(C) SBC A,A OUT (C),E ;14 INF LD B,D JP P/M,$-2 OUT (C),C/E OUT (C),E ;14 INC E LD B,D RLA OUT (C),A RL (HL) INC E <задержка> ... ... Задержка рассчитывается так. В самом пессимистичном случае передатчик претерпел прерывание, приёмник же прерывание не получил, а фронт, по которому должен был сменить данные передатчик, неудачно оказался принят сразу после команды INF. Тогда время реакции на фронт (до команды OUT (C),A, включая её) составляет 60+25 тактов, считая прерыва- ние. В свою очередь, с момента выставления данного до следующего фронта должно пройти 28 тактов, иначе приёмник примет неверную информацию. Далее, в самом опять-таки худшем случае предположим,что приёмник работает в 2 раза быстрее передатчика, тогда его фронты будут чередоваться как минимум через (60+25)·2+28 = 198 тактов. Отсюда вытекает, что <задержка> должна составлять 198-83 = 116 тактов. Понятно? Сейчас по этому протоколу обменивается Wolf 3D Deathmatch Arena Tournament 2003 :) В приложении должен лежать исходник асинхронного обмена (скоро- сти компьютеров не должны различаться больше чем на 5%) - игра "застрели квадрат". Один компьютер вызывает процедуру MASTER, а другой - SLAVE. Автоопределения пока нет!
Другие статьи номера:
News - схема паралельного интерфейса на AY. |
Мысли - Crank заплатит любому 1000р за переделку STS под Scorpion. |
ACEdit - Список Заслуженных Неиспользователей AC Edit. |
Похожие статьи:
В этот день... 21 ноября