User Tag List

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

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

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #8

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    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

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

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

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

Ваши права

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