Author |
Message |
Vasil Ivanov
Doomed
Joined: 11 Dec 2003 14:34 Posts: 413
|
Привет!
Прошу помощи у всезнающего ALL-а!
Все адресное пространство Z80 (64 кило) делится на 4 сегмента (0-3) по 16 кило каждый. Каким образом (схемно) делаются порты каждый на свой 16kB сегмент ?. Т.е. каждый из 4-х портов включает указанную
(любую из 0-255, при 4 метрах ОЗУ) страницу только в свой сегмент.
Чо то не могу докумекать как это делается.
_________________Vasil Ivanov vasil-i@yandex.ru
|
31 Jul 2010 10:33 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
Тебе надо четыре регистра 8-разрядных поставить с Z состоянием - чтобы проц мог туда писать (как минимум), выходы с них соединяешь вместе и ведёшь на A14-A21 твоей памяти. От проца A14 и A15 ведёшь к демультиплексору 2:4, выходы которого цепляешь к OE каждого из регистров. Адреса A0-A13, шину данных, RD и WR от проца ведёшь прямиком на память. Всё
P.S. Во - нашёл свою зарисовку 4-летней давности! Тут к вышеописанному добавился ещё демультиплексор на порты доступа к регистрам и логика записи в них по WR - это можно по всякому делать:
|
31 Jul 2010 19:34 |
|
|
Vasil Ivanov
Doomed
Joined: 11 Dec 2003 14:34 Posts: 413
|
Спасибо за хелп!. Буду схемно проверять (в протеусе) твою зарисовку.
_________________Vasil Ivanov vasil-i@yandex.ru
|
31 Jul 2010 23:36 |
|
|
b2m
Devil
Joined: 26 May 2003 06:57 Posts: 859
|
А не проще поставить пару ИР26 (74HC670)?
_________________Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
|
01 Aug 2010 02:54 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
Может и проще - но они труднодоставаемые, а значит - дорогие. В данный момент доступны только в соиках (HC и HCT) по цене за полтора доллара штучка (хорошо, что я раньше прикупил себе 4 штучки 74LS670 в DIP-корпусе для экспериментов).
|
01 Aug 2010 09:12 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Если будешь пихать схему в CPLD, то забудь о Z, и сделай переключение на мультиплексоре. Остальное все так. Ну я про основную идею. От себя добавлю, что сбрасываемый регистр (особенно в 0 странице) желателен, чтобы по сбросу был всегда установлен рабочий код (если 4МБ адресное пространство у тебя общее для RAM и ROM.
|
01 Aug 2010 11:06 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
Да - согласен - регистры надо инициировать, например при включении чтобы управление передавалось в ROM, который по умолчанию втыкается в нулевую страницу, а тот уже инитит регистры соответствующим образом.
|
01 Aug 2010 12:52 |
|
|
Vasil Ivanov
Doomed
Joined: 11 Dec 2003 14:34 Posts: 413
|
Пока остановился на таком варианте.
Это 8-ми разрядный аналог (по принципу работы) 74170.
В четыре 8-ми разрядных регистра можно раздельно записывать/читать любую информацию.
D0..D7 - входы
Q0..Q7 - выходы
При WR 1->0 происходит защелкивание данных со входов D0..D7.
WRA-WRB - выбор регистров для записи.
При RD=1 на всех выходах Q уст."0".
При RD=0 происходит выдача информации на выходы Q, согласно адресу на RDA-RDB.
RDA-RDB - выбор регистров для чтения.
RES - сброс записанных данных м/с в ноль.
Шурик схему брошу тебе на мыло ( shaos@mail.ru), вставь ее (или сцилку) в эту мессагу. Там дешифратор 74139my отличается
от стандартного 74139 только тем, что у моего варианта выходы не инверсные. Все равно эта схема для
плисины, так что лучше перерисовать дешифратор 2:4, чем добавлять лишние инверторы.
_________________Vasil Ivanov vasil-i@yandex.ru
|
03 Aug 2010 23:50 |
|
|
Vasil Ivanov
Doomed
Joined: 11 Dec 2003 14:34 Posts: 413
|
Спасибо, учту. Что касается схемной реализации, то имеется матрица на D-триггерах, 4 колонки на 8 строк. 74139 выбирает колонки, 74153 выбирают строки.
Ты прав. Я такую фитчу встречал еще у Орион-128, когда читал описание работы его схемы. Как раз для этого у меня есть пин RES,
сбрасывающий все записанные данные.
_________________Vasil Ivanov vasil-i@yandex.ru
|
04 Aug 2010 00:15 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
Вставляю (кликнув на картинку можно стянуть PDF размером 171K):
А вот сцылка на зазипованный PDF:
http://nedopc.org/nedopc/upload/4x8.zip (27K)
|
04 Aug 2010 04:44 |
|
|
masterspammer
Fanat
Joined: 13 Dec 2020 21:11 Posts: 86
|
Спасибо за наводку! Внезапно нашёл кучу в соседнем магазине (видать никому кроме меня не были нужны). В DIPе, купил 6 штук. Кстати, на этих регистрах можно ещё и палитру для видеовывода сделать, например, 4 из 16 возможных цветов, 8 из 16 или 4 из 256 - на двух, ну и, раз пошла такая пьянка, 8 из 256 на 4-х. Рядом всё равно городить ещё регистр/буфер, чтоб пропускать адрес насквозь при обращении к портам (страницы у адреса портов это не плохо, но вот со страницами памяти совпадать им уж точно незачем), можно его использовать для первичного включения (если !IORQ или ещё со времён сброса установлен триггер, сбрасываемый любым переключением страниц).
|
08 Feb 2021 07:07 |
|
|
oldlazycat
Novelist
Joined: 18 Nov 2022 06:33 Posts: 43 Location: Урюпинск
|
А не проще взять Z180? Там уже всё реализовано, правда, на 3 сегмента.
_________________ Two Beer? Or not Two Beer?
|
21 Aug 2023 00:05 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22530 Location: Silicon Valley
|
Ну Z180 это старьё-старое, а Z80 вроде как до сих пор штампуется А вообще в Z180 очень странный MMU - где-то тут на форуме обсуждалось... нашёл: http://www.nedopc.org/forum/viewtopic.php?p=104326#p104326т.е. фактически у Z180 перемещаемое окно одно - среднее, а первой и последнее это всегда начало и конец адресного пространства, так-что спасибо ненадо...
|
21 Aug 2023 00:23 |
|
|
oldlazycat
Novelist
Joined: 18 Nov 2022 06:33 Posts: 43 Location: Урюпинск
|
Ничего подобного! Открываются 3 окна в пределах 64 КБ из любой части адресуемого 1 МБ с шагом 4 КБ.
_________________ Two Beer? Or not Two Beer?
|
29 Aug 2023 13:42 |
|
|