nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 23 Aug 2019 09:38



Reply to topic  [ 299 posts ]  Go to page Previous  1 ... 16, 17, 18, 19, 20  Next
Микро-ЭВМ на КМ1801ВМ2 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Lavr wrote:
Shaos wrote:
По идее тут после каждой посылки надо флаг занятости читать, чтобы понять когда следующий символ можно сувать, но т.к. у меня просто запись, то будем просто ждать...

Извини, то ли я забыл, то ли где-то пропустил, почему "просто запись", и почему "после каждой посылки флаг занятости читать" НЕТ ВОЗМОЖНОСТИ?
Потому что так подключено на макетке :)
Для чтения взад надо добавлять дополнительный буфер
В реальной плате всё будет, но пока вот так :roll:
Shaos wrote:
16-битный порт на вывод доступен по BBS7, т.е. адрес 0FF00H должен сработать - младший байт это 8-битные данные в ЖКИ и несколько битов в старшем байте порта пойдут на управление - RS,R/W,E:

bit 8 - LED (индикация ошибки)
bit 9 - RS (0 для команды, 1 для данных)
bit 10 - R/W (0 для записи. 1 для чтения)
bit 11 - E (1 для разрешения связи с ЖКИ)
bit 12 - бит адреса клавиаутры KA0
bit 13 - бит адреса клавиатуры KA1
bit 14 - бит адреса клавиатуры KA2
bit 15 - IFLAG для nedoText/SX ?

в будущем можно на ввод тоже поддержать - младший байт также будет 8 бит данных (чтение из ЖКИ), а старший байт может быть таким:

bit 8 - бит клавиатуры KB0
bit 9 - бит клавиатуры KB1
bit 10 - бит клавиатуры KB2
bit 11 - бит клавиатуры KB3
bit 12 - бит клавиатуры KB4
bit 13 - кнопка S1?
bit 14 - кнопка S2?
bit 15 - OFLAG из nedoText/SX?

_________________
:eugeek: https://twitter.com/Shaos1973


23 Apr 2019 09:23
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Вот думаю надо материнку PDPii Junior нарисовать в Circuits.CC :)

Далее надо один раз написать программу, которая будет конвертить из Circuits.CC формата в Gerber и потом глядишь народ прибежит свои платки рисовать ;)

_________________
:eugeek: https://twitter.com/Shaos1973


19 May 2019 11:30
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Shaos wrote:
Воткнул модуль в PDPii - "Hello, World" всё ещё работает, значит КЗ нету и конфликтов на шине тоже - можно писать тестовую программку с индкацией на дисплейчик...

Наконец-то придумал, как продлить шину за пределы бредборды, чтобы нормально воткнуть третий модуль - купил маленькую, но такую же длинную бредборду и много проводочков :mrgreen:


Attachments:
PDPii-2019-06-09s.jpg
PDPii-2019-06-09s.jpg [ 210.8 KiB | Viewed 1070 times ]
PDPii-2019-06-09-2.jpg
PDPii-2019-06-09-2.jpg [ 230.05 KiB | Viewed 1070 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
09 Jun 2019 14:38
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
О - в прошлом году на хабре и про это появилась заметка :)

https://habr.com/ru/post/374455/

_________________
:eugeek: https://twitter.com/Shaos1973


17 Jun 2019 00:12
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Апдейт на тему PDPii Junior на Хакадее:

https://hackaday.io/project/164866-pdpjr

Про возможность подцепить туда NedoText на SX-28 и клаву МС-7007 пока не упоминаю - сюрприз будет :mrgreen:

_________________
:eugeek: https://twitter.com/Shaos1973


23 Jun 2019 22:13
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Shaos wrote:
P.S. Либо отказаться от отдельного "основного" ПЗУ и сделать одну боротовую микросхему 27C1024 с программно переключаемыми окнами? В этом случае управление ограничивается только 4 битами - первые два окна 8кб и будут являться "основным" 16кб ПЗУ, подставляемым в первую либо третью четверть адресного пространства, поэтому первые 2 комбинации управляющих битов можно отвести под особые случаи (в том числе режим по молчанию, когда ПЗУ в начале):

0000 - режим по умолчанию, 16КБ ПЗУ в первой четверти, в 0xC000...0xDFFF просвечивает кусок RAM1 (в будущем может быть видеопамять)
0001 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF всё также просвечивает кусок RAM1 (в будущем может быть видеопамять)
0010 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №2
0011 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №3
0100 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №4
0101 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №5
0110 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №6
0111 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №7
1000 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №8
1001 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №9
1010 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №10
1011 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №11
1100 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №12
1101 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №13
1110 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №14
1111 - 16КБ ПЗУ перемещён в третью четверть, в 0xC000...0xDFFF подставляется 8кб страница ПЗУ №15

P.P.S. Можно ещё завести логику на одной XOR-микросхеме, которая будет опционально (по стостоянию джамперов) переворачивать эти старшие 4 битика адреса, подставляя в страницы 0-1 любые другие части этого большого ПЗУ...


