В МХ 64 кБайт - основное ОЗУ + 16 кБайт - ОЗУ цвета + до 512 кБайт - RAM-диск.
В МХ 64 кБайт - основное ОЗУ + 16 кБайт - ОЗУ цвета + до 512 кБайт - RAM-диск.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Error404, на страничке Фифана:
![]()
Жаль, конечно. Такая схема как у МХ для "многостраничных" программ, да еще с прерываниями, подходит плохо. Страницы по 48к оставляют мало места для "сплошного" кода (и их всего две), а страницы по 63,9 к имеют слишком малую область перекрытия ("склеенное ОЗУ" - 32байта) - в ней ни кода с серьезной логикой не поместить, ни стек. Максимум, переход на п.п. в другой странице или п.п. по доставанию байта из другой страницы (что видимо и делалось). Оптимально иметь "перекрывающуюся область" ("склеенное ОЗУ") в 1-2 килобайта. 4кб в добавляемом маппере я запросил для совместимости с Орионом (плюс там же выше - с F800 - будет эмулятор Монитора, опять же для совместимости, чтобы меньше кода адаптировать). А так то CР/M и Юзиксу для обслуги межбанка и прерываний хватает 1к в "склеенной области". Но если этого 1к CP/M хватает c запасом, то Юзиксу этих 1к уже впритык-впритык, часть неосновных обработчиков вынесена в ОЗУ доп. страниц.
Последний раз редактировалось Error404; 17.11.2016 в 17:18.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
А между тем CP/M на МХ есть, только вот мапинг его в описаниях я не встречал.
Error404, глупо, да. Я когда над МХ2 работал, думал что создателю МХа было бы проще все-же откусить под шлюз весь блок FFxx, таким образом, общее озу FF00-FFDF + FFE0-FFFF под порты. Это было бы полезнее в разы, чем тупо 32 байта. Но, у рамфоса там только "достать байт из другой страницы" и соответственно "положить байт в другую страницу". И из-за ограничения места - без учета номера страницы, хотя в коде есть поддержка до 16 страниц (как выяснил и подправил Vinxru).
Для обычной CP/M модель MX приспособить можно - код выполнять в странице эл.диска (любой из), а в страницу 48к (экран) лазить подпрограммой "положить байт в экран". Но не получится нормально сделать поддержку "межбанковый CALL/RET" и нормальную поддержку прерываний, т.к. стек в каждой странице обособлен (общая область мала), и придется часто запрещать прерывания, например каждый раз при выполнении подпрограммы "положить байт в экран", при скроллингах и т.п., а это большой %% времени для графического экрана. В-общем, надо немало выкручиваться, и не факт что все получится красиво.
- - - Добавлено - - -
Я уж не говорю про мелочи мелочи типа блочной пересылки за два LDIR по 128 байт (размер блока в CP/M), а не в цикле по-байтно где время пересылки этих же 128 байт больше на порядок (в случае если таки разместили драйвер или буфер в дополнительной странице).
Последний раз редактировалось Error404; 17.11.2016 в 22:43.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Все в наших руках)
Стартовать нужно не по д хотелки MX. А Специалист дорабатывать в на ше время.
MX – это истрия
И комерческая жилка. Новый бизмесмен (а почему не стартонуть, пипл хавает). Хи
Последний раз редактировалось OrionExt; 18.11.2016 в 00:46.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
Набросал предварительную схемку под FUZIX https://yadi.sk/i/cXL_NbHGysA6b
Порты повторяют адресацию Специалист MX только по IN/OUT .
FCH управляет памятью:
D0 - ROM\RAM
D1 - EXT_RAM ON (1)
D2 - A16 EXT_RAM
D3 - A17 EXT_RAM
D4 - A18 EXT_RAM
D5 - A19 EXT_RAM
D6 - A16 ROM
D7 - A17 ROM
FAH управляет экранами :
D0 - SCR0
D1 - /SCR1
D7 - 384\512
F8H управляет цветом.
ECH 580ВИ53.
E4H 580ВВ55 (программатор SD-контролер VINXRU)
E0H 580ВВ55 (клавиатура)
Карта памяти FULRAM:
0000H - EFFFH переключаемая область .
F000H - FFFFH склеенная находится в основном ОЗУ СЯБРа .
В переключаемой области (размер страниц 60К) по сбросу сразу работает ПЗУ . Далее по надобности софт выберает ПЗУ - ВИДЕО ОЗУ - РАСШИРЕННОЕ ОЗУ. ПЗУ 240К (4 стр. по 60К) . Если конечно столько нужно ? ВИДЕО ОЗУ на основной содержит 3 экранных области . РАСШИРЕННОЕ ОЗУ 1М (16 стр. по 60К)находится на плате мапера ,в принципе может иметь любой размер кратно 60К.
На первый взгляд, удобно, а там жизнь покажет. Все же идеология позволяет вносить изменения.
Такой вопрос: какие блочные устройства (носители) имеются/планируются? Желательно приличных размеров (десятки мегабайт). SD/IDE?
SD от vinxru же ЕМНИП работает через эмуляцию ввода с магнитофона с некой управлялкой? И не может считаться нормальным блочным устройством?
Еще такой вопрос: как адресуется базовая страница (где экраны)? Она в общем поле адресов A16_EXT_RAM...A19_EXT_RAM?
Последний раз редактировалось Error404; 18.11.2016 в 09:50.
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)