User Tag List

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

Тема: РАДИО-86РК на Z80

Комбинированный просмотр

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

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

    По умолчанию

    Эмулятор B2M с конфигом для РУ7, предложенный B2M, не работает как следует.

    Диспетчер ОЗУ в окне 8400...BFFF для РУ7 состоит из одной микросхемы КП11, на вход SEL которой заведён адрес A15 от КР580. Такой диспетчер памяти физически работает так.

    При обращении CPU к памяти ниже 8000 с помощью КП11 на адреса памяти A15,A16,A17 подаётся 0, а на адрес памяти A14 подаётся A14 от КР580. Этим в адресах 0...7FFF включается самый младший кусок ОЗУ в 32К, образуя основное базовое ОЗУ.

    При обращении CPU к памяти выше 8000 с помощью КП11 на адреса памяти A14,A15,A16,A17 подаются разряды PC0...PC3 из ППА по адресу F100. Тем самым в адресах 8000...BFFF включается сегмент размером в 16К, чей номер записан в порт C ППА.

    Из-за клавиатуры на 8000, из 16К сегмента видимы только 15К (отступ 400H). Таким образом при записи в ППА числа 0, в окне 8400...BFFF отображается участок 0400...3FFF базового ОЗУ, а при записи в ППА числа 1 в окне 8400...BFFF отображается участок 4400...7FFF базового ОЗУ.

    Эмулятор B2M не включает в окне 8400...BFFF сегмент 1 при записи в ППА числа 01. Т.е основное ОЗУ 4400...7FFF в окне 8400 не включается, сегмент не работает как надо. Этот сегмент оказывается как-бы из абстрактного ОЗУ, никак не связанного с общей памятью. Сегмент 00, т.е кусок ОЗУ 0400...3FFF прекрасно включается в окне 8400. А сегмент 01 не включается.

    Более того, старшая половина расширенного ОЗУ вообще не работает. Мне пришлось потратить уйму времени и написать кучу тестов, чтобы понять почему программы не работают в эмуляторе так, как следует.

    Вот что стоит в конфиге предложенном B2M:

    Код:
    mem1 : Memory {
     size=40000
     frame[0].size=8000
     frame[0].page=DOPPPA.portC[0-3]
    }
    Ошибка в том, что шаг управления памятью здесь равен 8000, а надо 4000.

    А вот как надо, чтобы получить то, что требовалось:

    Код:
    mem1 : Memory {
     size=40000
     frame[0].size=4000
     frame[0].page=DOPPPA.portC[0-3]
    }
    Чтобы убедиться в вышеизложенном достаточно "поставить" в эмуляторе B2M базовое ПЗУ F800 (точнее любое ПЗУ, что не инициализирует порт F102 по WARM BOOT, чтобы можно было менять содержимое порта вручную), записать в F102 число 01, записать директивой M любое число на 4400H и убедиться, что оно не появилось в ячейке 8400. Затем поставьте исправленный конфиг и повторите эксперимент.

    Прилагаю тест архитектуры, а также ПЗУ F800 (то же самое, что и раньше, но на 6 байтов больше свободных ячеек).
    Вложения Вложения
    • Тип файла: rar B2M.rar (46.7 Кб, Просмотров: 199)
    Последний раз редактировалось barsik; 01.02.2017 в 13:26.

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

  3. #2

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,927
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Ошибка в том, что шаг управления памятью здесь равен 8000, а надо 4000.

    А вот как надо, чтобы получить то, что требовалось:
    Ты всё напутал Сначала ты просил окно 15Кб по адресам 8400-BFFF, потом просил коммутацию по пол-банки в адресах 0000-7FFF, то есть 32Кб. Я тебе привёл пример в сообщении #213 и выделил красным то, что необходимо для 32Кб окна. Там размер окна 8000 (hex). А для другого окна (которое 16Кб с перекрытым нулевым килобайтом) стоит размер 4000 (hex).

    А в твоём примере выше - нет коммутации по 32Кб в адресах 0000-7FFF. Но если так надо - пожалуйста, я не настаиваю

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

    Цитата Сообщение от barsik Посмотреть сообщение
    Вот что стоит в конфиге предложенном B2M:
    В каком сообщении я это предлагал?
    Последний раз редактировалось b2m; 31.01.2017 в 12:46.

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

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

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

Похожие темы

  1. Радио-86РК: Видеовыход
    от m.d. в разделе Радио-86РК
    Ответов: 13
    Последнее: 21.05.2015, 08:19
  2. Радио-86РК: По страницам журнала "Радио"
    от Viktor2312 в разделе Радио-86РК
    Ответов: 79
    Последнее: 13.02.2014, 08:34
  3. эмулятор радио-86рк
    от sergey2b в разделе Эмуляторы отечественных компьютеров
    Ответов: 4
    Последнее: 09.06.2011, 15:59
  4. Радио 86РК
    от Shnurkov в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 02.01.2009, 12:52

Ваши права

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