nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 11:44



Reply to topic  [ 58 posts ]  Go to page Previous  1, 2, 3, 4  Next
Модульный Z80 компьютер RC2014 
Author Message
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
Существует аналогичная плата для RC2014 - VGA-выход и USB-клава на пропеллере "VGA Serial Terminal Kit for RC2014":

https://www.tindie.com/products/maccasoft/vga-serial-terminal-kit-for-rc2014/

Набор стоит $46.50 и работает совместно с платой последовательного интерфейса

В моём случае это будет NTSC/PAL+PS/2 Serial Terminal Kit for RC2014 который работает ВМЕСТО платы последовательного интерфейса и надо как-то уложиться хотя бы в $50...

Автор RC2014 мне предлагает его микроклавиатурку заюзать для начала ;)
https://www.tindie.com/products/Semachthemonkey/universal-micro-keyboard/
Наверное так и надо сделать ибо клавка по ходу спектрумовская (матрица 5x8) :dj:
Для работы с такой клавкой взять скажем PIC16F871, у которого есть:
- порт A (6 бит)
- порт B (8 бит)
- порт C (8 бит)
- порт D (8 бит)
- порт E (3 бита)
т.е. всего 33 сигнала!

Я планирую задействовать режим PSP для работы с шиной Z80 (чтение и запись в порт #80) - в этом случае порт D подключается к шине данных, а порт E превращается в сигналы управления /RD,/WR и /CS. На вычитку клавки уйдёт 13 сигналов если делать в лоб, либо 8 если адресовать ряды по одному (тогда нужна будет ещё одна микросхема дешифратора переводящая 3 бита адреса в 8 битов выбора ряда для клавки). В итоге остаётся 14 бит, из которых 8 (например порт B) уйдут на выдачу прочитанного символа на буфер (когда Z80 будет читать из порта #81) и из оставшихся 6 битов порта A:

RA0 адрес для чтения клавки KA0
RA1 адрес для чтения клавки KA1
RA2 адрес для чтения клавки KA2
RA3 вход нулевого бита адреса с триггера (и заодно тут заводим бит занятости OFLAG из SX-28 - переключаемся между ними с помощью RA0)
RA4 который ОК пойдёт на прерывание /INT процыка (будет дёргаться если прерывания разрешены и если есть байт с клавки)
RA5 светодиод для индикации Caps Lock

5 битов данных с клавки пойдут на порт C, оставляя ещё 3 бита для других целей:

RC0 вход данных с клавки (бит 0)
RC1 вход данных с клавки (бит 1)
RC2 вход данных с клавки (бит 2)
RC3 вход данных с клавки (бит 3)
RC4 вход данных с клавки (бит 4)
RC5 сигнал IFLAG на SX28 (т.к. похоже пик должен будет общаться с недотекстом, а не хост)
RC6 это TX (можно задействовать на будущее)
RC7 это RX (можно задействовать на будущее)

Тактировать пик можно 10 МГц с делителя частоты из недотекста (там 60 МГц должно было делиться на 6) либо кварц 20 МГц взять, чтобы в полную мощь его разогнать :rotate:

P.S. Интересный момент заключается ещё и в том, что пик в данном случае можно будет не по назначению использовать - скажем заслав в порт управления специальный байт (который не является правильной комбинацией битов для имитируемой микросхемы 68B50, например Master Reset с параметрами) пик можно временно заставить перестать работать в качестве контроллера клавиатуры и в этом режиме он сможет выполнять какие-то другие функции - например принимать и выдавать данные из EEPROM (64 байта) либо из флеша выдавать какие-то программки для Z80, либо выполнять какие-то математические расчёты и т.д. Кроме того эти пики умеют сами себя программно перепрошивать - в таком случае можно будет перепрошивать пик прямо с Z80 - вобщем много интересного можно будет понаделать :)

_________________
:dj: https://mastodon.social/@Shaos


25 Feb 2019 20:22
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
P.S. Интересный момент заключается ещё и в том, что пик в данном случае можно будет не по назначению использовать - скажем заслав в порт управления специальный байт (который не является правильной комбинацией битов для имитируемой микросхемы 68B50, например Master Reset с параметрами) пик можно временно заставить перестать работать в качестве контроллера клавиатуры и в этом режиме он сможет выполнять какие-то другие функции - например принимать и выдавать данные из EEPROM (64 байта) либо из флеша выдавать какие-то программки для Z80, либо выполнять какие-то математические расчёты и т.д. Кроме того эти пики умеют сами себя программно перепрошивать - в таком случае можно будет перепрошивать пик прямо с Z80 - вобщем много интересного можно будет понаделать :)

