Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Вектор (http://zx-pk.ru/forumdisplay.php?f=55)
-   -   Вектор-06Ц: Эмуляция - AY-3-8910 (YM2413) (http://zx-pk.ru/showthread.php?t=10575)

ivagor 13th July 2009 23:22

Вектор-06Ц: Эмуляция - AY-3-8910 (YM2413)
 
До 1 апреля ждать слишком долго, поэтому можете заценить следующий изврат уже сейчас:Бейсик 2.5, в котором оператор PLAY играет не через таймер, а через Sound Tracker (AY). Функционал PLAY не изменялся, дополнительные возможности AY (громкость, огибающие, шум) не используются, зато вроде работает.

Пара игрушек, чтобы послушать
Attachment 12524
Еще Business

Удобно пробовать в эмуляторе b2m, т.к. у него есть перехват загрузки с кассеты в бейсике (CLOAD"" дальше выбираем CAS файл). Можно было бы, конечно, и дисковый бейсик модифицировать, но смысла не вижу.

ivagor 14th July 2009 11:04

Забыл написать - переделать с ВИ53 на AY поточным методом теоретически можно и остальные программы (в т.ч. игрушки) использующие Драйверы устройств, но звук от этого автоматически не улучшится.

Ramiros 15th July 2009 11:09

ivagor, в VV звука нет
хм.. странно, при повторном запуске звук появился

ivagor 15th July 2009 12:28

Quote:

Originally Posted by Ramiros (Post 208173)
ivagor, в VV звука нет
хм.. странно, при повторном запуске звук появился

Попробовал в 5.85
10 PLAY"CDA"
20 GOTO 20
звук есть.
Попробовал игрушку HOUSE - звук есть.
Даже не знаю, что могло быть не так, а как ты проверял?

Ramiros 15th July 2009 13:35

Quote:

Originally Posted by ivagor (Post 208181)
Попробовал в 5.85
10 PLAY"CDA"
20 GOTO 20
звук есть.
Попробовал игрушку HOUSE - звук есть.
Даже не знаю, что могло быть не так, а как ты проверял?

Запустил бейсик в режиме i8080
написал следующее:
color 7
cls
screen 2,7
himem 40959
cload""
загрузил игру ( игра в 16 килобайт немного неукладывается, поэтому требуется расширить ОЗУ).
игра запустилась нормально, но первый раз я в himem адрес по ошибке больше указал, и видимо стек затер и бейсик возможно сглючил,
игра запустилась но вместо звука слышны были только редкие щелчки.

больше этот глюк ненаблюдался :)

---------- Post added at 14:35 ---------- Previous post was at 14:32 ----------

Есть небольшое замечание, если проигрывать одну и ту же ноту несколько раз подряд, то она звучит как одна длинная, а не как несколько коротких.

ivagor 15th July 2009 16:44

Quote:

Originally Posted by Ramiros (Post 208190)
Есть небольшое замечание, если проигрывать одну и ту же ноту несколько раз подряд, то она звучит как одна длинная, а не как несколько коротких.

Записал я звук с ВИ53 и AY и увидел следующее:
ВИ53 в режиме 3 (да и в других тоже) при загрузке значения счетчика начинает счет заново (в звуковом файле эти моменты можно описать как "места изменения скважности"), что соответствует книжке, которая у меня есть.
AY, как я понял, при изменении значения регистров 0-5 не перезапускает счет (эти моменты в звуковом файле, в отличие от варианта ВИ53, не видны)? В доках, которые у меня есть, этот вопрос не разъяснен. Можно как-нибудь принудительно "перезапустить" счетчик AY?

ivagor 15th July 2009 17:35

упоминавшиеся звуковые файлики

Ramiros 16th July 2009 11:34

Quote:

Originally Posted by ivagor (Post 208220)
Записал я звук с ВИ53 и AY и увидел следующее:
ВИ53 в режиме 3 (да и в других тоже) при загрузке значения счетчика начинает счет заново (в звуковом файле эти моменты можно описать как "места изменения скважности"), что соответствует книжке, которая у меня есть.
AY, как я понял, при изменении значения регистров 0-5 не перезапускает счет (эти моменты в звуковом файле, в отличие от варианта ВИ53, не видны)? В доках, которые у меня есть, этот вопрос не разъяснен. Можно как-нибудь принудительно "перезапустить" счетчик AY?

простого способа нет, если только записать в R0,R1(R2-R5) нули, а потом записать новое значение, тогда произойдет перезапуск счета

ivagor 16th July 2009 14:04

Ramiros, спасибо за идею, но пока она сработала не на 100%
Attachment 12563
Ирония в том, что в VV вобще не получилось "перезапуска счетчика" :) а в b2m видны 2 "перезапуска" (первого нет, есть 2й и 3й, можно сравнить с ранее выложенными вариантами с ви53) вместо 3х (4 ноты). Наверно нужно сделать побольше паузу между обнулением и занесением нужных значений, но вопрос такой - а сколько можно сделать min паузу? Пауза то сама по себе даст "стаккато", но не хотелось бы тратить на это время. Можно конечно сделать задержку в прерывание (получили ноту, но сразу не начали ее играть, а подождали до следующего прерывания), но это IMHO слишком длинная пауза. Есть еще какие-нибудь идеи?

Ramiros 16th July 2009 14:57

Quote:

Originally Posted by ivagor (Post 208437)
Ramiros, спасибо за идею, но пока она сработала не на 100%
Attachment 12563
Ирония в том, что в VV вобще не получилось "перезапуска счетчика" :) а в b2m видны 2 "перезапуска" (первого нет, есть 2й и 3й, можно сравнить с ранее выложенными вариантами с ви53) вместо 3х (4 ноты). Наверно нужно сделать побольше паузу между обнулением и занесением нужных значений, но вопрос такой - а сколько можно сделать min паузу? Пауза то сама по себе даст "стаккато", но не хотелось бы тратить на это время. Можно конечно сделать задержку в прерывание (получили ноту, но сразу не начали ее играть, а подождали до следующего прерывания), но это IMHO слишком длинная пауза. Есть еще какие-нибудь идеи?

В эмуляторе записав нули необходимо выждать минимум 27 тактов (непутать с циклами), чтобы регистры успели обновится, т.к. внутренняя частота AY=1.77 MHz / 16.
наверное это условие справедливо и для реалного чипа.


All times are GMT +4. The time now is 23:38.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.