PDA

Просмотр полной версии : Unreal+YM2203



Dexus
01.09.2005, 11:24
Дабы не оффтопить в других темах создаю свою, где буду выкладывать обновления, и где будут задаваться вопросы относительно этой реализации.
Итак. На текущий момент последняя версия - 0.01d5 (на базе Unreal 0.32b2).
http://www.intramail.ru/~dex/unreal032b2_YM2203_001d5.zip (198Кб, комплектация как на оффсайте)
Документация по чипу: http://www.intramail.ru/~dex/YM2203.ZIP
В документации произведены некоторые изменения и корректировки.
Примерчик незамысловатый: http://www.intramail.ru/~dex/2203test3.zip
Куча примерчиков сконверченных с сеги (не очень качественные): http://www.intramail.ru/~dex/2203tests4.zip
Один примерчик, достаточно приятный и качественный (из Соника3) - хоть и не до конца :) http://www.intramail.ru/~dex/TT.ZIP (7kb, hobeta)
История изменений:
0.01d5
- Небольшие изменения в коде YM2203, для отладки (вывод в порт 0 выводит в консоль текущее состояние регистров).
0.01d3
- Пофиксен вывод звука AY (иногда косячился из-за недозаполнения буфера).
- Исправлена обработка клавиатуры чтобы под 98 системные клавиши работали.
- Немного поправлены LED'ы FM (цветовая раскраска стала более алгоритмически связанной и логической, СЛОТы белым)
0.01d2
- Пофиксена недоработка Beta128, выраженная в невозможности работы с диском, кроме A. (внесено в базовую)
0.01d
- На 2000/XP действие "багофичи" отпускания одного из шифтов не распространяется.
0.01c
- Изменена функция обработки левых-правых клавиш (shift/ctrl/alt), под 9х/Me теперь нормально обрабатываются. Правда, есть побочный эффект с шифтами - когда нажимаешь оба, и отпускаешь один - это отпускание не считается, считается только отпускание последнего шифта.
0.01b
- Файловые меню работают под 9x/Me (не в ущерб для 2000/XP).
0.01a
- Приложению автоматически выставляется приоритет HIGH, если не выключено ShareCPU. Так же при включении максимальной скорости приоритет возвращается на нормальный - это предотвращает переход приложения в режим "однозадачного". (внесено в базовую)
- Отключена проверка на 9x/Me - теперь под ними тоже запускается (с ограниченной поддержкой).
0.01
- добавил LED'ы (все 6 каналов, все операторы и алгоритмы цветами)
- вроде как победил переключение частоты в рилтайме
- сделал PROIRITY_HIGH, чтобы звук не рвался (правда при нумлоке винда становится однозадачной)
- поправил по просьбе SMT строки при запуске
0.00
- добавлена ограниченная поддержка чипа YM2203.

Wlodek
04.09.2005, 10:46
С inatix.com ничего не загружается - "Ошибка 1026".

Dexus
04.09.2005, 11:26
С inatix.com ничего не загружается - "Ошибка 1026".
Че за ошибка? Странно. Может попали на период когда серв был в ауте?:)
В любом случае - продублировал на:
http://www.intramail.ru/~dex/unreal031b_YM2203_001d.zip
http://www.intramail.ru/~dex/2203tests4.zip - конверты (не самые лучшие) с сеги.

Dr.Lion/RSM
04.09.2005, 12:38
Dexus, сделай свою собственную нумерацию версий эмулятора в файле unreal.ini и я поддержу твой эмуль в UConfig. Иначе, твой эмулятор всегда будет опознаваться как Unreal 0.31 и что самое неприятное - нельзя будет через UConfig включить то, ради чего, собственно, эта ветка эмуля и развивается, а именно включить 2203! Так что не игнорируй меня, сделай как я прошу и все будет ОК!

Dexus
04.09.2005, 23:08
Обновил версию до 0.32b. Big thanks to SMT :)

Dexus
06.09.2005, 21:06
Небольшое обновление.. до 0.01d2
Исправлено некорректное переключение дисков в beta128.

Wlodek
07.09.2005, 05:57
Небольшое обновление.. до 0.01d2


В Фидо просят поместить сабж в эху ZX.SPECTRUM в UUE. Стоит ли делать это сейчас, или имеет смысл подождать, пока "устаканятся" версии?

