История изменений эмулятора Soviet PC
(2007)



15.07.2007 Сделал достаточно важную доработку и посему обновил эмуль на сайте. Доработка следующая - существенно уточнен вывод звука (звуковой канал таймера). Теперь эмуляция спикера (при выбранном в меню "Звук" максимальном качестве!!!) практически не отличается от реальной и позволяет нормально воспроизводить синтезированную музыку/речь. В этом можно убедиться на примере игра Перестройка (выбрав что-нибудь не Auto - лучше всего 286/8Мгц) - Дубинушка и прочее звучат вполне себе нормально (особенно через WaveOut). У Диггера пропал свист и фоновый звук стал "реальным". И т.п. и т.д. - на максимальном качестве звука теперь практически правильно должны работать синтезированные эффекты всех игр. Хотя им особо не стоит злоупотреблять - этот режим дает сильную нагрузку на ядро эмуляции, от чего оно потенциально вполне может глючить (пока особо не тестировал). (Improved speaker emulation. When selected "Maximal Quality" in "Sound" menu normally work emulation of synthetic speech/music. Perestroika (Toppler) is example (use 286/8Mhz config). Digger background sound much more real too. Fixed some bugs)



12.07.2007 Навел порядок на сайте, чтобы было куда ссылки и баннеры вешать. Не рекламные, конечно (не люблю я рекламу - с детства не приучили :) Кроме того, перезалил эмулятор с некоторыми поправками в дизайне и переводом недопреведенных аглицких фраз. На этом со всякой ерундой закончено, следующие апдейты будут опять нормальными. И видимо следующий апдейт придется пронумеровать 0.17, а то 0.16 уже успел засветиться на emu-сайтах, хотя недоверсии задумывались не для этого. Буду тогда и далее все версии (и релизы, и недоверсии) нумеровать последовательно для исключения путаницы. Чистые же багфиксы будут получать приставку a,b,c. (Site is updated, emulator re-uploaded with improved English support and some changes in design).



11.07.2007 Добавлена поддержка английского и мышь захватывается по _двойному_ щелчку, больше ничего особо не поменялось (Added English support, mouse capture on DblClick, no other changes yet).



10.07.2007 Перезалил SPC.zip с некоторыми поправками - убран баг с клавиатурой, улучшен таймер (теперь Перестройка на 286/8Hz на реальном Speaker - а не WaveOut! - может даже хрипеть что-то отдаленно похожее на Дубинушку и Ча-Ча-Ча - если сильно прислушаться), несколько улучшена поддержка мыши (Дюна2 т.п.), усовершенствован захват мыши (захват происходит только тогда, когда активная программа следит за мышью - для большего удобства), убрана виртуальная клавиатура Корвета до лучших времен (пока не сделаю XT/AT-шную картинку), несколько мелких правок. Пока на этом всё, в ближайших апдейтах будут активно фикситься баги (для запуска софта/игр, которые работать на существующих конфигах должны, но не хотят или просто глючат), и вводиться поддержка скриптов/плагинов (для возможности внешнего развития)...



