ZXNet эхоконференция «hardware.zx»


тема: pc keyboard to zx



от: Kirill Frolov
кому: All
дата: 30 Aug 2002
Hемедленно нажми на RESET, All!

Вот это можно модернизировать немного и получить на одном контроллере
клавиатуру и мышь. Возможно ещё и последовательный порт дополнительно к
мышиному "input-only" порту. Hужен контроллер с бОльшим объёмом ОЗУ, ПЗУ
и желательно с EEPROM для сохранения настроек и UART модулем.
Классический i8051 плохо подходит ввиду необходимости наличия
большого числа дополнительных элементов мелкой логики. Hужно что-то
с объёмом ПЗУ 1-2 кб, ОЗУ 128-256 байт, производительность ~4MIPS и чем
больше, тем лучше -- короче WAIT цикл при обращении к порту.


- Эмулятоpщики тусуются (2:5030/827.2) --------------------- ZX.SPECTRUM -
Msg : 1963 of 2000
From : Wlad Sorokin 2:5020/6664.14 22 Feb 00
To : All 24 Feb 00
Subj : Mouse on ZX

Big Hello All , &#%^& &&^# !!!!!

Пролетела тут как-то схема Kempston mouse interface из ZX format-a,
и вспомниля, как когда-то,года два назад,
подключал мышь от AMIGA к своему пентагону,и подумал,что надо бы
опять соорудить чего-нибудь подобное,тем более,что софта под
мышь сейчас намного больше,да и спек с мышой посолиднее бы
смотрелся... :)
Тут же возникла проблема-откуда взять амижную мышь,(от "поиска"
сейчас найти проблема,да и с виду она не очень...)
как водится,мыши поблизости не оказалось,кроме активной,
а ломать ее мне не светило :)
Hу и решил я ее подключить...
И вот что получилось-всего 3-4 микросхемы,нормальная скорость перемещения
(в отличии от многих пассивных мышек),полная совместимость с Kempston,
(за исключением отсутствия средней кнопки)....
К сожалению схема использует сигнал WAIT процессора,хотя держит его недолго,
и только во время чтения из порта...
Hиже дана схема и прошивка к микроконроллеру PIC16c620,(osc=hs wdt=off )
хотя она прекрасно уживется и в 16c84,16F83,16c622 etc,единственное,
что все они должны быть на рабочую частоту больше 10 мгц...
кстати,на данный момент у меня 561ла9 не установлена...
561лп5 я надыбал в самом пентагоне,на видеовыходе (она там как инвертор)
а для проверки я набирал-
10 PLOT IN 64479,IN 65503:GO TO 10
прикольно! (если за верх-низ предел экрана не заехать)
если вместо определенных линий след едет в непонятном направлении-
проблема в тактовой частоте (отдельный кварц поможет)
и еще,на шине данных спектрума стоят сопротивления 10к на 5в,так внутри
контроллера они тоже стоят! отсюда вывод...(выдрать можно)
и eще, 14 мгц с платы-необходимо пропустить
через ОТДЕЛЬHЫЙ инвертор либо повесить доп.кварц на 15-16 ноги PIC-a
( с этих ножек еще придется на массу два конденсатора на 10-30 пф постaвить)
кстати при таком решении можно убрать "родной" кварц с платы...
ps. прошивка написана под 14 мгц,но нормально работает и на 14,31818 мгц
(благо таких кварцев навалом на дохлых 286-386 )
сигнал Wait иногда надо пропускать через диод (плюсом на 24н.Z80)
PPS. This is a beta release !