Dexus
07.09.2005, 06:04
Стоит ли делать это сейчас, или имеет смысл подождать, пока "устаканятся" версии?
Вот уж не знаю. Поскольку _реальной_ 98й у меня нет, только через VMWare, но в ней она работает нормально,то все-таки есть шанс что на реальной она будет глючить, допустим, из-за кривых драйверов. То что в 98й нет прямого доступа через хард посредством тех же интерфейсов - с этим я ничего поделать не могу и не буду.
Думаю, что не стОит.

breeze
11.09.2005, 22:48
мдяяяя... :eek: звук обббалденный :D осталось только теперь поддержку наваять :rolleyes:

кста, что нужно что бы в реальный спек поддцепить ? :confused:

Dexus
12.09.2005, 06:18
кста, что нужно что бы в реальный спек поддцепить ?
Думаю, что это к CHRV и lvd :)
http://zx.pk.ru/showthread.php?t=523&goto=lastpost

SMT
12.09.2005, 07:27
Быстров в fido7.zx.spectrum жалуется, что в твоей версии окна выбора файлов не открываются. видимо, придётся или везде OFN_NT4 использовать, или
if (windows9x) { OFN_NT4 } else { OFN }

Dexus
12.09.2005, 09:08
Быстров в fido7.zx.spectrum жалуется, что в твоей версии окна выбора файлов не открываются.
Я читаю эху эту... :), кроме того по мылу списался, так что вкурсе. Глюк со звуком который он указывал если я правильно его понял - я вроде как исправил.
альт-таб и правда не работает почему-то (из фулскрина) - буду рыть.
А вот почему файловые окошки не открываются - хз. Потому как проверял в эмульнутых разных 98х - открываются. На днях поставлю реально 98 заради только этой хрени...

Dexus
12.09.2005, 23:31
Во-первых - поставил реальную Win98SE (билд 2222), проверил - работают файловые менюшки! Звук действительно в редких случаях переходил в глючное состояние - выяснил и поправил (был мой косяк), правда глюк этот далеко не каждый и заметит :) . Альт-таб и другие системные клавиши под 98 тоже поправил.
Обновил до версии 0.01d3.

thims
13.09.2005, 15:49
SMT, а почему бы тебе не внедрить это чудо в основной дистрибутив?

SMT
13.09.2005, 18:58
что именно? поддержку недо-осей принципиально не хочу. а 2203 пока рано - экзотика понимаш :)

thims
15.09.2005, 15:29
что именно? поддержку недо-осей принципиально не хочу. а 2203 пока рано - экзотика понимаш :)
Я про 2203. Приятная штука. недооси - ну их нафиг.

Dexus
16.09.2005, 14:13
Я кстати словил немерянное количество глюков, когда попытался эмуляцию вытащить в отдельный поток. Проблемы пошли с разнесением опросов управления, их синхронизация и сменой видеорежима. Первое я почти что поборол, но второе - это просто нечто. Тут "внедрением в код" не обойтись. Тут целкиком другой эмуль надо писать :). Придется рисовать откат...
Правда красиво получилось-то.. Окошко масштабируешь, перетаскиваешь, а эмуляция там продолжается, даже во время drag'а. Но, по всей видимости в Unreal'е не судьба такое сделать :)

SMT
16.09.2005, 19:47
нечего на unreal пенять :) :) есть опыт писания многопоточных приложений? использовал объекты синхронизации?

Dexus
16.09.2005, 19:54
нечего на unreal пенять есть опыт писания многопоточных приложений? использовал объекты синхронизации?
Ну с вводом только так и получилось. А со сменой видеорежимов нет. потому что столько подводных камней, что их не разгрести - проще с нуля делать.
Если изначально не было приложение к этому приспособлено - то и нечего пытаться.. Даже если крокодилу приделать крылышки - он не полетит :)
Т.е. судя по всему кроме вас внедрить подобное никто не сможет. Слишком уж индивидуальная разработка. Индивидуальная - в том плане, что подобную архитектуру, кроме вас - вряд ли кто-то понимает :). Особый стиль построения и программирования. Не "публичный". Я бросил попытки в ней разобраться :)

SMT
16.09.2005, 20:27
:) ну а меня и так устраивает, никакой причины для этой мелочной переделки я не знаю

Dexus
16.09.2005, 20:45
ну а меня и так устраивает, никакой причины для этой мелочной переделки я не знаю
Абсолютно согласен. Ваше право :)

Dexus
21.09.2005, 23:37
Обновление базовой до 0.32b2 и небольшие изменения в коде YM2203, никак не сказывающиеся на обычной работе (для отладки).

Dexus
01.10.2005, 22:43
Проект закрыт.