28.06.2007 Основная блог-активность видимо переносится на sovietpc.old-games.ru, хотя тут тоже ничего собственно не закрывается, просто сообщений о ходе работы и промежуточных релизов видимо не будет. Что касается производительности эмулятора, да и вообще перспектив в свете наличия других подобных разработок с существенно более долгими сроками разработки, то об этом будет иметь смысл судить как минимум месяца через два (максимум через три). Годы на его превращение в юзабельную программу я, конечно, тратить не собираюсь, поэтому никакой особой поддержки совместимости с разными платформами не будет. Основной рабочей платформой будет x86, и этот факт будет использоватся по максимуму (ОС неважно какая, потому как ядро будет в итоге на C/C++ и x86-ассемблере - а приклеить к нему любой ОС-зависимый интерфейс (frontend) особых трудностей не вызовет). Плюс лично я (за других говорить не буду) не собираюсь эмулировать ДОС или что-то подобное - имхо, на эмуляторе старого компа приятнее работать за реально операционкой прежних времен (да и в любом случае есть бесплатный свободный FreeDOS). Разве что придется перехватывать некоторые функции реального ДОС на предмет монтирования папок как дисков, но тут тоже надо еще смотреть - может, подключить в эмулятор реальный диск, реальную флешку или сетевой диск реального компа будет универсальнее. И в первую очередь постараюсь сделать нормальное производительное и полноценное 386/486 ядро с защищенным режимом (самая интересная часть эмуляции) и прочими подобными вещами, а прочее как-нибудь да приложиться постепенно и может даже не мной. Причем ядро будет динамическое и скорее всего полностью написано на x86-Assembler (для ядра даже экономия одной-двух инструкций может вылиться в полновесные проценты производительности, а всё остальное останется на языках высокого уровня - да и ядро тоже будет на них продолжать дублироваться - для быстрой проверки на нем всяких исправлений и для возможности портирования). Собственно говоря ядро (CPU и FPU) - наиболее важная часть эмулятора (если его разработка ведется для практических целей - а автор собирается и сам им пользоваться - поэтому минимумом необходимого рассматривается эмуляция 486DX4/100Mhz (на 32-битном Athlon XP 2Ггц) , хотя хотелось бы чего-нить не слабее P5/100-200Mhz - но это как сложится - пока трудно сказать - хотя к оптимизиции ядра будут прилагаться максимальные усилия - производительный и простой в пользовании эмулятор даже без особых наворотов всегда пригодится для всякого-разного - как минимум автору, и развивать его смысл имеет. Если же этого сделать не удастся - то и интерес к дальнейшему активному развитию эмулятора лично у меня, скорее всего, пропадет. В любом случае программа задумавалась для себя (и интересующихся - кому понадобится в личных некоммерческих законных целях :) Конкуренция с DOSBox-ами, Bochs-ами, VMWare-ами, VPC-ами и прочим MESS-ами не планируется и целью автора не является (даже есть определенные сомнения в нужности аглицкой локализации - хотя видимо сделать все же придется, а то они так и будут продолжнать SovietPC обзывать Korvet PEVM Emulator :). Просто удобнее иметь свой вариант (если есть возможность и желание), чтобы всегда можно было что надо добавить/изменить. Тем более если это не требует особых усилий, да и вообще просто интересно и не дает забыть то, что в 90х хорошо зналось, а сейчас из-за невостребованности уходит из памяти. Любой программист, знающий ассемблер и платформу, может без проблем сделать то же самое - если руки дойдут. У меня вот дошли наконец- то - хотя мысли такие бродили еще с Корветовских времен-2004. В конце-концов у каждого своё хобби в PC-области - кто-то играет, кто-то "ломает", кто-то что-то пишет - каждый тратит время по-своему . That's all, с пространными рассуждениями завязываю, лучше время на эмулятор потратить :)



И всё-таки версия 0.15d перезалита, поскольку пофикшено залипание клавиш, иногда случавшееся ранее - т.е. важный для нормального пользования момент. Сответственно в апдейт вошли и другие вещи, которые появились к этому времени (пусть некоторые и в полуготовом состоянии):
- поддержка композитного режима CGA (160x200x16) (см. Frogger2 и т.п.);
- поддержка 16-цветных Tandy/PCjr-режимов (были во многих старых играх);
- частичная пооддержка EGA/VGA-режимов. Игры, работающие через порты и вызовы BIOS и не использующие всякие разбиения видеопамяти (двумерные Дюки, King's Bounty и т.п.) работают в EGA обычно нормально. Но есть и игры, которые меняют палитру через таблицы VGA BIOS - которые пока не реализованы - поэтому получаются странные цвета и т.п. При включенной в меню поддержке этого самого EGA/VGA карта начинает детектироваться софтом как EGA/VGA 256Kb, а не CGA;
- процессор теперь поддерживает некоторый набор 286/386 команд, но это никакой практической роли пока не играет - постепенно идет его апгрейд до полной поддержки (реального режима пока);
P.S. При работе с EGA/VGA желательно делать скорость процессора на менее 10Мгц - иначе будет тормозить графика - 8086 всё-таки далеко не 286 - а Дюк вообще на низких частотах почему-то подвисает на заставке.



Версия 0.15c перезалита с последним набором мелких исправлений (доработан процессор, звук, BIOS, клавиатура, исправлена ранее плохо работавшая загрузка/сохранение состояний PC/XT). В принципе данная версия уже достаточно совместима с оригинальным PC/XT, за исключением некоторых мелочей. Поэтому можно заняться более сложными вещами - сопроцессором, VGA, 286/386, ЕС1841, EMS/XMS, HDD, CD, SB и т.п. - поэтому апдейты будут выходить реже. Да и лето началось...



Версия 0.15b перезалита с некоторыми исправлениями (флаги для cpuid, улучшена поддержка детектирования дисков по размеру, исправлен VGA-режим, скорректирован таймер, уточнен CGA и т.п.). Вроде бы теперь поддерживается большинство загрузочных игр, лежащих на Retrograde Station (образы с ними надо вставлять вместо системного диска).



01.06.2007 Версия 0.15 программы, существенно лучше эмулирующая PC/XT, лежит здесь. Основное узкое место у программы (как и раньше) отрисовка экранов через WinGDI (заметно на активно меняющихся экранах - статические не перерисовываются), поэтому если не хватает производительности (или надо сильнее разогнать виртуальный процессор), надо уменьшить размеры окна программы (свернуть в маленький размер, снизить разрешение экрана и т.п.). В будущем введу поддержку DX/OGL - это снимет проблему. Ну и оптимизации пока никакой не проводилось (идет этап разработки - пока главное наглядность и надежность кода), поэтому всё работает в несколько раз медленнее, чем будет в будущем (хотя для средних гигагерцевых и выше компов производительности хватает и сейчас). На слабых машинах лучше отключить звук через WaveOut и пользоваться PC Speaker.

В текущей версии изменения следующие.

- уточненен и подправлен CPU I8086, уточнены цвета CGA-адаптера, оптимизирована перерисовка;
- добавлена поддержка портов палитры VGA (320x200x256) (в данном режиме нормально стали работать некоторые игры, которые через БИОС менять палитру не хотели - например Elite Pro, Ishar и т.п. - хотя всё это пока временная замена полного VGA);
- доработана поддержка звука (теперь Speaker не глючит в играх);
- добавлено детектирование формата образа диска по его размеру (для поддержки дисков ранних ДОС-ов и отличных от ДОС систем);
- уточнена XT-клавиатура в виртуальном PC/XT-совместимом БИОС, добавлена эмуляция аппаратного курсора тектовых режимов CGA;
- добавлена поддержка бытового ПЭВМ "Поиск-1", прошивки НАДО положить в папку ROMS и назвать poisk1.rom (основной БИОС) и poisk1.ext (расширение для работы с НГМД).

По последнему пункту подробнее. БИОСы реальных компьютеров, которые будут добавлятся в эмулятор, встраиваться в код не будут (и размер меньше, и удобнее корректировать/менять извне, если кому-то понадобится, и т.п.). Все такие (внешние) биосы должны лежать в папке ROMS и иметь фиксированные для каждой модели компьютера имена - иначе данная модель не будет доступна в меню программы. Соответственно, для активизации эмуляции Поиск-1 надо зайти на сайт Поиска и скачать там биосы поиска-1 (архив под названием p1_rom.7z). В нем в папке "Poisk1-rom" найти файл основного биоса (BIOSP1S.RF4), переименовать его в poisk1.rom и положить в папку ROMS. Поскольку данный биос не поддерживает НГМД , надо взять еще файл расширения биос (B_NGMD_N.RF2 - хотя там есть еще какой-то, но я его не смотрел), переименовать в poisk1.ext и тоже положить в ROMS. Далее можно пробовать запустить эмуляцию - если что-то не работает, значит что-то не так сделали. Только не забудьте вставить системный диск :) Эмулятор в одном месте патчит данный биос - в сём биосе есть ошибка с неверным выходом из прерывания, из-за которой может портиться стэк (обычно при команде dir). Кроме того, перехватываются обращения биос для чтения/записи секторов, чтобы быстро работало с НГМД - а то там нет DMA/ПДП и соответственно чтение по байту через контроллер НГМД очень медленное у Поиска-1 получается. Из-за того, что у Поиска-1 нет нормального CGA (он эмулируется в нем одной хитрой микросхемой), его биос не все режимы/палитры может правильно настроить, т.е. иногда цвета могут отличаться от виртуального XT-биоса. Кроме того, эмулятором перехватывается работа с режимом VGA 13H (320x200x256) - чтобы можно было принудительно запускать некоторые VGA-игры (аналогично как в виртуальном биосе).



22.05.2007 Версия 0.14 мультиэмулятора нод новым названием Soviet PC. Расширены цели и задачи эмулятора - эмулироваться будет не только Корвет, но и различные другие модели советских персональных компьютероы (со временем и по возможности). Особенно это касается 16-32 битных моделей, поскольку для 8-битников существует достаточно много эмуляторов, да и они менее интересны в плане сложности и скорости. Изменения пока следующие:

- добавлена предварительная эмуляция PC/XT (I8086/CGA);
- добавлена предварительная поддержка FAT в менеджер дисков;
- поддержка изменения скорости ЦПУ (разгон/замедление).



История изменений эмулятора Virtual Korvet
(2004-2007)



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



28.04.2007 Еженедельного обновлення эмулятора в этот раз не будет, поскольку исходники подчищаются для продолжения его развития в качестве мультиэмулятора. Наработано достаточное количество виртуальной аппаратуры для реализации поддержки других машин на данной элементной базе (и не только на ней). Интерфейс программы меняться не будет, поскольку он достаточно удобен, имхо. Основным изменением будет появление других машин, и первая из них будет в очередном релизе - в районе следующих выходных. Будет она на несколько другой элементной базе, которая уже практически готова, осталось только дисководы и пару устройств доэмулировать, но сама машина уже вполне работоспособна (в смысле запускается биос :)



22.04.2007 В версии 0.12(9) (здесь) реализован полноценный CPU Z80 в официальном варианте (т.е. документированные команды, регистры и флаги). Процессор успешно проходит тест корректности документированной эмуляции ( ZEXDOC.COM) (данный тест очень тщательно и медленно проверяет команды, особенно категории "aluop", поэтому надо отключить синхронизацию для макс. скорости и запастись терпением). Так что по идее обычный софт должен работать, хотя потестировать пока особо не на чем было (надо будет эмульнуть в базовом виде какую-нить Z80-платформу типа Spectrum или MSX - там хоть Z80-софта всякого много). Ну и еще импортируемые через менеджер дисков файлы теперь всегда получают имена в верхнем регистре (большими буквами) - для большей совместимости с разными версиями CP/M...



15.04.2007 В версии 0.12 (здесь) добавлена начальная версия менеджера дисков, позволяющая извне эмуляции просматривать и изменять содержимое образов дисков (в том числе записывать и считывать файлы). Отображается всё содержимое, в том числе скрытые и удаленные файлы (иногда со странными именами по понятным причинам). Менежер вызывается через меню или по Ctrl+DblClick на иконке диска. Все изменения в образы теперь программа сохраняет в файлы .kdi по подтверждению пользователя (для удобства экспериментирования). Ну и еще добавлена возможность подключения вместо CPU i8080 процессора Z80, сэмулированного пока лишь частично (есть основной официальный набор команд и флагов, нет 4х дополнительных групп CB, DD, ED, FD и неофиц. флагов). Пока эмуляция не завершена и её нельзя проверить соответствующим софтом, но хотя бы можно оценить работу на нем софта Корвета (кое-что похоже не работает - Proffer, например, DIR иногда почему-то выбивает CPM, а также может искажаться/рваться звук из-за разницы в тактовках команд и обработке прерываний между i8080 и Z80). В следующей версии Z80 будет полноценный (хотя может без неофициальных тонкостей пока).



09.04.2007 В очередной версии 0.11 (брать здесь) полностью сэмулирован трехканальный системный таймер i8253 (i8254), переписана и уточнена поддержка звука (теперь WAV-звук полностью поддерживает все режимы таймера), а также добавлена поддержка прерываний от НГМД и системного таймера.

Итого, Корвет в базовом варианте полноценно сэмулирован и основная масса софта должна нормально работать (при условии правильного выбора ПЗУ, размера памяти и операционной системы, конечно :) Осталось только сэмулировать всякие доп. устройства (периферию, сеть и т.п.), а также пофиксить мелкие погрешности эмуляции (выявить баги, учесть недокументированные особенности устройств и т.п.). Ну и всякие удобства еще добавить (отладчик, настройки, скриншоты и т.п.)



20.03.2007 В новой юбилейной версии 0.10 (брать здесь) полностью сэмулирован контроллер прерываний (на нем пока висит только прерывание от видео). Те игры, что раньше дергались (Popcorn) или вообще не запускались (Xyzon) теперь летают нормально.

Из основных вещей осталось только реализовать полноценную эмуляцию системного таймера (и WAV-звук соответственно сделать во всех нужных режимах). Пока вместо всех режимов повесил счетчики-заглушки (раньше были просто 0) и по этому поводу стали запускаться почти все ранее нерабочие игры (Dandare и т.п.), правда, с несколько ненормальной скоростью.

Так что теперь апдейты будут выходить несколько медленнее - совместимость эмулятора теперь более-менее нормальная и можно немного отдохнуть - весна ить :)



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