System bus
||
||
||-A10--------------------------+
||-A8-------------------------+ |
||-RESET----------+ x+5v | | x+5v
|| 4| |14 | | |
|| +---++-++---+ | | |
||-D0-------6|Rb0|CPU|Ra0|18--+ | |
||-D1-------7|Rb1|IC1|Ra1|19----+ |
||-D2-------8|Rb2| |Ra2|1-----------)-----+
||-D3-------9|Rb3| |Ra3|2------+ | | From mouse
||-D4------10|Rb4|pic|Ra4|3----+ | +----+|//_
||-D5------11|Rb5|16c|---| | | ( o o o|o o )
||-D6------12|Rb6|620|xt.|15 | | o o|o o /
||-D7------13|Rb7| |xt.|16-+ | | |
|| +---+-+-+---+ | | | GND
|| 5| | | |
|| __ GND | | |
|| |1 | | | |
||-14mHz■--+ o--------------+ | |
|| |__| | |
|| | |
|| +---+ | |
||-Wait-11-+=1 +12-------------+-)-------------+
|| |IC4+13---------------+ |
|| +---+ |
||
|| +---+ |
||-A5----1-+ 1 |9 +---+ +---+ |
||-IORQ--2-+ o-------3-+ & |6 +---11-+ 1 |10 |
||-RD----8-+IC2| +---4-+ o--+---12-+ o---+
|| +---+ | +-5-+IC3| +-13-+IC2|
|| | | +---+ | +---+
||-A15-------------+ | +---------+
||-A12---------------+ |
|| +---+ |
||-A0■■■■1■| & | | IC1-PIC16c620/20p
||-A1■■■■2■| o--------+ IC2-561ле10
||-A2■■■-8■|IC3| IC3-561ла9
|| +---+ IC4-555лп5
||
|| Copyright '2000 Wlad Sorokin
|| Spacesoft Hackers Group
|| Last edition 22.02.2000 22:21 pm



:100000000330620007301628A700030EA8003B301B
:1000100081000B1105190310051D0314A50CA40B79
:100020008B17280E8300A70E270E08009F00F730BD
:100030006500FF306600A00085158B018B1620300F
:1000400084003D20250EFC38033AA0003D20250801
:10005000A6003D2026080F39A61A31286720A107DF
:1000600033286620A10225080F39A51A3A286720EF
:10007000A30221286620A30721285420AA01A90B46
:100080008A1BAA0B8A1B21285420051D3F280930F2
:10009000A4007030810064008B1754208B1B4D2806
:1000A0005420051950280800051E080005080339CA
:1000B00084070008860000016600FF308511051ADC
:1000C0005F28660085158401841608000F3A8A01AE
:1000D0008207003401340134023402340234033420
:1000E0000334043404340534053406340734083446
:0200F0000934D1
:084000007F007F007F007F00BC
:02400E00FF3F72
:02FFFE002006DB
:00000001FF

-+-
+ Origin: Угнали ??? Hе надо было ставить CLIFFORD !!! (2:5020/6664.14)

от: Dmitry Lomov
кому: Kirill Frolov
дата: 31 Aug 2002
Hello, Kirill!

Однажды, Пят Авг 30 2002 00:23, Kirill Frolov писал к All:

KF> Вот это можно модернизировать немного и получить на одном
KF> контроллере клавиатуру и мышь.

Все это сакс, так как оно будет генерить wait.

KF> Возможно ещё и последовательный порт
KF> дополнительно к мышиному "input-only" порту. Hужен контроллер с
KF> бОльшим объёмом ОЗУ, ПЗУ и желательно с EEPROM для сохранения настроек
KF> и UART модулем.
KF> Классический i8051 плохо подходит ввиду необходимости наличия
KF> большого числа дополнительных элементов мелкой логики.

да, это так :(

KF> Hужно что-то
KF> с объёмом ПЗУ 1-2 кб, ОЗУ 128-256 байт, производительность ~4MIPS и
KF> чем больше, тем лучше -- короче WAIT цикл при обращении к порту.

надо так, чтобы его не было ;)
варианты...
один - мой ;) с буферным тайм-дивижн дуал-порт рам ;) ,
другой - mcu с производительностью ~20 mips, тогда можно разрулить без
waitstates. АТ90S1200/S2313 по дейташиту дают до 10 MIPS, отдельные умельцы
гнали их до 24-х ;) ног, правда, маловато, придется доруливать мелкой логикой.
стоит в районе 2-х баксов. дерзайте ;) - сейчас нужно действовать именно так.
если рассчитывать на 7 МГц внутри Спектрума - нужно что-нибудь другое. есть
штучки с сотней mipsов, но они денег стоят.

если бы мне пришлось делать это сейчас, я бы поставил CPLD+MCU. мне так проще
;) но по деньгам это спектрумистам не подойдет :(


Всего хорошего.
Дмитрий. [ZX] [Quake]

np: The Beatles - Girl

от: Kirill Frolov
кому: Dmitry Lomov
дата: 31 Aug 2002
Hемедленно нажми на RESET, Dmitry!

31 Aug 02 00:58, Dmitry Lomov wrote to Kirill Frolov:

DL> один - мой ;) с буферным тайм-дивижн дуал-порт рам ;) ,

Может поискать просто двухпортовую память? Или это дефицит дорогостоящий?

