Важная информация

User Tag List

Показано с 1 по 10 из 10

Тема: Что же предложил изобретатель

  1. #1
    zx_
    Гость

    По умолчанию Что же предложил изобретатель

    Л. Афанасьев?
    Пакет ПО -"Специалист МХ-RAMFOS", избавляющий пользователей от проблем с совместимостью различных Мониторов.

    и сейчас читать о несовместимости МХ и стандартного спеца -? неправильно
    гдето закралась ошибка)

    Нажмите на изображение для увеличения. 

Название:	mk1991_03.jpg 
Просмотров:	555 
Размер:	80.9 Кб 
ID:	48153


    М-К, 1991, номер 3, страница 42

    PS тоесть, судя по этой единственной журнальной публикации, Специалист МХ является расширенным вариантом ПК Специалист, совместимым со всеми существующими вариантами стандартных спецов и Мониторов, плюс некая совместимость с Орион-128
    Последний раз редактировалось zx_; 29.05.2014 в 13:08.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию


  4. #3
    zx_
    Гость

    По умолчанию

    исходники рамфос есть ведь?

    или можно попросить fifan обратиться к Афанасьеву , с просьбой продать, выложить исходники

  5. #4
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,164
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    70 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx_ Посмотреть сообщение
    исходники рамфос есть ведь?

    или можно попросить fifan обратиться к Афанасьеву , с просьбой продать, выложить исходники
    Есть на сайте.

  6. #5
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, это же не оригинал а реверс. От Винксру он хотя-бы с объяснением кусков кода.

  7. #6
    zx_
    Гость

    По умолчанию

    HardWareMan, реверс понятно, а от автора уже ничего нет?

    только один способ есть все это проверить, да

    а слабо эмулятор спектрума 48 спецу сделать, как у вектора? софтово- железный

  8. #7
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию возможен ли эмулятор 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).

    Пост написан специально для разъяснения цвета СПЕЦИАЛИСТА
    Последний раз редактировалось barsik; 07.12.2017 в 11:52.

  9. #8
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А если так:
    - Z80 (понятно, без него никак)

    - от цветного режима отказываемся (да, это печальное упущение, но кардинально упрощает - см. ниже, особенно учитывая что цвет "большими квадратиками" не совсем то, за что следует бороться "до последнего инженера" ИМХО, вон на Орионе были же ч/б адптации от Спека типа Jet-Set, Moonfox - и нормально выглядело, особенно в сравнении с примитивными играми, источником которых был оригинальный Специалист)

    - добавляем ПЗУ 16кб с SOS спектрума в странице 0 (будем делить адресное пространство 16к-шными страницами), дополненой неким кодом (добавляется несколько Специалисто-специфических подпрограмм обработки NMI), диспетчер 16к в окне 8000..BFFF и full-RAM. Получаем 2 режима:
    * стандартный Специалист, в котором имеем доступ сразу и к Спектрумовскому экрану (он "удачно" лежит в 16к-шной странице 1 и ничем не перекрыт) и к Специалистовскому (с 9000 в 16к-шной странице 2), т.е. основной NMI-процедуре (ее разместить в области 8000..8FFF, в режиме "Спек" спрятанной как и родной экран), перекодирующей экраны и клавиатуру, не надо щелкать страницами в процессе конвертации,
    * режим 16кб ПЗУ + 64к ОЗУ когда по адресу 0..3FFF включено дополнительное ПЗУ, включен режим FullRAM (доступ к ОЗУ с С000), а подПЗУшечное ОЗУ коммутируем с 0000 на 8000 (чтобы накрыть им экран Спеца, так некстати размещенный автором в середине адресного пространства) - имеем ПЗУ + 48к сплошного ОЗУ в верхних адресах как и надо для Спека

    - таки еще нужно ОЗУ не менее 256 байт, выбирающееся IN/OUT по A8..A15 порта FE (по NMI заполнять его аналогом актуального состояния матрицы клавиатуры Спека, чтобы ПО Спека читало из "клавиатуры" без правок Спековского кода)

    Всё поместилось в штатные 64кб ОЗУ Спеца. Из доп оборудования - одна ПЗУ неменее 16кб объемом, одна статическая ОЗУ 256х8 или более, одна КП11 для диспетчера ОЗУ 16кб в окне 8000, и какой-то минимум логики для обвязки этих доработок. А вот если планировать какую-то нормальную ОС, а не огрызок живущий в 32кб, то тут уже нужна доп. страница ОЗУ, других путей получить 64к ОЗУ для ОС, сохранив штатный экран, я не вижу.

    Кстати, поскольку доп. ПЗУ будет как минимум W27С512 (других сейчас не достать, да и смысла нет искать 27128), то в нем можно сделать переключаемые страницы (выбирать их тем же портом диспетчера что и страницы ОЗУ), и как результат - конфигурацию режима 2 (ПЗУ+64кб ОЗУ) можно использовать для разработки чего-то более интересного чем эмулятор Спектрума48 - всяко пользовательскому процессу тут отдается ОЗУ_48к+ОЗУ_4к+Экран_12к что куда как интереснее чем в оригинальном Специалисте с его ОЗУ_36к+Экран_12к. Да, ПЗУ в этом варианте оказывается на неудобном для CP/M адресе 0000, но на CP/M же свет клином не сошелся. Или можно ввести бит порта диспетчера, отключающий ПЗУ с 0000. Тогда экран 9000 можно закрывать 16к страницей 3 (которая под портами) и поиметь 48к сплошного ОЗУ начиная с 0000 (на Орионе столько хватало для версий CP/M 48к, работавших в странице 0 ниже экрана С000, а тут у нас есть же еще 4кб "ниже экрана 9000", куда можно вынести почти весь BDOS и получить TPA в 44кб)


    Ну или уже обсуждавшийся вариант с двумя 64к-шными страницами ОЗУ. В этом случае SOS Спектрума будет в ОЗУ, а не ПЗУ (весь "эмулятор в дополнительной странице"), и на выходе мы имеем почти Орион-128. Делать ли в этом варианте диспетчер по 16кб - тут надо подумать, возможно для ч/б можно и обойтись. Этот вариант хорош тем, что кроме эмуляции Спектрума, во второй 64к странице еще можно и CP/M запускать с полноценного объема TPA.
    Последний раз редактировалось Error404; 07.12.2017 в 13:09.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  10. #9
    zx_
    Гость

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Всё поместилось в штатные 64кб ОЗУ Спеца. Из доп оборудования - одна ПЗУ неменее 16кб объемом, одна статическая ОЗУ 256х8 или более, одна КП11 для диспетчера ОЗУ 16кб в окне 8000, и какой-то минимум логики для обвязки этих доработок. А вот если планировать какую-то нормальную ОС, а не огрызок живущий в 32кб,
    нене! минимум миниморе, всякие ОС это не к эму
    как можно меньше деталей , все в духе того времени.

    - - - Добавлено - - -

    Цитата Сообщение от barsik Посмотреть сообщение
    цвета в СПЕЦИАЛИСТЕ, - очень медленно
    цвет в Специалисте как раз быстр, со скоростью чб

  11. #10
    Banned
    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx_
    цвет в Специалисте как раз быстр, со скоростью ч/белого
    Да, когда надо выводить много-чего в одном цвете, например, одноцветные символы, то скорость из-за цвета не страдает.

    Но когда выводится многоцветная картинка, то приходится часто перезагружать регистр цвета и скорость упадёт (в зависимости от картинки) возможно на 20-50%. Но все-равно будет быстрее, чем полноценный цвет ОРИОНА.

    Впрочем, у СПЕЦИАЛИСТА журнальный цвет такой убогий, что всё одноцветное, - например, по синему лабиринту на чёрном фоне бегают зеленые ксониксы и красные жорики. А одноцветные спрайты действительно тормозят очень мало.

    Но в случае апп.эмулятора концепция А.Волкова неудачна. По отношению к ОРИОНУ, - видимо вдвое, а то и втрое тормознее.

    Цитата Сообщение от error404
    таки еще нужно ОЗУ не менее 256 байт, выбирающееся IN/OUT по A8..A15 порта FE (по NMI заполнять его аналогом актуального состояния матрицы клавиатуры Спека, чтобы ПО Спека читало из "клавиатуры" без правок Спековского кода)
    Ну да, идея эмулировать и ZX-клавиатуру, чтоб не ставить родную, - хороша для конечного пользователя, но слишком утомляет разработчика. По мне, если есть ZX-клавиатура, проще припаять две КП11 для неё и джойстика и не трахаться. Схема станет громоздкой если эмулировать.

    Вы хотите вводить полноценный диспетчер с окном 16К в адресах 8000...BFFF, с целью закрыть экран СПЕЦИАЛИСТА. Вы не в курсе насколько ретроградный контингент на СПЕЦИАЛИСТЕ. У "старичков" уже руки трясутся, да и энергии нет, а у молодёжи у некоторых "руки крюки", а у остальных просто другое хобби (собирать только официальное, т.е журнальное).

    Поэтому годится всё только самое простое, самый возможный минимум. По этой же причине клавиатура и джойстик д.быть реальные. Диспетчер не пойдет (это разрезы на плате).

    Зато пойдёт замена ОЗУ 8000...FFFF куском из другой банки (можно 62256 с ИР23 для защёлки адресов по /RAS). Это одновременно решает проблему FULL RAM, т.к при этом из адр.пространства убирается ПЗУ C000 и В/У F800...FFFF. Для эмулятора такой вариант избавляет ZX-ROM в ПЗУ.

    Потому что

    Цитата Сообщение от error404
    добавляем ПЗУ 16 кб с SOS спектрума в странице 0 (будем делить адресное пространство 16К-шными страницами), дополненой неким кодом (добавляется несколько специалисто-специфических подпрограмм обработки NMI), диспетчер 16К в окне 8000...BFFF и FULL-RAM
    ПЗУ с ZX-ROM не нужно, раз уж дело происходит в банке 0, какая проблема, находясь ещё в стандартной конфигурации загрузить его в ОЗУ? А программа визуализации прекрасно умещается в ZX-ROM. Оказывается в конце ZX-ROM до хрена свободного места, спасибо дяденьке сэру Клайву.

    Цитата Сообщение от error404
    если планировать какую-то нормальную ОС
    Это уже не по теме. Для эмуляции игры DOS не нужна.

    Но надо быть реалистом. Реально, т.е не очень утомительно, сделать эмулятор на 16 кб. Но тут вопрос в том, можно ли в наши дни достать такие игры на 16К и желательно чёрно-белые? У меня как раз одна плата СПЕЦИАЛИСТА на Z80. Собирался заменить назад на КР580 (т.к Z80 на СПЕЦИАЛИСТЕ не приветствуется). Но возможно, из чисто спортивного интереса (попозже, когда закончу с RK-DOS для СПЕЦИАЛИСТА) сделаю эмулятор ZX-16К, чтобы погонять ZX-бейсик. Если скорости хватит и других проблем не будет, то возможно сделаю закрытие области 8000...FFFF памятью из второй банки, что даст ZX-48К.

    Диспетчер сделать нельзя, а вот подменять половинки по 32К кусками из второй банки можно.

    Цитата Сообщение от error404
    были же ч/б адаптации от Спека типа "MOONFOX"
    Не, MOONFOX не конверсия от ZX, а написано с нуля А.Новгородовым для КР580. Об этом легко догадаться потому что там два экрана (в ZX всего 1 экран). Оттого панорамирование всего экрана без мельканий, - один экран отображается, на втором картинка модифицируется, потом меняются местами. Цвет планировался, но для панорамирования в цвете просто не хватило скорости. Мне кажется и у Синклера подобные игры чёрно-белые.
    Последний раз редактировалось barsik; 02.03.2018 в 11:07.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •