Вложений: 1
Что же предложил изобретатель
Л. Афанасьев?
Пакет ПО -"Специалист МХ-RAMFOS", избавляющий пользователей от проблем с совместимостью различных Мониторов.
и сейчас читать о несовместимости МХ и стандартного спеца -? неправильно
гдето закралась ошибка)
Вложение 48153
М-К, 1991, номер 3, страница 42
PS тоесть, судя по этой единственной журнальной публикации, Специалист МХ является расширенным вариантом ПК Специалист, совместимым со всеми существующими вариантами стандартных спецов и Мониторов, плюс некая совместимость с Орион-128
возможен ли эмулятор ZX на СПЕЦИАЛИСТЕ
Цитата:
Сообщение от zx_
а можно эмулятор спектрума 48 спецу сделать, как у вектора? софтово- железный
Теоретически сделать эмулятор на NMI вполне возможно. Это реально и даже не так уж сложно.
Но получится довольно громоздко и в цвете, из-за особенности организации цвета в СПЕЦИАЛИСТЕ, - очень медленно. Гораздо проще и качественнее это делается для ОРИОНА на Z80 с окном в 16 кб.
Эмулятор делается только на доработанный СПЕЦИАЛИСТ. Доработка делается для того чтобы
- поставить Z80 вместо КР580, причём с портами (желательно на такте 4-5 МГЦ без WAIT)
- получить сплошное ОЗУ 64 кб (FULL RAM)
- получить 16 полноценных цветов как у ОРИОНА
- поставить ПЗУ содержащее ZX-ROM 16 кб с адрес 0
- ввести аппаратные порты ZX-клавиатуры и джойстика
- подключить любую клавиатуру с матрицей 5*8
Z80 без Турбо ставится без проблем за час труда. Сплошное ОЗУ 64К без проблем получается при введении второй банки РУ5-тых. Основной проблемой, как ни странно, является цвет.
Потому что цвет СПЕЦИАЛИСТА с программно недоступным ОЗУ цвета, неудобен для такой задачи. Даже не потому, что имеет не по 16 цветов для INK и PAPER. А из-за принципа его организации.
Цвет ОРИОНА подходит для этого гораздо лучше. При записи всего 1 байта в ОЗУ атрибутов в ZX раскрашивается целое знакоместо 8*8 точек. На ОРИОНЕ это эмулируется записью 8-ми байтов в плоскость цвета. А вот на СПЕЦИАЛИСТЕ придётся не только писать 8 байтов, но и предварительно читать их. Т.к СПЕЦИАЛИСТ не имеет программно доступного отдельного ОЗУ цвета. Цвет переписывается из регистра цвета автоматически при записи экранного байта в ОЗУ экранной графики. Т.е мы можем записывать цвет только одновременно с графикой. Для чего байт графики придётся сначала считать, затем занести нужный цвет в регистр цвета и снова записать байт графики в экранное ОЗУ. В итоге, там где ZX делает всего 1 команду Z80, на эмулирующем СПЕЦИАЛИСТЕ придётся сделать более полусотни команд.
А при записи байта графики в экранное ОЗУ ZX возникает та же проблема. Сначала придётся считать цветовой атрибут соответствующий позиции экранного байта ZX (для чего адрес атрибута придётся сначала рассчитать), затем занести его в регистр цвета СПЕЦИАЛИСТА и только затем записать байт графики в экран СПЕЦИАЛИСТА.
Ещё одной причиной для тормоза станет отсутствие диспетчера ОЗУ, как в Z80CARD-II, который позволяет в одном адресном пространстве находиться и экрану ZX и экрану ОРИОНА и программе визуализации. А на СПЕЦИАЛИСТЕ, не имеющем диспетчера ОЗУ, экран ZX находится в одной банке, экран СПЕЦИАЛИСТА в другой. Для визуализации каждого экранного байта из экрана ZX придётся переключать банки, что также существенно тормознёт. Из-за этого требования к быстродействию Z80 к эмулятору на СПЕЦИАЛИСТЕ будут вдвое выше, чем к эмулятору на ОРИОНЕ. И программа визуализации на СПЕЦИАЛИСТЕ будет намного сложнее.
Ставить ПЗУ Синклера требуется потому, что без ПЗУ не существует способа перенести программу в другую банку где вся память ОЗУ. Если есть способ иметь отключаемое ПЗУ в других адресах, то можно перегружать ZX-ROM в банку 1 на адрес 0, и тогда необходимости иметь ZX-ROM в ПЗУ нет.
Эмуляция без цвета делается намного проще и для неё хватит скорости Z80 всего в 4 МГЦ. Если в СПЕЦИАЛИСТЕ уже есть режим FULL RAM в банке 0, то чтобы гонять ROM-бейсик ZX и игры от ZX-16К, можно сделать доработку всего за пару часов. Тогда в системный разъём втыкается простая платка содержащая порт ZX-клавиатуры, ZX-порт магнитофона и элементы обеспечивающие прерывания INT и NMI. В такой системе можно использовать программы ZX, которые не портят ОЗУ выше 9000, т.е только игры для 16-ти килобайтовой версии.
Но, даже такой эмулятор на 16К имеет смысл, т.к даже 16-ти килобайтовых ZX-игр больше, чем имеется качественных игр СПЕЦИАЛИСТА. Чтобы сделать эмулятор на 48 кб, в СПЕЦИАЛИСТ надо поставить вторую банку ОЗУ, что тоже несложно делается (особенно, если это делать заменой РУ5 на РУ7).
Пост написан специально для разъяснения цвета СПЕЦИАЛИСТА