Типо

ZX evolution software and hardware

Postby SfS » 01 Mar 2011, 06:59

Но во первых часть юзеров сидят на ZX-клаве, и юзать этот функционал в принципе не смогут.


Есть такое. Но сделать выбор драйвера в программе PS/2 или ZX-Keyboard - это можно. Для текстовых редакторов - очень и очень актуально.
В принципе - кому хочется работать с текстом - 200руб за PS/2 клаву отдадут спокойно. А кому не надо, только поиграться - так и доп клавиши не нужны особо.

Во вторых поток какбы не очень синхронизированная вещь, поэтому тут писатели так наговнокодят, что я подумать боюсь


Имеется ввиду работа с портом SCAN-кодов ?

Предлагаю самое простое решение - в контроллере - кольцевой буфер из, скажем, 16 байт.
Туда по кругу записываются коды нажатий (<0x80) и отпущенных (>0x80) клавиш.

Я в курсе, что не все клавиши имеют однобайтовый код, некоторые генерируют несколько байт. Но для удобства и простоты - надо присвоить всем доступным клавишам код от 0 до 126. 127 кодов - более, чем достаточно для PS/2 клавиатуры. То есть функции контроллера - перекодировка скан-кода клавиши в однобайтовый код 0-126 (соответственно - 128-254 при отпускании клавиш) и организация кольцевого буфера.

При считывании порта из программы на Z80 туда просто выплёвывается очередной код клавиши из буфера. Если буфер пуст - выплёвывается 0xFF.
Если буфер переполнен - и шут с ним, лишние коды игнорировать (ну как на PC).

Тогда с точки зрения программы на Z80 очистка буфера - считывать порт клавиатуры, пока не будет считан 0xFF.

Вопрос - хватит ли в AVR ресурсов на эту задумку или там уже всё забито под завязку ?

ЗЫ

Если будет сделана поддержка порта скан-кодов и/или доп. линий, то могу взять на себя написание драйвера клавиатуры под кодировку KOI8-R, например, и выложить исходники для всеобщего обозрения и уюзания. Какой-никакой, а вклад :)
ZX-Phoenix.
Pentevo ZX-Evoluton Rev. B (зелёная)
SfS
 
Posts: 202
Joined: 24 Jun 2010, 08:07
Group: Registered users

Postby lvd » 01 Mar 2011, 07:59

CHRV wrote:Во вторых поток какбы не очень синхронизированная вещь, поэтому тут писатели так наговнокодят, что я подумать боюсь :)

Ну если у тебя буфер на 20мс будет байт 128, думаю он редко когда переполняться будет. Потребовать выгребание раз в прерывание. А далее пусть говнокодят как хотят :)
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1682
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby lvd » 01 Mar 2011, 08:05

SfS wrote:Но для удобства и простоты - надо присвоить всем доступным клавишам код от 0 до 126.

Нет - для простоты и удобства тупо отдавать сканкоды пцклавы. А вы, программеры, уж далее сами мучайтесь с ними :)
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1682
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby SfS » 01 Mar 2011, 13:39

Нет - для простоты и удобства тупо отдавать сканкоды пцклавы. А вы, программеры, уж далее сами мучайтесь с ними :)


Я имел ввиду простоту и удобство программирования Z80. многобайтовых кодов немного и переделать их в однобайтовые несложно.
ZX-Phoenix.
Pentevo ZX-Evoluton Rev. B (зелёная)
SfS
 
Posts: 202
Joined: 24 Jun 2010, 08:07
Group: Registered users

Postby lvd » 01 Mar 2011, 13:57

SfS wrote: многобайтовых кодов немного и переделать их в однобайтовые несложно.

Многобайтовые все коды, которые на отпускание. Половина кодов шифтов и проч с префиксом Е0, все хомы и пагеупы тоже с Е0 через раз.
Чтоб "переделать", надо завести ещё один парсер кодов (один парсер парсит в зх-коды), придумать новые коды и проч. А так - тупо вкинул что пришло и нехай з80 разбирается.
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1682
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby SfS » 02 Mar 2011, 11:17

Многобайтовые все коды, которые на отпускание. Половина кодов шифтов и проч с префиксом Е0, все хомы и пагеупы тоже с Е0 через раз.


Ну да. Только вот контроллер клавиатуры в PC делает одну простую вещь. Если перед кодом стоит E0, он перекодирует его в код c установленным 7м битом, если не стоит - то тот же код со сброшенным 7м битом. Я писал опрос клавиатуры для AT91SAM7S. Так что представляю как оно работает.

Заниматься Z80 скан-кодами - ИМХО глупо. Чем меньше напрягать его вспомогательными действиями, тем лучше.
В принципе - решающее слово за ЧРВ. Захочет он реализовать моё предложение - хорошо. Нет - так нет.

Роман, ваше веское слово ?)
ZX-Phoenix.
Pentevo ZX-Evoluton Rev. B (зелёная)
SfS
 
Posts: 202
Joined: 24 Jun 2010, 08:07
Group: Registered users

Postby lvd » 02 Mar 2011, 11:23

SfS wrote:Только вот контроллер клавиатуры в PC делает одну простую вещь. Если перед кодом стоит E0, он перекодирует его в код c установленным 7м битом, если не стоит - то тот же код со сброшенным 7м битом.

Замечательно. Только вот какое дело мне до контроллера клавиатуры аж в пэцэ?
SfS wrote: Я писал опрос клавиатуры для AT91SAM7S. Так что представляю как оно работает.

Я тоже писап. И не раз. И в пентеве тоже я писал. И тоже представляю :)

SfS wrote:Заниматься Z80 скан-кодами - ИМХО глупо.

Ага, и опросом битовой матрицы ему заниматься тоже глупо. Вообще чем-либо заниматься - глупо. Продолжать? :)
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1682
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby SfS » 02 Mar 2011, 11:29

Замечательно. Только вот какое дело мне до контроллера клавиатуры аж в пэцэ?


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

Я тоже писап. И не раз. И в пентеве тоже я писал. И тоже представляю


И в мыслях не было упрекнуть в чём-то :)

Ага, и опросом битовой матрицы ему заниматься тоже глупо. Вообще чем-либо заниматься - глупо. Продолжать? :)


Неа. Это надо для совместимости. И оно УЖЕ ЕСТЬ.

Один оффтоповый вопрос - я тут читал в соседней теме, что будут поддержаны экраны АТМ и вообще - будет АТМ-совместимость. Так вот - это уже есть или ещё будет ?
ZX-Phoenix.
Pentevo ZX-Evoluton Rev. B (зелёная)
SfS
 
Posts: 202
Joined: 24 Jun 2010, 08:07
Group: Registered users

Postby lvd » 02 Mar 2011, 13:43

SfS wrote: Так вот - это уже есть или ещё будет ?

А вы пентеву имеете?
Многого нет здесь: http://lvd.nedopc.com
Image
User avatar
lvd
 
Posts: 1682
Joined: 07 Apr 2007, 22:28
Group: Registered users

Postby SfS » 02 Mar 2011, 14:52

lvd wrote:А вы пентеву имеете?


Да, конечно. Потому и спрашиваю.
ZX-Phoenix.
Pentevo ZX-Evoluton Rev. B (зелёная)
SfS
 
Posts: 202
Joined: 24 Jun 2010, 08:07
Group: Registered users

PreviousNext

Return to Пентева - софт и железо

Who is online

Users browsing this forum: No registered users and 4 guests

cron