nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Mar 2024 04:14



Reply to topic  [ 103 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  Next
Недокомпьютер nedoPC-85-MK 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
nedoPC-85-MK это лицо nedoMK85 размером 35.6 x 15.2 см (14 x 6 дюймов), которое можно будет также использовать, как самостоятельный компьютер на микропроцессоре 8085А, т.к. у него будет полный доступ как к клаве, так и к дисплею:

Attachment:
mk85scr2018.gif
mk85scr2018.gif [ 31.24 KiB | Viewed 15209 times ]

Shaos wrote:
Shaos wrote:
Выходит клаву тоже придётся имитировать вторым процом?

Судя по дизассемблированным исходникам ПЗУ в порт сканирования клавиатуры #102 могут подаваться следующие значения:

#2 (0010) - сканирование первого набора кнопок
#4 (0100) - сканирование второго набора кнопок
#8 (1000) - сканирование третьего набора кнопок
#E (1110) - сканирование всех кнопок (чтобы быстро определить нажато что-то или нет)

Скажем мы будем иметь 4 регистра, куда 8085 будет отображать нажатое на обычной клаве (по 2 бита на кнопку) и мы можем битами 1 и 2 из #102 выбирать какой из этих регистров будет подключаться ко входам чтения с клавиатуры (адрес #100) - каждый регистр будет подключаться к следующим сигналам с входного порта KB (#100):

бит 0 -> KB2 ( на схеме цепь 3 )
бит 1 -> KB3 ( на схеме цепь 4 )
бит 2 -> KB4 ( на схеме цепь 5 )
бит 3 -> KB5 ( на схеме цепь 6 )
бит 4 -> KB6 ( на схеме цепь 7 )
бит 5 -> KB7 ( на схеме цепь 8 )
бит 6 -> KB8 ( на схеме цепь 9 )
бит 7 -> KB9,KB10 (на схеме цепи 10 и 11, соединённые вместе - к ним подключена кнопка STOP)

Подключение клавы к 8085 наряду с дисплеем делает возможным для начала запустить это хозяйство и отладиться только на 8085, без подключения 1801ВМ2...

Итого для формирования изображения на индикаторе нам потребуется 12 регистров-защёлок 74LS574, в каждом из которых 5 младших битов идут на столбики пикселов светодиодного индикатора в соответствующем знакоместе (которых 12), оставляя по 3 старших бита на нужды клавиатуры - всего остаётся 36 битов. Клавиатурные линии сигнализации чего нажато могут пойти так:

первый регистр - KB2,KB3,KB4 при сканировании первого ряда кнопок
второй регистр - KB5,KB6,KB7 при сканировании первого ряда кнопок
третий регистр - KB8,KB9/KB10 при сканировании первого ряда кнопок и ещё один выходной бит O1
четвёртый регистр - KB2,KB3,KB4 при сканировании второго ряда кнопок
пятый регистр - KB5,KB6,KB7 при сканировании второго ряда кнопок
шестой регистр - KB8,KB9/KB10 при сканировании второго ряда кнопок и ещё один выходной бит O2
седьмой регистр - KB2,KB3,KB4 при сканировании третьего ряда кнопок
восьмой регистр - KB5,KB6,KB7 при сканировании третьего ряда кнопок
девятый регистр - KB8,KB9/KB10 при сканировании третьего ряда кнопок и ещё один выходной бит O3
десятый регистр - KB2,KB3,KB4 при сканировании всех кнопок
одинадцатый регистр - KB5,KB6,KB7 при сканировании всех кнопок
двенадцатый регистр - KB8,KB9/KB10 при сканировании всех кнопок и ещё один выходной бит KB, который скажем можно задействовать для сигнализации того, что хотя бы что-то нажато, чтобы разбудить ВМ2, который спит между нажатиями на кнопки в режиме WRT

13й регистр 74LS574 может идти на сканирование горизонтальных рядов пикселов по вертикали, используя все 8 сигналов

14й регистр 74LS574 может идти на сканирование кнопок клавиатуры, организованных в матрицу 8x8 (либо сделать как в ZX-спектруме, когда сканирование идёт битами адресной шины при вычитке байта состояния клавиатуры?) - соответственно нам нужен ещё один вход через буфер, чтобы читать клавиатуру обратно...

ещё нам нужно как минимум 2 входных регистра, в которых будет защёлкиваться адрес и байт, который ВМ2 записал, переслав что-то в диапазон #80...#FF для отображения на экране, что будет вызывать прерывание 8085 (тут желательно предусмотреть регистры со сбросом, чтобы 8085 сбрасывал их сосотяние после вычитывания)

P.S. KB9/KB10 похоже просто на HALT уходят - ничего не надо мудрить...
(кнопка STOP подключает KB9/KB10 только к общему контакту первого набора кнопок - соответственно подводить этот сигнал имеет смысл только для первого и для последнего случая, что высвобождает ещё 2 выхода - O3 и O4)

В качестве основы взята схема nedoPC-85-A с добавлением на "лицо" 12 светодиодных матриц 5x7, 5 семисегментных светодиодных индикаторов (на самом деле 6, чтобы минусик слева показать при необходимости), несколько светодиодов для отображения режимов и самое главное - околокомпьютерная клавиатура из кнопочек Cherry MX (в которые можно навтыкать светодиодов для весёленькой подсветки):

Attachment:
nedopc85mk-180126.jpg
nedopc85mk-180126.jpg [ 139.08 KiB | Viewed 14979 times ]


P.S. У меня даже было желание назвать этот недокомпьютер Chereshnya-I (а двухплатный клон МК85 соответственно стал бы Chereshnya-II - с лёгким намёком на PDP-11), однако потом подумалось, что компания Cherry на меня обидится за беспардонное использование ихней торговой марки, так что пусть будет nedoPC-85-MK ( Микро Компьютер : )

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


26 Jan 2018 20:24
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Вобщем распределение адресов такое (жирным выделяю то, что досталось по наследству от nedoPC-85-A):

#0000...#1FFF - ROM8K (основное ПЗУ)
#2000...#3FFF - RAM8K (основное ОЗУ)
#4000...#5FFF - RAM8K' (необязательная вторая микросхема ОЗУ)
#6000...#7FFF - external memory (должно возвращать #FF при чтении если ничего не подключено)
#8000...#9FFF - keyboard (область памяти для опроса клавиатуры)
#A000...#BFFF - NI15 (внешняя шина расширения)
#C000...#DFFF - RAM8K (копия области памяти с адреса #2000)
#E000...#FFFF - ROM8K (копия области памяти с адреса #0000)

Кроме того в nedoPC-85-MK существуют ПОРТЫ :o

#00 - REG0 (регистр подсветки строк)
#01 - REG1 (регистр подсветки колонок первого знакоместа)
#02 - REG2 (регистр подсветки колонок второго знакоместа)
#03 - REG3 (регистр подсветки колонок третьего знакоместа)
#04 - REG4 (регистр подсветки колонок четвёртого знакоместа)
#05 - REG5 (регистр подсветки колонок пятого знакоместа)
#06 - REG6 (регистр подсветки колонок шестого знакоместа)
#07 - REG7 (регистр подсветки колонок седьмого знакоместа)
#08 - REG8 (регистр подсветки колонок восьмого знакоместа)
#09 - REG9 (регистр подсветки колонок девятого знакоместа0
#0A - REG10 (регистр подсветки колонок десятого знакоместа)
#0B - REG11 (регистр подсветки колонок одиннадцатого знакоместа)
#0C - REG12 (регистр подсветки колонок двенадцатого знакоместа)
#0D - OUT1 (первый байт вывода 8 бит)
#0E - OUT2 (второй байт вывода 8 бит)
#0F - SND (звуковой порт для выдачи стерео сигнала 4 бита на канал)

Это было на вывод (все неиспользуемые биты выводятся наружу), а вот на ввод (рекомендованные номера):

#00 - VADR (адресный порт для связи с управляющим устройством)
#01 - VDAT (порт данных для связи с управляющим устройством)
...
#0D - IN1 (первый байт ввода 8 бит)
#0E - IN2 (второй байт ввода 8 бит)
#0F - SYS (биты состояния системы)

P.S. На самом деле на ввод только 7 сигналов CS декодируется, составленных из 3 младших битов адреса, т.е. #0D это тоже самое что #05 и #15 и т.д. - получается, что у нас остаётся 3 свободных сигнала на ввод - порты 2,3 и 4 (или что тоже самое - #0A, #0B, #0C)

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


26 Jan 2018 23:18
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Ну портов для подключения чего-либо внешнего, как я вижу, нет?

_________________
iLavr


27 Jan 2018 00:09
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Lavr wrote:
Ну портов для подключения чего-либо внешнего, как я вижу, нет?

Есть - IN1,IN2 и OUT1,OUT2 - целых 16 битов на ввод и 16 битов на вывод :)
Ещё в SYS хочу завести один бит с мафона :roll:
Ну и шина расширения NI-15 само собой - туда всякую недопериферию можно цеплять ;)

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


