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

User Tag List

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

Тема: Тем, кто разрабатывает новые платы ZX.

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Master
    Регистрация
    27.01.2005
    Сообщений
    917
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    181
    Поблагодарили
    146 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Тем, кто разрабатывает новые платы ZX.

    Несколько соображений и идей по разработке плат.
    Во-первых - нужна кооперация. А то каждый варится в собственном соку и, в итоге, получаются одни и те же по функциям, несовместимые разработки.
    Во-вторых - несколько конкретных идей.
    1. Существенное ограничение процессора Z80 - это доступ лишь к 64к памяти. Я немного помозговал и придумал вот что: Если на шину адреса повесить сумматор, который на входе получает 16 бит с щины данных и, скажем 24 бита с некоего 24хбитного регистра базового адреса, а на выходе сумматора - 24хбитная сумма, то можно полностью виртуализовать адресное пространство. То есть все программы могут получить столько памяти сколько им надо, причем не надо будет соблюдать кратность странице. То есть неважно будет с какого адреса программа должна запускаться и в какой она загружена. В идеале можно добавить еще и регистр конечного адреса и контролировать куда обращается программа. В случае, если произошел выход за пределы диапазона адресов - генерится прерывание.
    Для совместимости оставить порт расширения 128к, но порт будет выбирать не страницу памяти напрямую, а регистр базового адреса этой страницы.
    Вообще я думаю, что для каждого окна адресного пространства процессора в 16К нужен свой регистр базового адреса. Таким образом получаем необходимость иметь 8 регистров базового адреса (8 страниц по 16 к). Плюс к этому хочется иметь возможность аппаратно запретить запись в любое из 4х окон (для эмуляции ПЗУ).
    Насколько я понимаю организовать сумматор 16 + 24 и схему управления на ПЛИС несложно.
    Разумеется, изначально (после рестарта) сумматор отключен и доступна только память 48к. После включения, биос программирует все порты расширения и переходит к выполнению программ пользователя.
    Для того чтобы программы пользователя не конфликтовали с портами расширения - порты должны быть доступны только из первых 16к ОЗУ, которые раз и навсегда отдаются для биоса и ОС.
    Для нормального функционирования ОС можно организовать перехват rst0. оно как правило не используется. При появлении на шине выборки команды rst0 происходит отключение сумматора и переход в режим "система". После обработки запроса пользовательской программы - выход обратно.

    Преимущества:
    - каждой программе можно выделить до 64к в безвозмездное пользование.
    - Экономия памяти. (если программа занимает 2к - то 2 к ей и выделиться. Никакого страничного выделения по 16 К).
    - Легко реализуется многозадачность. ( Если на NMI вешаем таймер )
    - Совместимость с режимом Spectrum.
    - удобство в отладке - программа не может ничего порущить за пределами выделенного ей диапазона адресов.
    Мысли пока немного сумбурные - но надеюсь идея понятна.

    2. Обязятельно поддержать расширенные режимы экрана. Идей много у народа всяких было - но опять таки - несогласованность с другими все портит. Вообще ( на сегодняшний день) надо учитывать, что vga-мониторы гораздо более доступны, чем EGA. Так что вполне можно ввести расширения для них, а не только на телевизор. Скажем экраны 512х384, 64x48 символов в строке. 8битный цвет и т.п.

    3. Турбо-режим наверное надо ограничить двумя скоростями 4МГЦ(для совместимости) - Максимум(для работы).

    4. Звук. Поставить небольшой и дешевый контроллер типа ATMEGA+ ОЗУ к нему. Причем предусмотреть режим эмуляции AY (все равно их сейчас не найдешь).

    Вот такие мысли. Пусть все кто пожелает - критикуют их и высказывают свои идеи. Так хоть обсудим что сделать чтобы не изобретать кучу велосипедов.

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

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

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

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

Ваши права

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