18.03.2007 Пока идет процесс внедрения в эмулятор универсального рендеринга экрана (WinGDI/OGL/DX на выбор), можно попользоваться текущим обновлением программы (брать здесь), которое позволяет масштабировать область вывода. Т.е. теперь можно изменить размеры окна, а еще лучше - развернуть окно на весь десктоп (cтандартно или двойным щелчком на экран эмулятора). В развернутом окне можно отключить отрисовку клавиатуры (а можно и включить) и наслаждаться практически полноэкранным изображением :-) Масштабирование пока самое примитивное - т.е. без сглаживания, но и такого в принципе пока достаточно.

Надо учитывать, что не все программы/игры/операционки могут нормально запускаться со всеми биосами/размерами памяти из доступных в эмуляторе - поскольку писались иногда авторами под определенную конфигурацию. Поэтому если что - можно попробовать другие.

Что касается нормального отображения русских букв на нерусифицированных системах - то тут надо повозится с переделкой меню программы на Unicode-шрифт. Пока этого нет - можно войти в региональные настройки в панели управления (Regional and Language Options) и задать там в соответствующем списке русский язык для non-Unicode программ (если что, потом всегда можно переключиться назад)... А вообще наверное введу переключаемые локализации интерфейса программы (языки) и аглицкую страничку - пущай и мировые буржуи имеют возможность ознакомиться с достижениями советской школьной техники массового обучения.

