уже давно интересует вопрос:
каким образом в спектруме реализуется 128k памти ведь у z80 16-ти разрядная шина памяти?
уже давно интересует вопрос:
каким образом в спектруме реализуется 128k памти ведь у z80 16-ти разрядная шина памяти?
Последний раз редактировалось fadey; 05.05.2008 в 12:23. Причина: (ключевые слова) 64k 64кБ A16 16 FFFF смещение база 128k 128 кБ 1024k 1024 кБ z80 КР580ВМ80А
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
RTFM на тему "страничная адресация памяти". 64К - это видимый в данный момент кусок памяти, он и адресуется 16 битами адресной шины. Остальное, пока его не подключишь, не видно. Подключается оно через порт расширения памяти кусками по 16К в адреса #C000-#FFFF
Все любят гипножабу
спасибо за ответ, рад што ктото это понимает.
"порт расширения памяти" - мне это не понятно.
про RTFM: а можно этот самый FM мне кинуть? ([email protected])
и еще:
страничная есть и у интела но там просто формально в командах работы с памятью стоит 2 регистра (база смещение) а ножек то на проце 20 и адресация прямая. поэтому я и не понимаю. и еще интересен регистр номера команды. он естественно разрешает только коды до 64к - так?
Уточню - "страничная адресация памяти на ZX"
На примере 128К.
64К видимой и непосредственно адресуемой памяти делятся на 4 куска по 16К
ram0: #0000-#3FFF
ram1: #4000-#7FFF
ram2: #8000-#BFFF
ram3: #C000-#FFFF
часть 0 обычно "затеняется" ПЗУ.
теперь представь, что у тебя имеется 8 кусков памяти по 16К (банки, или страницы памяти, обозначим page0, page1, ... page7).
Так повелось, что в ram1 всегда поставлена page5, в ram2 - page2
а вот в ram3 мы можем ставить какую угодно из имеющихся страниц памяти. для этого необходимо вывести ее номер (и кое-что ещё) в порт #7FFD - порт расширения памяти для 128К.
Вот так и получается - одновременно в памяти у нас только 4 страницы (64К), а остальные ждут, когда их подключат.
порылся малость.
http://ivr.webzone.ru/articles/call/index.htm (немного теории)
Последний раз редактировалось SAM style; 30.04.2008 в 12:47.
Все любят гипножабу
а начинаю понимать.
опуская формальности выглядит так
проц может адресовать 64k
есть контроллер памяти к нему подключено 128k с одной стороны
и проц 16 адресов + data c другой как всегда
если обратиться к памяти то контроллер напрямую переадресует к памяти (к той которая выбрана) а если обратиться по данному порту токонтроллер прекинет стрелку на другой кусок памяти.
т.е. данный порт (7FFD) действует как расширение памяти (значение в него записанное это эффективно еще несколько бит адреса).
Последний раз редактировалось fadey; 30.04.2008 в 13:23.
не знаком.
только и, или, не и тригеры. больше ничего не знаю.
...правда по моему больше ничего и не надо.
но в целом я ведь правильно понял?
ну да, только там автоматики нет (либо я неправильно понял твою фразу "а если обратиться по данному порту токонтроллер прекинет стрелку на другой кусок памяти"). что запишешь в #7ffd - то и будет включено в участок #C000-#FFFF и будет оставаться включеным до непосредственной перезаписи #7ffd.
Who are you to fucking lecture me?
GMX для Scorpion'а можно приобрести здесь
ZX-BUS XTRaiser v2.1 (активный расширитель ZX-BUS здорового человека на 3 слота) можно приобрести здесь
SMUC 2.1 rev. C Black & White edition (v.2022) можно приобрести здесь
Scorpion ZS-256 Turbo, GMX 2048Kb, ZX-BUS XTRaiser v2.0, SMUC v2.0 rev. A, SDCard 32Gb, GS 2Mb,
ZXMC 2v28, TSFM, FDD 5'25 Teac x2, FDD 3'5 Sony, VGA&PALv2.09, PC Keyboard & Mouse
а я вот тока недавно немного стал разбираться
Мои интры: [Kukarachess][Super boot rmx][tRUSHE MOSAIc][BLAZE]
Мои игры: [Overload][Removal]
Список игр для ZX-Spectrum: [2015] [2014]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)