27 Jan 2018 01:13
Profile WWW
Senior

Joined: 07 Dec 2010 02:51
Posts: 157
Location: РФ г.КЕМЕРОВО
Reply with quote
Shaos wrote:
У меня даже было желание назвать этот недокомпьютер Chereshnya-I...
... однако потом подумалось, что компания Cherry на меня обидится за беспардонное использование
ихней торговой марки...

Shaos,по моему,компания Cherry тебе доплачивать должна будет,за пиар их кнопочек :idea:

_________________
В байте 8 бит,а в каждом четвёртом 9 ! ! ! Потомушта он высокосный ! ! !


27 Jan 2018 09:10
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
возможно :)

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


27 Jan 2018 10:39
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
7-сегментные индикаторы вот такие например подойдут:
https://www.jameco.com/z/UA3041-12-LED-7-Segment-Orange-635Nm-30-1-Digital-3-3mcd-Ca-Right-Hand-Decimal-Point-Rhdp-2-5V_335011.html
или любые подобные с похожим расположением контактов (DIP14: a,f,CA,NC,NC,DP,e, d,NC,c,g,NC,b,CA) - неважно точка слева у них или справа - она всё равно в этой схеме не используется

А матрицы 5x7 я взял вот такие - у них вертикали цепляются к земле, а горизонтали - к питанию:
https://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10001&freeText=2005518&langId=-1&productId=2005518&storeId=10001

