User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 30

Тема: Эмуляция 8080 на z80

  1. #11

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    ну, во-первых, очевидно не самый быстрый...
    аха
    ну давай быстрее
    вариант когда tab адрес есть в другом регистре не предлагать
    так любой дурак сможет за неделю
    на изичах

  2. #12

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    аха
    ну давай быстрее
    вариант когда tab адрес есть в другом регистре не предлагать
    так любой дурак сможет за неделю
    на изичах
    kek, на изичах без адреса в регистре:
    Код:
    inc h
    ld h,(hl)
    jp (hl)
    Прихожу без разрешения, сею смерть и разрушение...

    Этот пользователь поблагодарил Lethargeek за это полезное сообщение:

    ivagor(25.03.2021)

  3. #13

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    kek, на изичах без адреса в регистре:
    Код:
    inc h
    ld h,(hl)
    jp (hl)
    отлично
    у тебя в h был старший адрес кода эмуляции предыдущей команды
    который неизвестен
    ты его взял и проинкрементил
    потом прочитал что то неизвестно от куда
    и перешел неизвестно куда то
    конец немного предсказуем
    Последний раз редактировалось NEO SPECTRUMAN; 23.03.2021 в 21:41.

  4. #14

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    у тебя в h был старший адрес кода эмуляции предыдущей команды
    который неизвестен
    ты его взял и проинкрементил
    потом прочитал что то неизвестно от куда
    низачот, помедитируй до просветления ведь всего три строчки, это несложно
    Прихожу без разрешения, сею смерть и разрушение...

  5. #15

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    кстате может получитсо сделать быстрее
    если читалка будет префетчить сразу несколько байт в регистры
    для эмулятора 8080 на z80 это вполне возможно
    но тогда заметно усложнится код каждой команды
    и появятся болшие трудности с реализацией простых и эффективных оптимизаций декодера...
    от которых скорей всего будет больше толку....

    написал\прикинул вариант с префетчем 3 байт
    получилось на 8 тактов дольше на каждый считанный байт
    кроме того в случае rst и ret будет лишнее чтение...

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

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    низачот, помедитируй до просветления ведь всего три строчки, это несложно
    помедетировал
    до быстрей НО
    ты предлагаешь 256 256 байтных таблиц
    или около того
    сам умножишь?

    мало того я и не знаю как такое скомпилировать
    ADP такое ниасилит...

    хотя в принципе можно жестко извратится и написать
    за каждой командой зарезервировать место (точнее "расческой")
    собрать сначала одну таблицу
    а потом продублировать ее 256 раз
    должно будет получитсо

    конечно за 256 я преувеличил
    и для мелких команд это вполне реализуемо
    но все равно памяти это будет жрать дохренище
    Последний раз редактировалось NEO SPECTRUMAN; 23.03.2021 в 22:36.

  6. #16

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    конечно за 256 я преувеличил
    и для мелких команд это вполне реализуемо
    но все равно памяти это будет жрать дохренище
    плохо медитировал, давай заново всего чуть менее чем вдвое больше табличной памяти
    и еще чуть меньше 2+ наборов таблиц (которые могут помочь, в частности, с проблемой несовместимости parity)
    Прихожу без разрешения, сею смерть и разрушение...

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

  8. #17

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    (типа как здесь).
    кстате есть упоминание существования (незавершенного) эмулятора геймбоя для sam coupe SAM2GB
    (по моему не для базовой конфигурации)
    но найти каких то реальных файлов мне не удалось...

    да и SAM Revival 19 тоже не удалось найти
    а там на эту тему что то было написано


    https://sam.speccy.cz/revivalmag.html
    https://www.samcoupe.com/
    https://www.worldofsam.org/products/sam2gb
    https://web.archive.org/web/20160324...om/sam2_gb.htm

    дето находил еще картинки но щас потерял
    Последний раз редактировалось NEO SPECTRUMAN; 25.03.2021 в 12:41.

    Этот пользователь поблагодарил NEO SPECTRUMAN за это полезное сообщение:

    ivagor(24.03.2021)

  9. #18

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    1. Добавил еще один бенч и точно измерил замедление (сравнение скорости везде с 8080 2 МГц) для вчерашней версии:
    Мона - медленнее в 15.45 раз
    Расчет Пи (100 цифр) - медленнее в 12.38 раз
    Скорее всего в Пи сказывается большое количество dad, которые эмулируются просто и быстро.

    2. Пробежался по командам: доделал то, что вчера ленился доделывать; оптимизировал и другое, что заметил; убрал самомодифицирующийся код.
    Мона - медленнее в 13.54 раз
    Расчет Пи (100 цифр) - медленнее в 10.84 раз
    Этот вариант еще и короче, чем в п.1

    3. Из спортивного интереса вне конкурса попробовал коррекцию флага четности в двух вариантах - полный медленный и упрощенный (портит флаг полупереноса) быстрый. Быстрый между п.1 и п.2, а вот медленный заметно уступает даже п.1. Оригинальные бейсики работают с обоими вариантами, но при такой скорости и наличии адаптированных к z80 бейсиков не вижу смысла в коррекции флага четности.

  10. #19

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Расчет Пи (100 цифр)
    все это на словах
    давай сами тесты
    чтоб мы тоже могли померять длину попугаев\разы

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Расчет Пи (100 цифр) - медленнее в 10.84 раз
    а сколько у тебя раз выполняется nop?

  11. #20

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,391
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробовал предложение Lethargeek, с ним быстрее на процент с копейками.
    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    все это на словах
    Пока можно считать фейком.
    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а сколько у тебя раз выполняется nop?
    Есть ли в пи нопы и сколько их там - не считал, это версия 2015 года, я с тех пор запомнил только общие моменты, не такие частности.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Z80 => 8080 адаптация
    от NEO SPECTRUMAN в разделе Программирование
    Ответов: 22
    Последнее: 22.06.2021, 18:12
  2. схема АОН на 8080/z80
    от sergey2b в разделе Разный софт
    Ответов: 7
    Последнее: 07.02.2010, 22:43
  3. эмуляция Z80: тайминг
    от boo_boo в разделе Эмуляторы
    Ответов: 5
    Последнее: 06.02.2006, 13:29
  4. An 8080/Z80 C Compiler
    от breeze в разделе Программирование
    Ответов: 1
    Последнее: 18.08.2005, 06:54

Ваши права

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