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

User Tag List

Показано с 1 по 5 из 5

Тема: Эмулятор ПК Специалист "SpeciARMlist"

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

    По умолчанию Эмулятор ПК Специалист "SpeciARMlist"

    Делюсь промежуточными результатами своей работы над эмулятором ПК Специалист.



    Пишу его на чистом ассемблере ARM под голое железо Raspberry Pi, то есть без использования какой-либо операционной системы, и даже без использования каких-либо библиотек или других наработок. Всё с нуля и всё сам.

    На текущий момент эмулятор имеет размер 26667 байт, из которых 4096 байт занимает ПЗУ Специалиста, а 7734 байта игра Зоопарк.

    kernel.img - файл для запуска на реальном железе Raspberry Pi 1 или Raspberry Pi Zero
    speciarmlist.img - файл для запуска под QEMU

    В итоге хотелось бы прикрутить реальную клавиатуру (это как сделать знаю), звук, поддержку магнитофона и загрузку игр с SD-карты. Не уверен, что сумею воплотить всё, что задумал, так как всю информацию о программировании голого железа приходится добывать буквально по крупицам и в одиночку, ибо единомышленников в этом направлении найти не удалось.



    P.S. В видео я оговорился, сказав, что игра занимает 12 Кб. Это я перепутал с размером экранной области Специалиста, то есть с размером скриншота из этой игры в формате ПК Специалист.
    Вложения Вложения
    Последний раз редактировалось CityAceE; 18.09.2023 в 13:49.
    С уважением, Станислав.

  2. Эти 11 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Aleks1985 (19.09.2023), ALS (20.09.2023), axe_chita (18.09.2023), Beaver (18.09.2023), gdv2002 (18.09.2023), MaratBest (24.09.2023), Oleg N. Cher (22.09.2023), Pyk (19.09.2023), Radon17 (18.09.2023), svofski (19.09.2023), Titus (18.09.2023)

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

  4. #2
    Member Аватар для HighLander
    Регистрация
    04.04.2017
    Адрес
    г. Москва
    Сообщений
    66
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проект закрытый? Исходников в общем доступе нет?
    Народ пилит под мурмулятор разные прошивки, может решите поучаствовать?
    ZX-Evo + Baseconf & TSconf + VDAC-2 + ZIFI

  5. #3
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,248
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    959
    Поблагодарили
    311 сообщений
    Mentioned
    43 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от HighLander Посмотреть сообщение
    Проект закрытый? Исходников в общем доступе нет?
    Пока просто публиковать нечего. То, что есть на текущий момент - это просто заготовка. Там даже в эмуляции i8080 ещё куча багов, а их поиск - та ещё головная боль. Но как только будет что-то более-менее внятное, то я обязательно исходники выложу к себе на GitHub.

    Цитата Сообщение от HighLander Посмотреть сообщение
    Народ пилит под мурмулятор разные прошивки, может решите поучаствовать?
    Да, знаю я этот проект. Весьма интересный. Но, во-первых, там всё пишется на С++, с которым я сильно на "вы". И мои ассемблерные наработки там вряд ли пригодятся. А, во-вторых, у меня элементарно нет готового устройства.
    С уважением, Станислав.

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

    MaratBest (24.09.2023)

  7. #4
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,248
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    959
    Поблагодарили
    311 сообщений
    Mentioned
    43 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Удалось найти и поправить все грубые ошибки эмуляции i8080. Теперь полностью проходят все тесты 8080 INSTRUCTION EXERCISER. Очень полезная программа!



    Дольше всего намучился с командой DAA, и это несмотря на то, что уже успешно реализовывал её в другом своём эмуляторе.

    Ещё много крови попила моя глупая ошибка в команде JP P,nn (JP a16). Я ошибочно проверял флаг чётности - P, в качестве условия. Ну правильно же, в условии присутствует буква P А нужно было проверить совсем другой флаг - флаг знака S. И вот вроде почти все программы работали, но что-то было не так.
    Последний раз редактировалось CityAceE; 19.09.2023 в 16:21.
    С уважением, Станислав.

  8. Эти 2 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    MaratBest (24.09.2023), Oleg N. Cher (22.09.2023)

  9. #5
    Administrator Аватар для CityAceE
    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    4,248
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    261
    Спасибо Благодарностей получено 
    959
    Поблагодарили
    311 сообщений
    Mentioned
    43 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Научился работать с таймером Raspberry Pi и замедлил эмулятор до реальной скорости. Сейчас эмулятор рисует 50 кадров в секунду, а виртуальный КР580ВМ80А работает на скорости 2 МГц.

    Первые опыты оказались неудачными, так как оказалось, что мой эмулятор работал медленнее нужного. Выяснилось, что скорости не хватало не только из-за включенной отладочной информации, но и из-за медленной отрисовки экрана Специалиста. Я использую 8-ми битный цвет, то есть 1 пиксель отрисовывается 1 байтом. Хотел для ускорения снизить битность, но выяснилось, что QEMU, на котором идёт большая часть отладки, не поддерживает эмуляцию ниже 8 бит. Да и сама Raspberry Pi минимально может только 4 бита на точку (16 цветов из палитры 32 бита). Пришлось как-то выкручиваться. И после того, как я сделал вывод графики по табличке вместо расчётов на лету, всё существенно ускорилось и появился серьёзный запас по скорости.

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

  10. Эти 4 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    MaratBest (24.09.2023), Oleg N. Cher (24.09.2023), svofski (23.09.2023), zxsacura (23.09.2023)

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

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

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

Похожие темы

  1. Ответов: 33
    Последнее: 19.04.2023, 17:03
  2. Эмулятор "ZX Spectrum 48" на "Векторе-06Ц"
    от Tim0xA в разделе Вектор
    Ответов: 31
    Последнее: 27.12.2022, 21:40
  3. Эмулятор "Вектор-06Ц" на "Dingoo A-320"
    от Tim0xA в разделе Вектор
    Ответов: 44
    Последнее: 15.04.2013, 20:28
  4. Эмулятор "Львов ПК-01" на "Dingoo A-320"
    от Tim0xA в разделе Львов
    Ответов: 3
    Последнее: 03.07.2012, 10:51
  5. Эмулятор ПК "Специалист" для Mac OS X
    от hdc в разделе Эмуляторы отечественных компьютеров
    Ответов: 1
    Последнее: 21.10.2009, 11:28

Ваши права

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