Ну-ну, за последние несколько лет у меня сложилось противоположное мнение.
Вид для печати
Ну-ну, за последние несколько лет у меня сложилось противоположное мнение.
Если изобретаемый велосипед не будет с квадратными колесами, то с ПО проблема решаема. Просто писать надо не под Спец, а надо Спец влить в семейство где что-то еще пишут. Как вариант - FUZIX/UZIX. Но для них железо должно уметь Z80 с вменяемой частотой (уж никак не 2Мгц), много ОЗУ и маппер ОЗУ с большими страницами - минимум по 32к, а лучше по 60к (или их разновидности с несколькими последовательно расположенными "окнами" меньшего размера). В этом случае единократно адаптируется ядро, а дальше и готовое со стороны приходит, и сам пописываешь и отдаешь людям - двойное удовольствие.
Запугали автора компьютера все мы. Тьфу, тьфу, чтоб не сглазить. SYR-ALEX, как дела?
Прорабатываю варианты с портами по IN/OUT для трёх процессоров . В STD и в MX/MX2 будет порт SYS на чтение и на запись 1-н адрес возможно 00H .
- - - Добавлено - - -
В альтернативном мапере возможно реализовать любую конфигурацию . Z80 на прошивке атмеги на 16Мгц работает 2/4/8Мгц с экраном 384х256. На 20Мгц соотв.2,5/5/10 с экраном 384/480х256 . На 22,118 МГц 2,76/5,529/11,059 с экраном 384/512х256. С частотами проца по-моему всё в шеколаде . Опишите более подробно желаемую конфигурацию памяти.
В Орине для UZIX применялась конфигурация маппера памяти с окном в 60к, выше 60к - "склеенная область" common (собственно, конфигурация стандартная для Ориона из журнала Радио 90/1), насколько я помню, и в FUZIX автор тоже начинал именно на такой же конфигурации (а сейчас их там уже более двух десятков вариантов для разных платформ).
А можно еще в двух словах про Мегу и зависимость разрешения дисплея от ее частот (можно ссылкой на посты ранее)? Дисплейное ОЗУ этого клона в общем ОЗУ или вынесено под управление Меги? Что-нибудь еще повешено на Мегу (например, обслуга SD-карты)?Код:CP/M 64k bank Subsequent 64k banks
FFFF +------------+ +------------+
Common | Common | | Common |+
F000 +------------+ +------------+|+
| CP/M | | |+|+
+------------+ | Process ||+|
Banked | Kernel | | Code |||+
| Code | | & Data ||||
| | | ||||
0100 +------------+ +------------+|||
| Reserved | | Reserved |+||
0000 +------------+ +------------+|+|
+------------+|+
+------------+|
- - - Добавлено - - -
Вот кстати говоря, обратил внимание что FUZIX портирован именно на те процы, которые ты ставил в "миникомп на Z80". Если в твои компики ставить ОЗУ-ху на 512кб (что не сильно усложнит), то FUZIX там самое место.
Опять из Сябра, очередного клона Специалиста хотят сделать велосипед, потеряв неповторимость. Сейчас ПО на Специалист совместимо с Сябром и наоборот, а скоро возникнет обратная несовместимость. Печально.
СЯБР именно так и задумывался " лёгким движением руки ..." . Ставим любимый проц , мапер и входим в нирвану.
Портирование FUZIX и подобных систем только расширит ориал обитания СПЕЦИАЛИСТОВ . А про ПО именно для СЯБРа я ещё не слыхал :v2_dizzy_stupid:
ATMEGA88 в схеме https://yadi.sk/i/j_JhvOp3wY2CF СЯБРа U1 выполняет роль синхрогенератора ТВ сигнала , то есть заменяет родной синхрогенератор с разрешением 384Х256 при PCLK 8Мгц . На этой частоте картинка ровненько вмещается в экран ТВ. В прошивке атмеги на 16Мгц реализован только стандартный экран Специалиста с 9000H по BFFFH (мохром , цвет в теневом ОЗУ через порт) но можно добавить и ещё какойнебуть в пределах 384Х256 ( места во флеше ещё хватает ).В прошивке на 20Мгц PCLK уже 10Мгц , что позволяет вписать в ТВ экран 480 точек по горизонтали и в прошивке на 22,118Мгц PCLK равен 11,059Мгц это 512 точек . Стандартный экран 384Х256 присутствует во всех прошивках по указанному выше адресу . Дополнительные разрешения экрана я придумал сам они конечно же несовместимы со стандартным Специалистом так как перекрывают рабочие ячейки монитора . 480Х256 занимает 8400H-BFFFH и 512Х256 8000H-BFFFH . Экранные облости ростут в низ потому что BFFFH это самый верхний (последний) адрес ОЗУ для стандартного Специалиста 48К. Для сохранения совместимости решил добавить порт-переключалку экранных облостей на подобие Ориона-128 . О этом порте упоминал здесь http://zx-pk.ru/threads/25424-spetsi...l=1#post889717.
Для PC/2 и SD-карты опционалино используются две ATMEGA8 от VINXRU https://github.com/vinxru?tab=repositories.
Подробней о Специалистах у FIFAN http://www.spetsialist-mx.ru/
Архитектура СЯБРа позволяет встроенный STD (стандартный ) мапер заменить на альтернативный MX/MX2 или любую другую конфигурацию памяти и портов без перепайки и резания основной платы за счёт слотовой конструкции .
Для FUZIX конфигурацию понимаю так :CPU Z80, верхняя память (Common) F000H-FFFFH 4K общяя (не переключаемая) для всех страниц ОЗУ , порты на IN/OUT (fool RAM),ПЗУ одна из переключаемых страниц ,экранное (видео) ОЗУ следующая из перключаемых . То есть стр 0-ПЗУ ,стр 1-видео ОЗУ ,стр 2 и 2++ ОЗУ (Process Code & Data и Reserved).
Как то так?
Может, и порт тогда выбрать совместимый? 0FAh -
D0,D1 - номер экрана (0-3): 3=0000..3FFF, 2=4000..7FFF, 0=1=8000..BFFF,
D7 (0/1) - экран 384/512 точек по горизонтали
Да, примерно так.
Можно было бы сделать дополнительный порт (предлагаю 0F9h для совместимости) для страниц по 60к.
Конфигурация по сбросу - Специалист : страница 0 - {48к ОЗУ + 16к ПЗУ}. Работает всё штатное ПО Спеца. С MX видимо как-то посложнее, но принцип тот же - по сбросу режим полной совместимости.
Первая (и соответственно все последующие) запись в порт 0F9h включает в окне 0000...EFFF ОЗУ 64к-страницы, соответствующей выданному номеру порта страницы, а в области F000...FFFF - ОЗУ всегда одной и той же страницы (выбери сам из какой страницы удобнее) - то самое "склеенное ОЗУ". Надо ли делать возможность доступа к 4к-кусочкам из других страниц (которые "накрыты "склеенным") - не знаю, на пример на Орионе я при наличии такой опции ей пока что не пользовался.
Отдельно отмечу: даже в режиме full RAM (всё ОЗУ c "склеенными" верхними 4к), комп все равно остается полностью совместим с классическим Специалистом с той лишь разницей, что выше С000 не ПЗУ, а ОЗУ, в которое если программно скопировать содержимое тех ПЗУ, то пользовательские программы со Cпеца вообще не заметят разницы, зато в дополнительных страницах появляется возможность работы в CP/M и других ОС, которым нужно больше ОЗУ чем 32к. Уменьшается самое главное и почти никак не решаемое ограничение 8080/Z80 - борьба за ОЗУ в адресуемом мизере в 64к (которое в классическом Спеце еще и подрезали до 32к если вычесть экран).
Я правильно понимаю, что всегда надо два корпуса ОЗУ ставить (и тогда надо ставить 512к+512к)? Или это только для конфига MX (где нужна вторая страница ОЗУ на 64к + цвет)?