А еще гигаскринить можно. Пора начинать уже писать демо для ЦЦ.
А еще гигаскринить можно. Пора начинать уже писать демо для ЦЦ.
Взглянул пзу Ocean-250 с сайта AZmastera и у меня создалось впечатление, что это или шутка/прикол или пзу (очень) плохо считалось. Или это некий набросок, который не работал.
Мне тоже так показалось. Но в целом ничего не говорит против версии, что это действительно был вариант "Океана" (часть хотя бы).
Пара слов про доступ к дополнительной памяти и про 512 Кб.
Приземленная часть.
Для удобного использования дополнительной памяти нужны 2 основные функции: возможность обмениваться с ней данными и возможность запускать находящийся там код.
ПЗУ океана частично (в пределах 64 Кб допОЗУ) реализует функцию обмена. Сравнительно просто можно расширить доступную память до максимума, вызывая пзушные процедуры с обходом ущербного формирования содержимого порта 0C1h. А вот для запуска кода в допОЗУ штатных возможностей нет.
Дальше фэнтезийная часть. Что могли бы сделать разработчики. Как минимум - разместить в пзу нормальные процедуры обмена и запуска.
Как максимум - разработать удобную систему управления памятью.
Если не сильно отрываться от земли, то они могли сделать очень простую вещь - зафиксировать часть озу 8000-FFFF нулевой страницы и запретить ее переключение. При этом младшими битами порта 0C1h выбиралась бы только страница для диапазона 0000-7FFF. Пользуясь "островом стабильности" 8000-FFFF можно было бы и размещать там любые специализированные процедуры обмена (в т.ч. удобный и быстрый обмен с дополнительной страницей видео), и передавать управление в другие страницы.
Для этого нужно было подавать на КП12 вместо A16-A18 следующие (A16)-(A18):
_A15=not A15
(A16)=A16 and _A15
(A17)=A17 and _A15
(A18)=A18 and _A15
Учитывая, сколько авторы всего наворотили в океане, отсутствие такого или подобного диспетчера можно объяснить скорее непродуманностью, а не желанием упростить схему.
В emu для увеличения памяти до 512 Кб нужно в разделе mem : Memory {
поменять строку
size=20000
на
size=80000
Также прилагаю "фэнтезийный" конфиг, в котором озу переключается только в дипазоне 0000-7FFF. ДОС и монитор реагируют на такое изменение спокойно, т.к. они доступаются к допОЗУ только в этом диапазоне.
Про исполнение кода из переключаемых банков в то время вряд ли задумывались, стандарт MSX только-только появился.
Вот еще интересно, как предполагалось использовать управление банками ПЗУ. Тоже вроде бы хороший задел, но никаких следов софта или документации![]()
Могу отметить положительный момент - пока что вижу, что дос и монитор обращаются к допОЗУ только через стандартные процедуры. А значит в принципе организация памяти может быть практически любая (в разумных пределах), главное чтобы про нее знали процедуры обмена.
Про ПЗУ вижу на схеме, что если не брать в расчет перемычки, то просто можно выбрать одну из 4х страниц пзу. С перемычками все усложняется, не разбирался.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Перейду сюда, чтобы не оффтопить в теме про тетрис.
Вот wav, который построил emu, который запускал я.
IBASICemu.zip
Нетленку вслепую сделать сложно, пока не могу.
- - - Добавлено - - -
Насчет выгрузки в wav с реала. Если получится загрузить emuшный wav, то лучше такой рам-диск и выгрузить. Если не получится - тогда желательно что-нибудь содержательное все же записать на рам-диск, чтобы не пустота была.
Ввести через магнитофонный вход ничего не получается. Подозреваю, что входная схема возбуждается, т.к. в отсутствие входного сигнала на ноге DD78-20 присутствует меандр с частотой 2.5КГц, а на ноге -21 прямоугольный сигнал с заваленным задним фронтом и той же частотой.
А что с выгрузкой, или пока не пробовал?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)