Образование - это наше главное оружие. Соответственно, оболванивание - это главное оружие против нас ;-)



15.03.2007 Это было давно и неправда :) Переносить эмулятор как-то всё-таки лениво, проще новый написать. Подумываю о БК-0010.01, которая у меня есть ещё живая с 90х с кучкой кассет. Для неё, конечно, есть уже эмуляшки, но свой вариант сделать как-то интереснее, тем более 10 лет назад много с ней связано было - даже защиту с кассет приходилось снимать с помощью самописного загрузчика.

Корвет тоже постараюсь потихоньку довести до кондиции (главная вещь из нуждающихся в доделке - это конечно WAV-звук, т.е. доработка до полноценного вида таймера и контроллера прерываний). А пока можно пользоваться старым добрым PC Speaker (то бишь системным динамиком). По этому поводу переделал его поддержку для систем с NT/2000/XP+ с драйвера "giveio", который, похоже, под XP не живет, на UserPort, который живет (под 32-битной, что там с 64-битной - не знаю).

Так что новая версия (с возможностью установки/использования драйвера UserPort для спикера) лежит здесь (exe-шник и драйвер, который должен лежать с ним в одной папке). Звук через спикер полноценный (поскольку собственно эмулировать ничего не надо, всё и так работает). Скоро еще добавлю переключение в полноэкранный режим OpenGL, т.е. можно будет пользовать аппаратное сглаживание. А там посмотрим... За софтом, как обычно, отсылаю на портал Сергея Ерохина http://pk8020.narod.ru ;-)



