Shaos wrote:По идее тут после каждой посылки надо флаг занятости читать, чтобы понять когда следующий символ можно сувать, но т.к. у меня просто запись, то будем просто ждать...
Извини, то ли я забыл, то ли где-то пропустил, почему "просто запись", и почему "после каждой посылки флаг занятости читать" НЕТ ВОЗМОЖНОСТИ?
Потому что так подключено на макетке
Для чтения взад надо добавлять дополнительный буфер
В реальной плате всё будет, но пока вот так
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?
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shaos wrote:Воткнул модуль в PDPii - "Hello, World" всё ещё работает, значит КЗ нету и конфликтов на шине тоже - можно писать тестовую программку с индкацией на дисплейчик...
Наконец-то придумал, как продлить шину за пределы бредборды, чтобы нормально воткнуть третий модуль - купил маленькую, но такую же длинную бредборду и много проводочков
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
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 (два)...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Shaos wrote:Например в качестве 16-битного регистра взять не две 74ALS574, а скажем четыре 74LS175 (ака 555ТМ8) - там у каждого бита есть Q и /Q - инвертированные выходы пустить дальше, а неинвертированные отправить на 16 светодиодов для индикации состояния битов регистра...
Вот примерно как-то так:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
На видеопамять пока забъём - в режиме 0000 в младшей половине старшей четверти будет ROM0, а в режиме 0001 - ROM1 (т.е. номер ПЗУ в половинке последнего окошка точно соответствует номеру режима для всех режимов от 0000 до 1111)
P.S. Снизу картинки видно как я буду запрещать ОЗУ в тех местах, где ему быть ненужно - просто путём маскирования /BSYNC, идущего на этот слот (в отведённом для модуля ОЗУ слоте он будет называться /BSYNCR)
Я тут за главного - если что шлите мыло на me собака shaos точка net
На макетке надо добавить инверсию инверсной шины данных, чтобы не надо было инвертировать отправляемые на ЖКИ данные, как сейчас. Потом надо добавить обратный канал через буфер, чтобы можно было состояние ЖКИ читать. Ну и ZX-клавку надо бы подцепить
А вот банками памяти щёлкать я уже буду когда соберу сие на печатной плате...
P.S. Вот версия схемы чёрным по белому, если кому зелёным по чёрному кажется слишком вырвиглазным
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net