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

User Tag List

Страница 2 из 5 ПерваяПервая 12345 ПоследняяПоследняя
Показано с 11 по 20 из 46

Тема: Специалист: эмуляция

  1. #11
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,164
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    70 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашёл небольшую недоработку в файле Flash-диска подключаемого к конфигурации Специалиста_МХ2. В файле MX2 SET8C, подключаемого как внешний Flash-диск (IvagorTim0xaGam8c.rom) есть опечатка для перехода к режиму цветов из 5 в 8 необходимо оперировать с регистром #f7fa, а не с #fffa. Т.е. в данный регистр нужно записать число D1=1. Вот скриншот доработки. Почему-то с этой опечаткой у меня не переключался цвет из 5 в 8 и не работала игра Color Lines от Vinxru (не сгорали построенные линии). Я сделал большой файл Flash-диска, который вмещает в себя 25 файлов и занимает 227 кБайт. Напомню, что данный Flash-диск на реале подключается при помощи данной схемы к Специалисту_МХ2.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	flasdisk_cor.jpg 
Просмотров:	169 
Размер:	77.4 Кб 
ID:	59422  
    Вложения Вложения
    Последний раз редактировалось fifan; 28.01.2017 в 07:41.

  2. #12
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,164
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    70 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Никто не сказал мне что файл косячный - несколько программ не запускалось. Перезалил - пользуйтесь.

  3. #13
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,544
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    384
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    382 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сегодня получил вот такую картинку



    Чистый Python. Начал писать эмулятор Спектрума, а когда сделал эмуляцию первых 256 команд Z80, подумал, что уже могу начать эмулировать свой первый компьютер "Специалист".
    С уважением, Станислав.

  4. #14
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,544
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    384
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    382 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дело потихоньку движется. Конечно, тормоза удручают. Всё-таки по своей сути этот эмулятор - скрипт. Но у меня пока ещё есть, что оптимизировать

    Последний раз редактировалось CityAceE; 17.12.2018 в 06:40.
    С уважением, Станислав.

  5. #15
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну ты красавчик, запитонил Спеца. А еще существует жаба версия, кстати.

  6. #16
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,544
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    384
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    382 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    По следам эмуляции клавиатуры Специалиста написал небольшую заметку.

    А ещё в процессе разбирательства обнаружил ошибку на сайте @fifan. Таблица на этой странице должна выглядеть так:

    С уважением, Станислав.

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

  8. #17
    Moderator Аватар для fifan
    Регистрация
    30.05.2007
    Адрес
    г. Лянтор, Сургутского р-на, ХМАО
    Сообщений
    4,164
    Спасибо Благодарностей отдано 
    106
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    70 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Номера столбцов перепишу, наверное уже ближе к новому году. За указанную опечатку спасибо.

    Кстати и эту таблицу нужно переделать. Там кстати есть более чёткий рисунок подключения столбцов и строк клавиатуры к ВВ55.
    Последний раз редактировалось fifan; 18.12.2018 в 07:07.

  9. #18
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,544
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    384
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    382 сообщений
    Mentioned
    48 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Намучился с запуском BASIC. Я-то изначально делал эмуляцию Z80 по таблицам от Z80. И после того, как завершил 256 команд начали запускаться почти все игры. Если не брать во внимание ошибки, которые я сделал, то остались незапускаемыми только ADSKOK и BASIC.

    ADSKOK я в итоге запустил. Там была проблема с флагами. Кто ж мог предположить, что если сделать PUSH BC, а потом тут же POP AF, то С ни разу не будет равен А! Из-за этого пришлось шерстить всю таблицу и проверять как на i8080 эмулируются флаги. Нашлось немало отличий от Z80! Всё, что нашёл исправил. В результате ADSKOK запустился таки. Оказалось, что программа имеет нечто типа защиты - при первом запуске код раскодируется, как раз с помощью всевозможных команд, которые используют флаги отличные от Z80, в том числе встречается и вышеупомянутая последовательность PUSH BC, POP AF. Но с BASIC пока всё плохо. Упёрся во флаг полупериноса.

    Может быть уважаемый @Pyk внесёт ясность, эмулятором которого я пользуюсь для сравнения того, что я сделал с тем, как должно быть?

    Вот, например команда #A7 AND A (ANA A). Согласно документации i8080 она устанавливает флаг полупереноса согласно результату операции, в то время как у Z80 он просто устанавливается в единицу в результате операции. Но в результате AND A,A никогда не будет полупереноса - так я и эмулирую. А по данным Emu80 он всё таки есть. Как же это расценивать?
    С уважением, Станислав.

  10. #19
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,806
    Спасибо Благодарностей отдано 
    642
    Спасибо Благодарностей получено 
    1,773
    Поблагодарили
    1,023 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Думаю все знают, но на всякий случай - в этом эмуляторе 8080 все флаги устанавливаются правильно, как на реале.
    В бейсике проблема на z80 с флагом четности/переполнения. У 8080 это только четность, у z80 еще и переполнение в некоторых командах.

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

    Конкретно в бейсике проблема командах adс a и sbb a. Еще был как минимум один специалистовский бейсик, у которого в процедуру затесалась недокументированная (для 8080) команда. На 8080 это nop, а на z80 - jr.

  11. #20
    Guru Аватар для HardWareMan
    Регистрация
    26.02.2011
    Адрес
    г. Павлодар, Казахстан
    Сообщений
    4,395
    Спасибо Благодарностей отдано 
    304
    Спасибо Благодарностей получено 
    594
    Поблагодарили
    440 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вот есть же профильная тема, где есть абсолютно все ответы про 8080/ВМ80. Вот схема ALU:

    Флаги S, Z и P тупые, тупая логическая операция над битами (Z = NOR(7:0), P = XOR(7:0), S = [7]), а вот C и AC более сложные и зависят от операции. Тем не менее, их логика высчитывается достаточно легко (внимательно смотрим на схему переноса (между регистром R и схемой выбора вывода результата и блоки формирования переноса при десятичной коррекции). Отличия с Z80 только в том, что у Z80 есть действующий флаг N - negative, который позволяет учитывать знак операции (ADD/SUB). И тогда С и АС не будут совпадать.

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

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

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

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

Похожие темы

  1. Специалист: Варианты
    от Mick в разделе Специалист
    Ответов: 488
    Последнее: 26.02.2024, 13:07
  2. Специалист: Рекомпиляция.
    от Tim0xA в разделе Специалист
    Ответов: 38
    Последнее: 11.07.2022, 12:08
  3. Специалист-М
    от zx_ в разделе Специалист
    Ответов: 230
    Последнее: 18.12.2021, 14:41
  4. Специалист: Бейсик
    от Prusak в разделе Специалист
    Ответов: 28
    Последнее: 26.07.2019, 16:07
  5. Специалист: Разное
    от Splinter в разделе Специалист
    Ответов: 171
    Последнее: 09.05.2018, 07:50

Ваши права

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