Кстати шина данных у нас ведь инвертированная - надо иметь это ввиду в случае всяких внешних регистров и периферийных устройств. Например в качестве 16-битного регистра взять не две 74ALS574, а скажем четыре 74LS175 (ака 555ТМ8) - там у каждого бита есть Q и /Q - инвертированные выходы пустить дальше, а неинвертированные отправить на 16 светодиодов для индикации состояния битов регистра, а в качестве буфера взять инвертирующий буфер 74LS240 (два)...

_________________
:eugeek: https://twitter.com/Shaos1973


25 Jun 2019 20:20
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Shaos wrote:
Например в качестве 16-битного регистра взять не две 74ALS574, а скажем четыре 74LS175 (ака 555ТМ8) - там у каждого бита есть Q и /Q - инвертированные выходы пустить дальше, а неинвертированные отправить на 16 светодиодов для индикации состояния битов регистра...

Вот примерно как-то так:


Attachments:
PDPjr-2019-06-26.png
PDPjr-2019-06-26.png [ 7.21 KiB | Viewed 846 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
26 Jun 2019 23:23
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Продвинулся чуть дальше:


Attachments:
PDPjr-2019-06-27.png
PDPjr-2019-06-27.png [ 20.81 KiB | Viewed 819 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
27 Jun 2019 23:03
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Вот посимулил выбор ПЗУ/ОЗУ в зависимости от трёх старших битов адреса и четырёх битов выбора режима распределения памяти:


Attachments:
PDPjr-logic.zip [2.11 KiB]
Downloaded 16 times
PDPjr-logic.png
PDPjr-logic.png [ 15.22 KiB | Viewed 814 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
28 Jun 2019 01:29
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
На видеопамять пока забъём - в режиме 0000 в младшей половине старшей четверти будет ROM0, а в режиме 0001 - ROM1 (т.е. номер ПЗУ в половинке последнего окошка точно соответствует номеру режима для всех режимов от 0000 до 1111)

P.S. Снизу картинки видно как я буду запрещать ОЗУ в тех местах, где ему быть ненужно - просто путём маскирования /BSYNC, идущего на этот слот (в отведённом для модуля ОЗУ слоте он будет называться /BSYNCR)

_________________
:eugeek: https://twitter.com/Shaos1973


28 Jun 2019 02:32
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Окончательная схема PDPjr получилась на 22 микросхемы (это плюс к модулям ЦПУ и ОЗУ):


Attachments:
PDPjr-2019-07-07.png
PDPjr-2019-07-07.png [ 35.68 KiB | Viewed 551 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
29 Jun 2019 00:39
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
На макетке надо добавить инверсию инверсной шины данных, чтобы не надо было инвертировать отправляемые на ЖКИ данные, как сейчас. Потом надо добавить обратный канал через буфер, чтобы можно было состояние ЖКИ читать. Ну и ZX-клавку надо бы подцепить ;)

А вот банками памяти щёлкать я уже буду когда соберу сие на печатной плате...

P.S. Вот версия схемы чёрным по белому, если кому зелёным по чёрному кажется слишком вырвиглазным :mrgreen:


Attachments:
PDPjr-2019-07-07.gif
PDPjr-2019-07-07.gif [ 32.62 KiB | Viewed 551 times ]

_________________
:eugeek: https://twitter.com/Shaos1973
29 Jun 2019 16:33
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Напоминаю, что без изменения схемы к PDPjr можно присобачить советскую JCUKEN-клаву MC7007 и nedoText на SX-24 с текстовым разрешением 80x25 :mrgreen:

P.S. Где-то существуют удобоваримые исходники монитора типа "пультъ"?

_________________
:eugeek: https://twitter.com/Shaos1973


04 Jul 2019 07:31
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Где-то существуют удобоваримые исходники монитора типа "пультъ"?

Ну я вот тут расковырял один Монитор, чтобы иметь представление, как пишут Мониторы для этих процев:
http://www.nedopc.org/forum/viewtopic.php?f=95&t=10288&start=255

Но тебе, скорее всего, не подойдёт - там вывод на 7-сегментный индикатор...

_________________
iLavr


04 Jul 2019 09:08
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17985
Location: Colorado
Reply with quote
Да мне нужно полноклавиатурный - в котором клавшами ПС и ВК управляют открытием следующей ячейки и т.д.

P.S. А вот же в теме про УКНЦ я линк приводил: http://www.nedopc.org/forum/viewtopic.php?p=150413#p150413

P.P.S. Прямо сразу оттуда можно взять тест ОЗУ :roll:

_________________
:eugeek: https://twitter.com/Shaos1973


04 Jul 2019 15:27
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 299 posts ]  Go to page Previous  1 ... 16, 17, 18, 19, 20  Next

Who is online

Users browsing this forum: No registered users and 1 guest


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.