И то, и другое - CLEARANCE

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


27 Jan 2018 12:42
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Платка будет выглядеть примерно вот так:

Attachment:
nedopc85mk-pcb.jpg
nedopc85mk-pcb.jpg [ 278.75 KiB | Viewed 15161 times ]


Как я и писал чуть выше - размер платки 35 x 15 см

P.S. Ввёл парамеры в китайскую SeeedStuido и они рассчитали, что сделать 5 штучек позолоченных красных платок такого размера обойдётся мне всего в $98 :roll:

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


27 Jan 2018 19:41
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Текущее состояние:


Attachments:
nedopc85mk-180127.jpg
nedopc85mk-180127.jpg [ 213.79 KiB | Viewed 14979 times ]

_________________
:dj: https://mastodon.social/@Shaos
28 Jan 2018 00:34
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Сегодня пришлось платку немного расширить (теперь её размер 35.6 x 15.2 см), чтобы воткнуть PNP дарлингтоны слева:


Attachments:
nedopc85mk-180128.jpg
nedopc85mk-180128.jpg [ 289.17 KiB | Viewed 14979 times ]

_________________
:dj: https://mastodon.social/@Shaos
28 Jan 2018 22:31
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Текущее положение дел (уже немного осталось):


Attachments:
nedopc85mk-180130.jpg
nedopc85mk-180130.jpg [ 315.36 KiB | Viewed 14979 times ]

_________________
:dj: https://mastodon.social/@Shaos
31 Jan 2018 01:32
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Вроде развёл всё что касается обвязки 8085A с памятями - теперь осталось клаву развести:


Attachments:
nedopc85mk-180201.jpg
nedopc85mk-180201.jpg [ 325.83 KiB | Viewed 14979 times ]

_________________
:dj: https://mastodon.social/@Shaos
02 Feb 2018 00:13
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Добавил R-2R стерео-DAC по 4 бита на канал для генерации стерео-звука:


Attachments:
nedopc85mk-180203.jpg
nedopc85mk-180203.jpg [ 328.43 KiB | Viewed 14938 times ]

_________________
:dj: https://mastodon.social/@Shaos
03 Feb 2018 23:10
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Теперь точно осталось только кнопочки развести и можно отдавать в производство :roll:

P.S. Кнопочки сделаю по аналогии с ZX-спектрумом - будем подсвечивать колонку нулём с шины адреса - задействованы 8 младших битов:

0й бит шины адреса -> [S] [F] ENTER + - HOME END RESET
1й бит шины адреса -> O P . 3 6 9 * [RESERVED]
2й бит шины адреса -> L ANS 2 5 8 / PGUP PGDN
3й бит шины адреса -> = EE 0 1 4 7 AC [RESERVED]
4й бит шины адреса -> ESC(STOP) INS DEL MODE UP DOWN LEFT RIGHT
5й бит шины адреса -> Q W E R T Y U I
6й бит шины адреса -> A S D F G H J K
7й бит шины адреса -> Z X C V B N M SPACE

Как видим остаётся место ещё под 2 кнопки - это можно в будущем скажем отдать под "метакнопки" (когда 8085 будет посылать наружу нажатие 2 кнопок подряд - MODE и ещё одной цифровой, выбирающей режим) например WRT (MODE 1) и RUN (MODE 2) - кстати Insert, PgUp и PgDn уже являются такими метакнопками ибо при нажатии на них в процессор будут посылаться коды [S]+[DEL], [S]+[Up] и [S]+[Dn] соответственно (в интерфейсе клавиатуры МК-85 есть место ещё под 5 кнопок, которыми могут быть Home, End, Up, Dn и что-то ещё, хотя наверное Home и End тоже можно сделать метакнопками, посылающими [S]+[Left] и [S]+[Right]).

P.P.S. Расположение битов в описании исправлено 27 марта 2018 года в соответствии с реальной разводкой на плате

P.P.P.S. А в октябре 2023 года мне подумалось, что надо поменять местами AC и STOP т.к. по смыслу STOP ближе к ESC, чем AC (которое есть очистка)

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


03 Feb 2018 23:11
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Возможно, я где-то пропустил, но не увидел: а что у тебя будет программным обеспечением этой недо-машинки?

_________________
iLavr


04 Feb 2018 02:32
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 103 posts ]  Go to page 1, 2, 3, 4, 5 ... 7  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.