User Tag List

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

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

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

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

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

    По умолчанию

    Цитата Сообщение от alexm-1970
    Цитата Сообщение от NEO-SPECTRUMAN
    А софтовый эмулятор РК86 на Спектруме был?
    Вряд-ли он был. Да и написать его на Спектруме... ну не то чтобы невозможно, но результат будет...
    На Spectrum программного эмулятора РК86 не было. Потому что никому было не надо. Из 8-ми разрядок эмулятор РК есть только для ОРИОНА на Z80. На ОРИОНЕ нужна доработка, чтобы в области F800 программно можно было включить второе ПЗУ. Т.е в в области F800 должны быть 2 страницы ПЗУ по 2К. На этом и основан эмулятор РК86. Скорость эмулируемого процессора получается даже на ОРИОНЕ 5 МГЦ всего 150 КГЦ. Несмотря на это, игры работают с нормальной скоростью, а вот текстовые редакторы и ассемблеры дико тормозят. В описании из вложения это объяснено. Картинки эмулятора РК на ОРИОНЕ на Z80: http://barsik.ut88.ru/Screen_Shots.rar

    Думаю, что можно на том же самом тормозном железе сделать эмуляцию КР580 на Z80 намного быстрее. Например, имея исходник РК-программы можно вставить упр.коды, например NOP-команду 'LD A,A', и RST. Тогда встретив код 'LD A,A', эмулятор прекращает эмуляцию и делает JMP на следующую команду, а по RST возвращается в эмулятор. Тем самым, участки, где точно нет записи в экран, мы прогоняем на максимальной скорости, раза в 3 быстрее чем реальный РК86. Например, если мы точно знаем, что вызывается подпрограмма, в которой нет, ни прямых записей в экран, ни чтений порта клавиатуры, то перед этой командой CALL вставляем код LD A,A, а после неё код RST. Тогда истратив всего 2 байта мы прогоняем подпрограмму на скорости Z80.

    А для PC давно пора сделать конвертор программ РК86 в код для PC. Это конвертор просто берёт игру РК86 и подключает к ней код стартёра, делая COM-файл, программу для MSDOS. При запуске этого COM-файла в этом же каталоге ищется файл RK86.EMU и запускается для эмуляции игры РК86. Эту же идею надо реализовать и для других 8-ми разрядок. А то в традиционном эмуляторе эмулируют ДОС или загрузку с МГ, что излишне, если надо только запустить игру.

    Цитата Сообщение от NEO-SPECTRUMAN
    В самом простом случае, нужно переписать ПЗУ-шку РК
    Только за счёт замены ПЗУ F800, чтобы вызовы CONOUT F809 выводили символы на экран ZX, будет прогон только корректных программ, что работают только подпрограммами ПЗУ. А это лишь редактор, ассемблер и отладчик и пара корректных игр. Чтобы была эмуляция прямой записи в экран РК 76D0...7FFF, надо эмулировать покомандно. Что позволяет не только верно эмулировать отличия команд Z80 от КР580, но и отлавливать команды с записью в экранное ОЗУ и команды работы с портом клавиатуры.

    Цитата Сообщение от NEO-SPECTRUMAN
    полноценно эмулировать РК сейчас даже на PC не умеют, не то что на Спектруме...
    При эмуляции РК нужно эмулировать команды задания режима ВГ75 и соответственно перестраивать режим визуализации. А так как ВГ75 можно запрограммивать десятком способов, то это не так просто. Но кажется, что на PC всё же добились эмуляции ВГ75 для всех игр, в том числе и графических. Но можно запрограммировать ВГ75 так, что эмулятор не сработает.

    Цитата Сообщение от NEO-SPECTRUMAN
    на "резинке" маловато своей памяти. На нём вряд-ли удастся написать эмуль РК-шки с 32К памяти только 16К
    Сам код эмулятора занимает почти 15 кб, 32 кб - эмулируемое ОЗУ РК86, а ведь ещё нужен ZX-экран. Но проблема не в количестве, а ОЗУ должно быть на месте ПЗУ ZX. Есть ZX-клоны, где есть CP/M. Для чего ПЗУ отключается, а экран переносится выше C000. Вот на таком клоне эмулятор РК сделать несложно,. Если кто-то возьмётся это сделать, я предоставлю исходник блока эмуляции КР580 на Z80.

    Цитата Сообщение от b2m
    Ты всё напутал
    Да, признаю. Легко напутать, когда не понимаешь сути.

    Пытался получить полубанковую коммутацию и экран выше 8000, а когда убедился, что это не работает, то отказался от этого. А т.к экспериментировал много, то файлов конфигурации накопилось ~20. В большинстве файлов удалил строки правильно, а кое-где забыл 1 цифру. Оттого, то работало, то нет. В итоге, оставил один файл конфигурации, а он как раз и оказался не до конца исправленным.
    Вложения Вложения
    Последний раз редактировалось barsik; 15.02.2017 в 00:34.

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

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

Эту тему просматривают: 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

Ваши права

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