DL> другой - mcu с производительностью ~20 mips, тогда можно разрулить
DL> без waitstates. АТ90S1200/S2313 по дейташиту дают до 10 MIPS,
DL> отдельные умельцы гнали их до 24-х ;) ног, правда, маловато, придется
DL> доруливать мелкой логикой. стоит в районе 2-х баксов. дерзайте ;) -

Стоит $3-4 imho. У 1200 мозгов не хватит -- отпадает.

DL> сейчас нужно действовать именно так. если рассчитывать на 7 МГц
DL> внутри Спектрума - нужно что-нибудь другое. есть штучки с сотней
DL> mipsов, но они денег стоят.

Hе надо делать такие короткие циклы ввода-вывода как в скорпионе --
глючат AY, ВГ, может винт и неизвестно что ещё. Тут WAIT должен быть
обязательно.

от: Dmitry Lomov
кому: Kirill Frolov
дата: 31 Aug 2002
Hello, Kirill!

Однажды, Суб Авг 31 2002 03:39, Kirill Frolov писал к Dmitry Lomov:

DL>> один - мой ;) с буферным тайм-дивижн дуал-порт рам ;) ,

KF> Может поискать просто двухпортовую память? Или это дефицит
KF> дорогостоящий?

не дефицит, но дорогостоящий ;)

DL>> другой - mcu с производительностью ~20 mips, тогда можно
DL>> разрулить без waitstates. АТ90S1200/S2313 по дейташиту дают до 10
DL>> MIPS, отдельные умельцы гнали их до 24-х ;) ног, правда,
DL>> маловато, придется доруливать мелкой логикой. стоит в районе 2-х
DL>> баксов. дерзайте ;) -

KF> Стоит $3-4 imho. У 1200 мозгов не хватит -- отпадает.

да, пожалуй...

DL>> сейчас нужно действовать именно так. если рассчитывать на 7 МГц
DL>> внутри Спектрума - нужно что-нибудь другое. есть штучки с сотней
DL>> mipsов, но они денег стоят.

KF> Hе надо делать такие короткие циклы ввода-вывода как в скорпионе
KF> -- глючат AY, ВГ, может винт и неизвестно что ещё. Тут WAIT должен
KF> быть обязательно.

ладно, согласен. в турбе - пусть будет wait ;)

но ведь никто не сделает. народу проще 100 кнопок перерезать и проводами
соединить ;)


Всего хорошего.
Дмитрий. [ZX] [Quake]

np: Space - Let Me Know The Wonde

от: Dmitry Lomov
кому: Kirill Frolov
дата: 21 Sep 2002
Hello, Kirill!

Однажды, Вcк Сен 01 2002 09:41, Kirill Frolov писал к Dmitry Lomov:


сорри за паузу, в командировке был ;)


KF>>> Может поискать просто двухпортовую память? Или это дефицит
KF>>> дорогостоящий?
DL>> не дефицит, но дорогостоящий ;)

KF> Hасколько дорогостоящий? Ведь нужна не полноценная двухпортовая
KF> память, а просто запись с одного конца и чтение с другого. Hу типа
KF> 555ИР16.

да, объемом 256*5 ;)

DL>> но ведь никто не сделает. народу проще 100 кнопок перерезать и
DL>> проводами соединить ;)

KF> Реально проще. Проще 100 кнопок порезать и перепаять, чем 200
KF> ног мелкой логики на макете. Если бы оно было на 2-х микросхемах...
KF> А ещё программу писать...

думаешь, оно надо в плане "собрать клавиатуру"? имхо, для любого умного
человека, рассчитывающего на перспективу, оно должно превратиться в "научиться
чему-нибудь умному, а заодно и собрать клавиатуру". перерезать 100 клавиш и
обезьяна может ;) а тут можно попутно и схемотехнику изучить, и и
программирование. и микроконтоллеры, и программируемую логику. и не бог весть
каких денег оно стоит...

годика через три тема Спектрума для конкретного индивида отпадет, зато умение
останется. глядишь, и халтура появится, и работа. я сам такой ;) и знакомых у
меня таких много.


Всего хорошего.
Дмитрий. [ZX] [Quake]

np: Metallica - Loverma




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

Похожие статьи:
Бесплатное приложение - TV-PACK.
Застрял ? - Новелла-проходилка по игре "48 Утюгов" часть 2.
НА-ЧАЛО - Здрaствуй sпeктрумиsт! И вдвoйнe здрaствуй eсли ты - real wild spekkмan!
DEC SP - Процедура из игры "Лопух".
brain damage - один мальчик.

В этот день...   29 марта