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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: Эмулятор старых компьютеров "eCat"

  1. #1
    Activist Аватар для Panther
    Регистрация
    25.12.2008
    Адрес
    Москва
    Сообщений
    238
    Благодарностей: 218
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Эмулятор старых компьютеров "eCat"

    Я решил наконец выложить на всеобщее обозрение свой эмулятор, над которым работаю уже около 4-х лет. Не судите строго, это проект чисто для развлечения, не претендующий на какое-либо соревнование с тем, что уже есть и работает заметно лучше .

    http://ecat.emuverse.ru/

  2. Эти 2 пользователя(ей) поблагодарили Panther за это полезное сообщение:
    Aprisobal (09.10.2009), Ewgeny7 (08.10.2009)

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

  4. #2
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,140
    Благодарностей: 909
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А минимальные требования к компьютеру какие?
    Кое-как убил процесс, так и не дождавшись главного окна.
    На однопроцессорную машину явно не рассчитано

  5. #3
    Super Moderator Аватар для Ewgeny7
    Регистрация
    03.07.2005
    Адрес
    Санкт-Петербург
    Сообщений
    9,389
    Благодарностей: 3754
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Panther, а мне понравилось! Спасибо!
    Scorpion ZS 1024 turbo+/ZXMC 2.6/SD-HDD/FDD/AT-Keyb/Mouse/SMUC 2.0/ProfROMse/VGA 3.0/NeoGS
    ZX-Evolution 4096 rev.B

    Сайт с документацией к "Scorpion ZS 256"

  6. Этот пользователь поблагодарил Ewgeny7 за это полезное сообщение:
    Panther (09.10.2009)

  7. #4
    Activist Аватар для Panther
    Регистрация
    25.12.2008
    Адрес
    Москва
    Сообщений
    238
    Благодарностей: 218
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    На однопроцессорную машину явно не рассчитано
    Странно, у меня на одном компьютере (ноутбук) с 2,4 ГГц работает, но плохо, на другом настольном 3,2 вообще нормально. Оба одноядерные. Да там многоядерность особо ни к чему, основной поток-то один. Только если чтобы Винда не мешала .

    На самом деле большую часть производительности ест отрисовка картинки через GDI, особенно при масштабировании. Все никак не займусь более прогрессивными вариантами.

  8. #5
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,140
    Благодарностей: 909
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот на Athlon XP 1500+ после запуска система переходит в коматозное состояние. На вызов диспетчера задач и убиение процесса ушло порядка двух минут. Я понимаю, мультимедийный таймер поточнее обычного, но если обработчик события от этого таймера выполняется дольше, чем период самого таймера, то происходят такие вот вещи. Ты б сделал контроль реентерабельности обработчика + какой-нибудь sleep на полпериода, если был повторный заход, чтобы система не вешалась.

    ---------- Post added at 23:57 ---------- Previous post was at 23:50 ----------

    Цитата Сообщение от Panther Посмотреть сообщение
    На самом деле большую часть производительности ест отрисовка картинки через GDI
    На кой ты её каждый раз полностью формируешь? Храни готовый битмап и подправляй его при записи в видео-ОЗУ. А вывод битмапа - почти мгновенный, даже если использовать StretchBlt, т.к. используется аппаратное ускорение.

  9. Этот пользователь поблагодарил b2m за это полезное сообщение:
    Panther (09.10.2009)

  10. #6
    Activist Аватар для Panther
    Регистрация
    25.12.2008
    Адрес
    Москва
    Сообщений
    238
    Благодарностей: 218
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Ты б сделал контроль реентерабельности обработчика + какой-нибудь sleep на полпериода, если был повторный заход, чтобы система не вешалась.
    Хм, я на слабых машинах вообще не тестировал. Насчет проверки реентерабельности хорошая идея, сделаю.

    Я вынес в INI настройку высокого приоритета, попробуй поставить high_priority = 0. На моем 3,2 ГГц загрузка в три раза уменьшается (вместе с FPS, естественно).

    И еще, я при последней компиляции забыл оптимизацию включить, с ней загрузка еще на 10% упала.

    Цитата Сообщение от b2m Посмотреть сообщение
    Храни готовый битмап и подправляй его при записи в видео-ОЗУ.
    Да, рендеринг съедает 50% производительности. Хотя твой вариант в универсальной архитектуре отдельный геморрой. Модулю видеоадаптера придется вешать на нужные блоки памяти какой-то callback по записи, плюс запускать полную регенерацию при изменении регистров конфигурации. Вот тут-то красота задумки и начинает страдать от технических ограничений .

  11. #7
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,140
    Благодарностей: 909
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Теперь запускается, жрёт, конечно все 100%, и FPS только 5-6, но работает.

  12. Этот пользователь поблагодарил b2m за это полезное сообщение:
    Panther (09.10.2009)

  13. #8
    Activist Аватар для Panther
    Регистрация
    25.12.2008
    Адрес
    Москва
    Сообщений
    238
    Благодарностей: 218
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    У меня возник вопрос к Error404. Я стал запускать игры Z80 с Disk2.odi. Заставки были кривые - какое-то месиво. Думал, проблема в эмуляторе. Стал трассировать. Оказалось, что начало файла OVL из User_1 тупо переносится в видеостраницу без всякой обработки. Получается, повреждены именно файлы? В эмуляторе b2m та же хрень. Пример игры, чтобы не искать - xecutor.com. Сама игра, вроде, работает, проблема только в заставке. Как такое получилось?

  14. #9
    Moderator Аватар для Error404
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    3,667
    Благодарностей: 992
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Panther Посмотреть сообщение
    У меня возник вопрос к Error404. Я стал запускать игры Z80 с Disk2.odi. Заставки были кривые - какое-то месиво. Думал, проблема в эмуляторе. Стал трассировать. Оказалось, что начало файла OVL из User_1 тупо переносится в видеостраницу без всякой обработки. Получается, повреждены именно файлы? В эмуляторе b2m та же хрень. Пример игры, чтобы не искать - xecutor.com. Сама игра, вроде, работает, проблема только в заставке. Как такое получилось?
    О какой заставке идет речь?
    Там нет никакой заставки (как я понимаю, не задумывалось). Первый после загрузки экран запрашивает "Press Enter" для настройки на тип клавиатуры (РК/МС7007), следующий экран - уже игровое меню (меню Press 1.2.3).
    Игра из файла OVL тупо последовательно грузится в 0 страницу памяти. Понятно, что-то залезает и на экран. Но этого не должно быть видно - у вас "запрет видеосигнала" (на экране черный квадрат Малевича) обрабатывается?

    Код:
     Экранная память располагается в 0 и 1 страницах ОЗУ,  при-
    чем количество экранов и распределение сегментов в них  зависит
    от текущего цветового режима, задаваемого разрядами порта 0F8H:
    
         D4  D3  D2  D1  D0
         ------------------
         0   x   0   0   0   - монохромный, палитра 1
         0   x   0   0   1   - монохромный, палитра 2
         0   x   0   1   x   - запрет видеосигнала
         0   x   1   0   0   - 2-битный (4-цветный), палитра 1
         0   x   1   0   1   - 2-битный (4-цветный), палитра 2
         0   x   1   1   x   - 16-цветный с групповым кодированием
         0   1   1   1   x   - псевдоцветной (цвет -  в порт 0FCH)
         1   x   0   x   x   - 3-битный (8-цветный RGB)
         1   x   1   x   x   - 4-битный (16-цветный RGBI)
    Последний раз редактировалось Error404; 11.10.2009 в 21:12.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  15. #10
    Activist Аватар для Panther
    Регистрация
    25.12.2008
    Адрес
    Москва
    Сообщений
    238
    Благодарностей: 218
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Игра из файла OVL тупо последовательно грузится в 0 страницу памяти. Понятно, что-то залезает и на экран. Но этого не должно быть видно - у вас "запрет видеосигнала" (на экране черный квадрат Малевича) обрабатывается?
    Я просто подумал, что раз что-то переносится, а потом переключается в экран, то это должна быть заставка. Тем более, там что-то похожее на испорченную картинку проглядывало.

    А откуда табличка? Я сделал Z80 Card II, видео стандартное, с тремя битами порта F8. А тут пять. Плюс FC. Я упустил доработку видео?

    И еще, в некоторых других играх есть какой-то цветной мусор в левой колонке экрана. Это ошибка, или хитрый трюк, на реале не видный за границей экрана телевизора?

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 16
    Последнее: 13.01.2010, 09:57
  2. Эмулятор ПК "Специалист" для Mac OS X
    от hdc в разделе Эмуляторы отечественных компьютеров
    Ответов: 1
    Последнее: 21.10.2009, 11:28
  3. Ответов: 0
    Последнее: 31.01.2007, 19:18
  4. Подгрузка pc-файла типа "codes" в эмулятор
    от maximk в разделе Эмуляторы
    Ответов: 15
    Последнее: 13.11.2006, 16:46

Ваши права

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