Как известно, если задать этот бит=1, то будет отображаться экран 1, банка памяти 7 (а не стандартный 0, банка памяти 5).
Но в какую банку я попаду, если я начну писать в адреса с #4000 ?
И куда, если писать в #С000 ?
Как известно, если задать этот бит=1, то будет отображаться экран 1, банка памяти 7 (а не стандартный 0, банка памяти 5).
Но в какую банку я попаду, если я начну писать в адреса с #4000 ?
И куда, если писать в #С000 ?
ZXM-Phoenix rev.01 2048K, VG93 hw emulator
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Если будешь писать с #4000 то попадёшь в 5ю банку
Если в #С000 то это зависит какая банка включена - туда и попадёшь
Но прикольно - если включена банка 5, и бит 3 в 0 - то и в #С000 и с #4000 будит экран малеваться.
---------- Post added at 22:11 ---------- Previous post was at 22:08 ----------
Вернее данные будут записываться туда не зависимо включена она или нет. Но включиться сама не сможет.
Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
Pentagon 128(1991г.)+YМ
программатор 2732-27512.
IanPo, все твои непонятки в том, что ты путаешь всё на свете .
Адресное пространство процессора делится на 4 ОКНА: CPU0-CPU3.Запомни - не банки, не тазики и не горшки, а именно - ОКНА! Знание терминологии - важно для понимания!
В эти окна на разных клонах можно подставлять разные СТРАНИЦЫ. Опять же - не банки, не тазики и не горшки, а именно - СТРАНИЦЫ!
Дык вот, в нормальном ZX128 в окно CPU1 по умолчанию подставляется 5 страница , и она же отображается на экране (D3=0 #7FFD). А при D3=1, на экране отображается 7 страница.
Ввиду ограниченности адресного пространства Z80, он может обращаться только к своим окнам. Поэтому, если ты пишешь в какое-то окно, то насамделе ты пишешь в ту страницу, которая сейчас подставлена в это окно. При том на некоторых компах страницы можно менять в боее чем одном окне. Управление тем, что подставляется в окна осуществляет менеджер памяти. Для ZX128 - это порт #7FFD.
Да, и последее - БАНКОМ правильно называть блок памяти размером во всё адресное пространство процессора, т.е. для Z80 - это 64k, а например для eZ80 - 16Мб. Так что говоря о банках, надо конкретизировать, т.к. это неоднозначное понятие, а вот окна и страницы - для Спектрума вполне однозначные.
Последний раз редактировалось Black_Cat; 31.03.2011 в 11:29.
В ZX-Spectrum-128 в окно 1 (4000-7FFF) _всегда_ подключена страница 5. В независимости ни от чего. Окно проецирования страниц у спектрума 128 - окно3 (C000-FFFF). Опять же. D3 7FFD только указывает видеоконтроллеру какую страницу отображать в данный момент. Номер страницы для подключения в окно в битах 0-2.
В подавляющем большинстве клонов страницы можно менять только в одном окне. Исключение это: Спринтер, АТМ, (может и ещё какой, но сейчас не припомню). Даже у профика окно проецирования страниц одно, но имеет 2 положения. В режиме маппинга ZX-Spectrum это окно 3, в расширенном режиме - окно 1.
А по поводу терминов скажу. Окна называют ещё сегментами. И страницами тоже. В разных системах и литературе по разному. На самом деле это не имеет решающего значения.
---------- Post added at 08:29 ---------- Previous post was at 08:22 ----------
Это кто так сказал? В компьютерных системах с расширенным ОЗУ (более 64К) под управлением CP/M Plus (ver 3) банком ОЗУ называлась область менее 64К, как правило размером 32-48К. Подключался банк с адреса 0. Banked CP/M (или MP/M) использовала ОЗУ именно так. Термин встречается в литературе с 1981г. Хотя стандартом это не является, как и приведенное тобой значение. Более того скажу, в CP/M страницей называется область памяти размером 256 байт. Первые 256 байт ОЗУ так и называются - системная страница. Объем TPA измеряется в страницах. Команда save file N - сохраняет указанное кол-во страниц с адреса 100H.
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
Последний раз редактировалось GriV; 02.04.2011 в 16:37. Причина: убрал флейм
Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
Pentagon 128(1991г.)+YМ
программатор 2732-27512.
Простой вопрос, а вызвал столько флейма
Я уже практически проверил, lisica все точно ответил.
Доп.вопрос из области атрибутов (оффтоп, но раз уж начали):
атрибут повышенной яркости (бит 6) действует сразу и на INK, и на PAPER ?
ZXM-Phoenix rev.01 2048K, VG93 hw emulator
Робик 1024(пентагоновские тайминги),+ 7Мц+, 2AY(TS),+ контроллер дисковода,+ 3.5,+ 5.25 флоп,+CMOS,+ mouse(caro),+ Flash.
Pentagon 128(1991г.)+YМ
программатор 2732-27512.
Спасибо. Прошивка готова.
http://zx.pk.ru/showpost.php?p=371668&postcount=38
ZXM-Phoenix rev.01 2048K, VG93 hw emulator
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)