24.12.2005 Лучше поздно, чем никогда :) В общем, дело в следующем. Из-за загруженности основной работой эмулятор был успешно заброшен где-то на год. Поэтому пока выкладываю версию района конца 2004 года, на которой разработка и застопорилась (только exe-шник эмулятора, софт берите на сайте Сергея Ерохина). В данной версии есть кое-что новое, чего не было в последней выложенной тут версии - смотрите пункт меню "Что нового?". И есть всё те же недоработки - в WAV-варианте звук поддерживается не всеми играми (а для PC Speaker драйвер нужен), белый фон на некоторых кнопках (только в WinXP), маленькое окно и т.п. Но тем не менее - версия 0.06a лежит здесь! Кому надо - пользуйтесь :)
P.S. С наступающим в очередной раз Новым Годом, товарищи! Укрепляем оборону батареями напитков :)



Старая версия программы 0.06 (от 22.09.2004):
- добавлен экспериментальный режим вывода звука через WaveOut (т.е. с помощью звуковой карты). Звук в этом режиме пока будет не во всех играх (например, в Sport и Karate - не будет), потому как не все режимы системного таймера сэмулированы. На Win9x не тестировался - не знаю, как работает, на Win2k всё Ок. Кстати, выводить что-нить другое на звуковуху при работающей эмуляции (например, музыку какую в WinAmp) - лучше не надо, будет всё друг-друга тормозить или даже вообще не работать;
- добавлена тоже практически экспериментальная поддержка сохранения (клавиша F9) и загрузки (F12) текущего состояния эмулятора - т.е. сохранение, для удобства прохождения игр. Особенно не тестировался, так что может глючить (хотя врядли серьезно). Сохранение/загрузка работают только при активном процессе эмуляции. Файл сохранения (слот) пока всего один, в дальнейшем увеличу их количество.
- ну и снято ограничение на размер образа диска, чтобы загружался games1.zip;
- данную версию в таком довольно неготовом виде выложил, потому как в полностью готовом виде поддержка звука через WaveOut будет делаться довольно долго - надо полностью сэмулировать и проверить все режимы системного таймера. Поэтому данная версия выложена как промежуточная - если звук через WaveOut где-то глючит, можно переключиться на Speaker (переключаться можно только при выключеной эмуляции). Следующую версию буду готовить довольно долго, видимо, поскольку времени стало мало, да и проверить-оттестировать-доделать надо много чего (системный таймер, контроллер прерываний и контроллер дисководов довести до логического завершения, вместо теперяшних заплаток);
- P.S. Кстати, некоторые игры имеют разные версии, оказывается. Rally и Anton, например, которые лежат на диске games1.zip, имеют какой-то кривой звук, а Rally так вообще даже цвета другие. Поэтому эти игры лучше взять комплекта поставки эмуляторе Сергея Ерохина (см. выше) - они там тоже на первом диске, но "правильные" версии - с нормальным звуком.

