nedoPC.org

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



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

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
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?

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


23 Apr 2019 08:23
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Вот думаю надо материнку PDPii Junior нарисовать в Circuits.CC :)

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

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


19 May 2019 10:30
Profile WWW
Admin
User avatar

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

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


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

_________________
:dj: https://mastodon.social/@Shaos
09 Jun 2019 13:38
Profile WWW
Admin
User avatar

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

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

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


16 Jun 2019 23:12
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Апдейт на тему PDPii Junior на Хакадее:

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

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

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


23 Jun 2019 21:13
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
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 (два)...

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


25 Jun 2019 19:20
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
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 10892 times ]

_________________
:dj: https://mastodon.social/@Shaos
26 Jun 2019 22:23
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Продвинулся чуть дальше:


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

_________________
:dj: https://mastodon.social/@Shaos
27 Jun 2019 22:03
Profile WWW
Admin
User avatar

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


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

_________________
:dj: https://mastodon.social/@Shaos
28 Jun 2019 00:29
Profile WWW
Admin
User avatar

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

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

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


28 Jun 2019 01:32
Profile WWW
Admin
User avatar

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


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

_________________
:dj: https://mastodon.social/@Shaos
28 Jun 2019 23:39
Profile WWW
Admin
User avatar

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

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

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


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

_________________
:dj: https://mastodon.social/@Shaos
29 Jun 2019 15:33
Profile WWW
Admin
User avatar

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

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

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


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

Joined: 21 Oct 2009 08: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 08:08
Profile
Admin
User avatar

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

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

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

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


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

Who is online

Users browsing this forum: No registered users and 12 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.