ZX-EVO Не работал Kempston Joystick, проблема оказалась и в железе, и в софте. Сначала из порта 31 читалась какая-то ерунда. Сбросил батарейку, перезалил прошивку ERS взятую с репозитория. (В меню Evo Reset Service: R Service -> F Fast update ROM -> выбрать файл прошивки) Ссылка на файл в репозитории, прямая ссылка на файл. Версия ERS на данное время 0.58 beta.
Приятным бонусом стали отображаться пропавшие ранее часы, а из порта наконец-то читаться значения: 2,1,8,20. Ooops, значит где-то замыкаются контакты огня на вниз. А может что-то ещё. Я принял решение сменить всю проводку от контактов на плате, разъёмов, и до джойстика, используя провода МГТФ и металлические разъёмы "мама" СГ-5 на 6 контактов.
Таблицы:
Чтение порта кемпстон джойстика из программы на BASIC:
10 PRINT AT 0,0; IN 31; " " 20 GO TO 10 Считываемые из порта 31 значения:
Кнопка огня НЕ нажата
|
| Кнопка огня нажата
| ⬉ 10
| 8 ⬆
| 9 ⬈ | ⬉ 26 | 24⬆ | 25 ⬈ | ⬅ 2 | 0 * | 1 ➡ | ⬅ 18 | 16* | 17 ➡ | ⬋ 6 | 4 ⬇ | 5 ⬊ | ⬋ 22 | 20 ⬇ | 21 ⬊ |
Счёт X12 начинается со стороны боковых разъёмов платы:
Полуряд
| Клавиша
| Джойстик
| 2
| 4
| 6
| 8
| 10
| 12
| 14
| 16
| 18
| 20
| 1
| 3
| 5
| 7
| 9
| 11
| 13
| 15
| 17
| 19
|
Распиновка моего разъёма на клавиатуру (17-пиновый разъём джойстика с видеокарты PC) Вид с контактной площадки мамы:
| 10
|
| 12
|
| 14
|
| 2
|
| 3
|
| 5
|
| 7
|
| R
|
| R
|
| 11 |
| 13
|
| 1
|
| 4
|
| 6
|
| 8
|
В процессе у меня поломалась дорожка на прозначном листе платы клавиатуры. Теперь ещё решать эту проблему...
Разобраться в распиновке механической 40/58-клавишной клавиатуры очень легко. Там всего 40 физических клавиш, по пять в восьми рядах. Нажатие определяется замыканием контакта ряда на контакт клавиши в ряду.
Номер полуряда клавиатуры | 4
|
|
| 5
| 3
|
|
| 6
| 2
|
|
| 7
| 1
| CS
| Z
| X
| C
| V
|
| 8
|
| 10
| 11
| 12
| 13
| 14
|
|
Номер клавиши в полуряду |
Таким образом замыкая например полуряд 1 на клавишу 11 в полуряду, мы получаем нажатие " Z".Если одновременно нажато более пяти клавиш, то остальные срабатывают всем полурядом.Чтобы найти контакты клавиатуры, достаточно найти любой полуряд и его клавишу. остальное дело дедукции или перебора всех вариантов.
* * *
После смены проводов, и выяснения распайки джойстика, он заработал. Также добавил разъём для Sinclair-Joystick, который на клавишах 6,7,8,9,0. Запитал его с разъёма клавиатуры.
До кучи, решил сменить разъём и провода RGB выхода на PAL-Coder или RGB телевизор. Выскочила проблема, перетертый провод ТВ-тюнера, надо менять. Так же картинка почему-то черно-белая. Надо попробовать другой провод и решить, куда пропал цвет.
на этом я вчера собрал ZX-EVO обратно в корпус. Сейчас надо поправить разъём сброса - не контачит, и поставленную задачу с подквестами можно считать решённой. Остаётся восстановить клавиатуру и цветное изображение по RGB и заменить кабель от Pal-Coder`а до тв тюнера.
Вид на плату:
|