Устаревшая версия программы 0.05 (от 15.09.2004):
- переработано и оптимизировано ядро эмуляции, синхронизация - оптимизированы почти все узкие места программы (единственное оставшееся - это вывод 16-цветного битмапа на экран с помошью стандартной виндовой функции. Время выполнения данной операции сравнимо с выполнением всего остального, т.е. если её вообще отключить, то производительность (макс. FPS) эмулятора возрастает на 70-100%. Со временем сделю поддержку DirectX/OpenGL - там затраты на вывод картинки должны быть несколько ниже);
- добавлена возможность отключения синхронизации (для получения макс. FPS. Отключение производится в меню "Эмуляция" - пункт "Синхронизация". После этого эмулятор начинает работать на максимальной скорости - это дает возможность оценить, насколько быстро осуществляется эмуляция на вашем компьютере. Для сравнения, на моем Athlon XP 2400+=2Ghz, FSB=400, GeForce2MX - MaxFPS~1200, если комп даунклокнуть , то на AthlonXP 500MHz, FSB=200 получается ~400 FPS);
- исправлен баг эмуляции контроллера дисков (пресловутый баг перехода с нулевой дорожки - запутался с этими масками был, зато теперь MикроДОС 2.xx работает нормально, версии 1.xx не работают с тем ROM-ом второй версии, который у меня загружен по умолчанию);
- добавлена поддержка всех 32 конфигураций памяти Корвета;
- сэмулированы все регистры клавиатуры (заработала клавиатура в TREAS и т.п., думаю, больше с ней проблем не возникнет :);
- исправлено некоторое количество мелких багов эмуляции;
- итого, эмулятором теперь можно пользоваться с ещё большим успехом :) (правда, под Win9x я эту версию не тестировал - ибо временно у меня её нету, проверено только на Win2k). Оптимизация позволила существенно понизить системные требования (думаю, 50 FPS должно давать начиная от PII и выше). В следующей версии думаю доделать эмуляцию дисководов (сделать поддержку записи) и сделать сброс-загрузку текущего состояния эмулятора в файл, т.е. сохранение - чтобы удобнее было те же игры проходить...