Master Reset, это когда в порт управления #80 засылается 00000011 (т.е. 2 младших бита единички) - для наших целей мы можем задействовать остальные биты. Пик имеет доступ только к записи-чтению порта #80 и может выдавать что-то в порт #81 (т.е. Z80 сможет прочитать один байт), а принять что-то из порта #81 он не может т.к. запись пойдёт в SX-28 (работающий в режиме видеоконтроллера). Отсюда выходит, что скажем задать адрес для EEPROM становится нетривиальной задачей - мы должны будем часть из этих 6 битов использовать как данные, например:
Code:
0000 0011 - это режим клавиатуры (обычный Master Reset)
xxxx x011 - вызов другого приложения (xxxxx не равно 00000)
xxxx 1011 - так можно задавать младшие 4 бита адреса EEPROM для дальнейшей работы
xxxx 1111 - так можно задавать старшие 4 бита адреса EEPROM (при этом младшие биты адреса обнуляются) - так мы можем покрыть несколько больше, чем 64 бита

чтение и запись в порт #81 после установки адреса будет выдавать/записывать байт по текущему адресу, смещая адрес на 1 после выдачи
чтение из портов #80 и #81 после вызова функции будет зависеть от функции

P.S. адреса можно распределить так:
Code:
#00...#3F - EEPROM (64 адреса, чтение и запись)
#40...#7F - зарезервировано
#80...#9F - вызов библиотечных функций (32 адреса)
#A0...#BF - переменные из второй страницы данных (32 адреса, чтение и запись)
#C0...#FF - данные из специально отведённого блока кода (64 адреса, которые содержат команды RETLW)

последний диапазон адресов может содержать зашитые в ПЗУ кода данные - например уникальный идентификатор чипа, название программы и имя автора, версия прошивки и т.д.

P.P.S. про пик-сопроцессор далее будет тут: nedoPC Sidekick на PIC16F871

_________________
:dj: https://mastodon.social/@Shaos


25 Feb 2019 21:13
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Мой nedoText/SX + nedoPC Sidekick in keyboard mode for RC2014 на 17 корпусов получился (это если TTL-осциллятор тоже микросхемой считать) и в шаблон стандартной платки RC2014 он как бы уже не влезает - попытаюсь уложиться в 10x10 см


Attachments:
nedoTextRC2014-sch1.jpg
nedoTextRC2014-sch1.jpg [ 141.54 KiB | Viewed 12314 times ]
nedoTextRC2014-sch2.jpg
nedoTextRC2014-sch2.jpg [ 125.74 KiB | Viewed 12314 times ]

_________________
:dj: https://mastodon.social/@Shaos
03 Mar 2019 00:01
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Shaos wrote:
Мой nedoText/SX + nedoPC Sidekick in keyboard mode for RC2014 на 17 корпусов получился (это если TTL-осциллятор тоже микросхемой считать) и в шаблон стандартной платки RC2014 он как бы уже не влезает - попытаюсь уложиться в 10x10 см

Вроде уложился :mrgreen:


Attachments:
nedoTextRC2014-brd.jpg
nedoTextRC2014-brd.jpg [ 223.3 KiB | Viewed 12395 times ]

_________________
:dj: https://mastodon.social/@Shaos
03 Mar 2019 04:08
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Земля и питание разведены:


Attachments:
nedoTextRC2014-brd.jpg
nedoTextRC2014-brd.jpg [ 240.59 KiB | Viewed 12371 times ]

_________________
:dj: https://mastodon.social/@Shaos
03 Mar 2019 16:46
Profile WWW
Devil

Joined: 06 Oct 2006 03:17
Posts: 856
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Shaos wrote:
Земля и питание разведены:

Уложишься в два слоя или будет многослойная печатная плата?


03 Mar 2019 23:17
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
fifan wrote:
Shaos wrote:
Земля и питание разведены:

Уложишься в два слоя или будет многослойная печатная плата?

