ZXNet эхоконференция «hardware.zx»
тема: ZX 128 - второй экран
от: Andreas Kaiser
кому: All
дата: 06 Mar 2006
Hello, All
Вопрос такого плана: в #7FFD бит 3 отвечает за выбор активного экрана.
Правильно ли я понимаю, что второй экран юзается при установленном 3-м бите
#7FFD и седьмой впечатаной странице? Установить _только_ 3-й бит либо _только
включить_ седьмую страницу недостаточно для смены экранов?
от: Vlad Semchenko
кому: All
дата: 06 Mar 2006
Hello, icebear
ice> в #7FFD бит 3 отвечает за выбор активного экрана
Более корректно сказать "за отображение экрана". Значение бита определяет какой
экран отображать.
ice> Установить _только_ 3-й бит либо _только включить_ седьмую страницу
ice> недостаточно для смены экранов?
Страницу 7 необходимо включать в область оверлея (C000-FFFF) только в случае
необходимости что-то там изменить. Условно говоря одновременно ты можешь
использовать 64К+6912байт одновременно - экран будет отображаться не находясь в
области непосредственной адресации CPU.
от: Andreas Kaiser
кому: All
дата: 06 Mar 2006
Hello, Sinus
Sin> icebear
Sin>
Sin> 3й бит #7FFD отвечает только за адрес выборки при отображении.
Sin> это никак не связано с текущей страницей.
О какой текущей странице идёт речь? Я говорил о текущем (активном) экране,
информация которого отображается.
Sin> т.е. то что ты написал в своём последнем посте почти правильно.
Что значит "почти правильно"?
от: Andreas Kaiser
кому: All
дата: 06 Mar 2006
Hello, Sinus
Sin> а я о другом наверное. :mad:
Hазывай тогда вещи своими именами :)
Sin> ULA не подключает никаких банок.
Sin> ULA просто берёт инфу из нужного местя памяти (3й бит мапится на шину
Sin> адреса)
Sin>
Sin> это не придирательство к словам, просто если бы ULA действительно
Sin> "подключала" нужную банку, а потом возвращала как было, сильно
Sin> усложнилась бы схема контроллера.
Это именно придирательство к словам :) Ладно, в следующий раз буду обрамлять в
кавычки, что бы непоняток не было. Спасибо за инфу.
от: Andreas Kaiser
кому: All
дата: 06 Mar 2006
Hello, spensor
spe> Страницу 7 необходимо включать в область оверлея (C000-FFFF) только в
spe> случае необходимости что-то там изменить. Условно говоря одновременно
spe> ты можешь использовать 64К+6912байт одновременно - экран будет
spe> отображаться не находясь в области непосредственной адресации CPU.
Т.е. проще говоря ULA во время вывода информации на экран сама подключает
нужную банку в зависимости от значения 3-го бита? А если я хочу писать во
второй экран, мне надо обязательно включать 7-ю банку, так?
от: Andreas Kaiser
кому: All
дата: 06 Mar 2006
Hello, Максагор
> P.S. Вопросик отсюда: вы же с командой в свое время AZX-Monstrum
> проектировали, дык почему пробелы в таких элементарных моментах
> попадаются?
Проектировали - громко сказано. Я уже писал, что тогда "напроектировали". А
ответ на твой вопрос прост: последний Спектрум у меня имел 48К (это был конец
94-го и это был брестский Байт с дисководом), посему я практически со 128-м не
сталкивался. Во времена AZX я набирал людей ещё и для того, что бы они делали
узлы, о которых я либо ничего, либо очень мало знаю (что бы быстрее сделать, а
не что бы они за меня сделали). Плюс сейчас перерыв почти в 6 лет. Так что
элементарен этот момент тем, кто с этим уже хоть раз сталкивался. Тогда я
раньше забил, чем начал изучать. Сейчас посмотрел на разные схемы и решил
проверить сам себя.
от: Slavik Tretiak
кому: All
дата: 06 Mar 2006
Hello, icebear
ice> О какой текущей странице идёт речь? Я говорил о текущем (активном)
ice> экране, информация которого отображается.
а я о другом наверное. :mad:
о какой странице? о той которая в данный момент "впечатана" в адресное
пространство процессора от #C000 до #FFFF.
> Что значит "почти правильно"?
> ULA во время вывода информации на экран сама подключает нужную банку
> в зависимости от значения 3-го бита
ULA не подключает никаких банок.
ULA просто берёт инфу из нужного местя памяти (3й бит мапится на шину адреса)
это не придирательство к словам, просто если бы ULA действительно "подключала"
нужную банку, а потом возвращала как было, сильно усложнилась бы схема
контроллера.
от: Slavik Tretiak
кому: All
дата: 06 Mar 2006
Hello, icebear
icebear
3й бит #7FFD отвечает только за адрес выборки при отображении.
это никак не связано с текущей страницей.
т.е. то что ты написал в своём последнем посте почти правильно.
от: Тимонин Максим Анатольевич
кому: All
дата: 06 Mar 2006
Hello, icebear
ice> Т.е. проще говоря ULA во время вывода информации на экран сама
ice> подключает нужную банку в зависимости от значения 3-го бита? А если я
ice> хочу писать во второй экран, мне надо обязательно включать 7-ю банку,
ice> так?
Да, безусловно. Иначе куда ты будешь вносить байты командами LD, LDI(R) и
прочими? Само собой, "впечатав" страницу 5 или 7 в адресное пространство. Hо
отображаться они могут и не будучи впечатанными.
P.S. Вопросик отсюда: вы же с командой в свое время AZX-Monstrum проектировали,
дык почему пробелы в таких элементарных моментах попадаются?
|