Skip to content

aberranthacker/UKNC_upgrades

Repository files navigation

UKNC_upgrades

Hardware extensions for UKNC (Soviet PDP-11 compatible machine)

Коллекция аппаратных дополнений для ПК Электроника МС 0511(УКНЦ).

mc0511_05.pdf - схема самого ПК, взято с сайта micklab.ru

ay_and_dac_vm1

Реализация подключеня звукогенератора AY-3-8910 и двухканального ЦАП'а.

Тема на форуме zx-pk.ru где обсуждалась данная реализация.

sram_cpu_two_windows

Модуль SRAM.

После того, как я неожиданно заметил, что у ЦП свободно 7.5КБ адресного пространства (при его ширине в 64КБ!), было решено немедленно заполнить их дополнительной памятью. В результате возникла данная реализация.

На модуле установлен 1МБ памяти. Доступ к ним производится через два окна 0160000-0167777 и 0170000-0175777, т.е. первое окно 4КБ, второе 3КБ. Через каждое окно можно получить доступ ко всему объему памяти, но в верхнем окне доступы только нижние 3КБ каждой страницы.

Переключение страниц осуществляется записью в регистр по адресу 0176000, младший байт переключает страницу в первом, 4-х килобайтном окне, старший во втором.

По сигналу сброс, регистры страниц обнуляются, но т.к. регистр верхнего окна инверсный, получается что отсчёт страниц идёт с противоположных границ 1МБ-айтного диапазона. Т.е. после записи в один регистр 0, а в другой 255, в оба окна будет подставлена одна и таже страница.

Несмотря на то что RT-11 может использовать дополнительную память (по умолчанию верхняя граница 0170000), драйвера устройств подключенных к ПП не работают(MZ и WD), из за того что со стороны ПП, адреса ОЗУ ЦП выше 0160000 это ОЗУ режима HALT.

Для использования таких драйверов необходимо установить вехний адрес RT-11 равным 0160000 (должен быть кратен 04000). Можно воспользоваться системной утилитой SIPP (предварительно найдя в файле RTSJ.MAP адрес на который указывает символ ..28KW, подробнее в RT-11 Installation Guide п. 2.6.20). Либо с помощью сторонней утилиты SYSTOP.

После изменения верхней границы, необходимо обновить загрузчик коммандой COPY/BOOT:MZ MZ0:RT11SJ MZ0:

Тест скорости записи в память:

xxxx00     012700  MOV    #100, R0 ;
xxxx02     000100                  ;
xxxx04     005001  CLR    R1       ; <---+
xxxx06     012702  MOV    #1100,R2 ;     |
xxxx10     001100/170000           ;     |
xxxx12  0(1)10112  MOV(B) R1, (R2) ; <-+ |
xxxx14  0(1)10112  MOV(B) R1, (R2) ;   | |
xxxx16  0(1)10112  MOV(B) R1, (R2) ;   | |
xxxx20  0(1)10112  MOV(B) R1, (R2) ;   | |
xxxx22  0(1)10112  MOV(B) R1, (R2) ;   | |
xxxx24  0(1)10112  MOV(B) R1, (R2) ;   | |
xxxx26  0(1)10112  MOV(B) R1, (R2) ;   | |
xxxx30  0(1)10112  MOV(B) R1, (R2) ;   | |
xxxx32     077111  SOB    R1, 11   ;---+ |
xxxx34     077015  SOB    R0, 15   ;-----+
xxxx36     000000  HALT            ;

Время выполнения теста:

length 8 Mhz 10MHz 8 MHz SRAM 10MHz SRAM
word 152 sec 120 sec 97 sec 77 sec
byte 193 sec 162 sec 121 sec 97 sec

About

Hardware extensions for UKNC (Soviet PDP-11 compatible machine)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published