Уже ушел в 4 :(


Attachments:
nedoTextRC2014-brd.jpg
nedoTextRC2014-brd.jpg [ 230.06 KiB | Viewed 12350 times ]

_________________
:dj: https://mastodon.social/@Shaos
04 Mar 2019 02:38
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Вроде все развелось :rotate:


Attachments:
nedoTextRC2014-brd.jpg
nedoTextRC2014-brd.jpg [ 269.32 KiB | Viewed 12314 times ]

_________________
:dj: https://mastodon.social/@Shaos
04 Mar 2019 22:52
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
OSHpark вот такие картинки генерит и берётся изготовить 3 экземпляра за полторы сотни:
Quote:
We detected a 4 layer board of 3.93 x 3.94 inches (99.8 x 100.0mm)
3 boards will cost $154.80


Attachments:
nedoTextRC2014-oshpark.jpg
nedoTextRC2014-oshpark.jpg [ 233.49 KiB | Viewed 12308 times ]

_________________
:dj: https://mastodon.social/@Shaos
04 Mar 2019 23:54
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
В рассылке RC2014 некий Mark T предложил мне следующие вещи по улучшению платы:
Mark T wrote:
Hi Shaos,

Four layer has a much greater impact on cost than double sided.

You might make the layout a bit easier by reducing the glue logic.

Example the address decoding could use a '138. No need to qualify M1 as both /WR and /RD are qualified. Links select address 0b10XXXXXX or 0b01XXXXXX.

Having all the gates of the multiplexers close together in the same package makes the routing a lot easier. In the diagram I've selected the gates so a single 74HCT00 is used for each multiplexer. Also selected the gates and pins used to reduce routing issues.

You might be able to drive the LED direct from the PIC output to avoid adding the inverter, or use a spare gate from IC7 which would have three unused gates.

Also position the ICs that have bussed connection between them next to each other, not spread across the board. IC4 and IC6 next to each other as they are one to one pin mapping.

Then IC10 next to them, but change the pin mapping of the 6116 to line up the connections of the MAx and RCx connections to IC4 and IC6. It doesn't matter what order you connect address and data to the RAM chip.

Similar with IC4 and IC6 so long as the inputs map to the correct outputs.

Next put IC11 at whichever end of IC4, IC6, IC10 that suits the rest of the circuit. And the same with IC8.

Put IC17 next to the RC2014 bus header. D0 to A1, D1 to A2, .... D7 to A7, ground DIR on IC17, PB0 to B1, PB1 to B2, .... PB7 to B7. Then you have straignt connections from IC17 to the bus header.

Then IC15 goes next to IC17, straight connections for PB0 to PB7. I prefer to have all ICs pointing in the same direction to help avoid assembly issues, but just make sure the directions are clearly labelled on the silk screen and you should be OK.

Attachment:
Mark.png
Mark.png [ 39.67 KiB | Viewed 12270 times ]


_________________
:dj: https://mastodon.social/@Shaos


06 Mar 2019 01:10
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote

https://www.youtube.com/watch?v=lamL392NJRM

_________________
:dj: https://mastodon.social/@Shaos


26 Apr 2019 02:31
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
В в рассылке RC2014 проскочила информация, что этот компьютер кроме Микрософт-Бейсика и CP/M-80 умеет ещё вот чего:
Quote:
  • Running ZX-spectrum software (thanks to Rob Dobson)
  • MSX basic or TRS-80 system software (thanks to J.B. Langston)

Я как-то про ZX пропустил - надо чтоли погуглить...

P.S. Погуглил - вот оно, правдо чото мутно там:
https://robdobson.com/2018/09/raid-the-bus-and-the-speccy-lives/

_________________
:dj: https://mastodon.social/@Shaos


26 Apr 2019 20:50
Profile WWW
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
Чем мне нравятся буржуйские поделки, так за красочную документацию с картинками :mrgreen:

Shaos wrote:
В в рассылке RC2014 проскочила информация, что этот компьютер кроме Микрософт-Бейсика и CP/M-80 умеет ещё вот чего:
Quote:
  • Running ZX-spectrum software (thanks to Rob Dobson)
  • MSX basic or TRS-80 system software (thanks to J.B. Langston)

Бейсик MSX запустить таки VDP нид, и еще "чего". Хотя это "чего", можно и не ставить.

О вайтах забыл для обмена с VDP.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


27 Apr 2019 01:06
Profile
Doomed

Joined: 01 Oct 2007 10:30
Posts: 665
Location: Ukraine
Reply with quote
Как бы реклама дорогих приборов, дети тут причем? Хотя нужно отдать должное, поглотитель дыма в деле. А так-то, отдает сильно коммерцией. Уже давно заметил грешок за этим каналом. Справедливости ради на этом канале попадаются толковые образовательные и обзорные ролики.

Что сказать смотреть телик, а теперь и ютуб надо избирательно.

_________________
Эмулятор OrionEXT:
http://www.orion-ext.narod.ru


Last edited by Alekcandr on 28 Apr 2019 03:04, edited 1 time in total.



27 Apr 2019 05:27
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
:o

_________________
iLavr


27 Apr 2019 17:24
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 58 posts ]  Go to page Previous  1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.