Сильно устаревшая версия программы 0.04 (от 10.09.2004):
- исправлено "зависание" звука (RALLY,ANTON,MAFIA и т.п.);
- добавлена предварительная версия синхронизации звука - хотя и довольно тормозная пока, тормозит процесс эмуляции, но звук стал более соответствовать действительности, особенно на мощных компах, где он часто проскакивал с треском, а не звучал положенное время. Или же не был слышен вовсе - например, шаги в Кладе на быстрых процессорах.
- в итоге, эмулятором наконец-то можно нормально пользоваться (хотя для больших разрешений на мониторе окошко маловато, но если очень надо кому - разрешение на монике поменять не проблема, и еще одно неудобство - нет сохранения/загрузки памяти на диск пока - в игры без него тоже как-то играть непривычно :) В общем, эмулятор переходит в стадию пассивной разработки - т.е. неторопливая оптимизация, добработка и т.п.

Очень сильно устаревшая версия программы 0.03 (от 09.09.2004):
- исправлены баги вывода АЦЗУ на экран (текст теперь правильного цвета в XART, ANTON, TROLL и т.п.);
- добавлена обработка изменения адреса таблицы прерываний (заработали BOMBER, PACMAN);
- добавлена поддержка блокирования заданных прерываний (заработал TETRIS);
- итого, большинство имеющихся у меня игр корректно работают под этой версией эмулятора - если не считать глюков со звуком - он не всегда отключается и плохо синхронизирован со скоростью компа. Поэтому в следующей версии я постараюсь устранить это самое "узкое место" эмуляции на данный момент - т.е. сделать нормальный звук.

Крайне сильно устаревшая версия программы 0.02 (от 08.09.2004):
- добавлена поддержка чтения из ГЗУ (в обоих режимах);
- подправлена эмуляции CPU (был баг в команде DAA, из-за которого не работал тест OLD.COM);
- подправлена эмуляция клавиатуры (ESC и прочих упр. клавиш, раньше иногда не работали);
- добавлена поддержка чтения-записи атрибутов АЦЗУ (на основе тех.описания);
- добавлена поддержка альтернативного набора символов АЦЗУ (забыл включить в прошлой версии);
- добавлено переключение флага VBLANK (заработали Kаратэ, кое-как XART, Антошка - правда, звук не гасится почему-то, как и в некоторых других играх - надо разобраться);
- добавлена временная остановка эмуляции при входе в меню (чтобы таймер не убегал никуда);
- связывание "стрелки вниз/доп2" с "доп5" по умолчанию отключено (пусть пользователь сам включает, если надо, а то в некоторых играх - CHASER, например, при влючении этой опции не работает движение вниз - потому как клавиша Доп5 блокирует проверку игрой "стрелки вниз/Доп2");
- итого, эмулятор корректно проходит основные тесты из OLD.COM (который имеется на системном диске "system1", лежащем в файлах на сайте http://pk8020.narod.ru - только данный тест, похоже, не полностью совместим с системой, которая загружается с данной дискеты - не работает клавиша "стрелка вниз" - поэтому сначала лучше запустить файл 16.COM, который загрузит правильную систему, а затем уже запускать OLD.COM).

Софт к эмулятору не прилагается - образы дисков можно взять на вышеуказанном сайте о Корвете. Чтобы подключить их к эмулятору, достаточно сделать двойной щелчек мышью на пиктограмке нужного диска (или использовать меню). Впрочем, всё описано в меню программы "Справка", в пункте !!README!! - не поленитесь прочитать.



Hosted by uCoz