Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Как улучшить прогу ? (http://zx-pk.ru/showthread.php?t=11817)

ALKO 13th January 2010 12:17

Как улучшить прогу ?
 
мне в бошку стукнула идея написать прогу иммитирующую звуки MusicBox(в самом низу закоментированы процедуры компилятора MCoder 48k):
http://vk.com/photo53856147_148983980
но вот только один недостаток состоит в том что прога медленно работает и слышен писк когда импульсы противоположны друг другу,а я еще хотел до большего количества голосов ее прокачать.(подобное писал в машинных кодах скорость выполнения была быстрее,но происходило искажение при смене тона одного из каналов)

jerri 13th January 2010 14:29

картинок не вижу

Sinus 13th January 2010 15:03

ALKO, выложи картинку куда-нибудь на нормальный картинко-хостинг, а не на фконтакте. например http://tinypic.com/

ALKO 13th January 2010 18:19

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

---------- Post added at 17:19 ---------- Previous post was at 17:16 ----------

проще говоря через банкомат лазию в инете.

molodcov_alex 13th January 2010 21:39

Quote:

Originally Posted by jerri (Post 248235)
картинок не вижу

Скрытый текст

http://cs10249.vk.com/u53856147/1018...x_a0285ca9.jpgэто оригинал
[свернуть]
Так видно?
На б/м нормальном хостинге: http://i076.radikal.ru/1001/35/38b2ec82b281.jpg

jerri 14th January 2010 11:23

Quote:

Originally Posted by molodcov_alex (Post 248333)

Скрытый текст

http://cs10249.vk.com/u53856147/1018...x_a0285ca9.jpgэто оригинал
[свернуть]
Так видно?
На б/м нормальном хостинге:

так видно спасибо
по программе

у тебя не очень корректно сделано
правильно менять фронт по другому вот так
Code:

ld ix,table

ld c,(ix)
ld b,(ix+1)
ld a,#18

m0
        ld        hl,0        //длительность ноты
        ld e,(ix)
        ld d,(ix+1)
        inc ix
        inc ix
m1
        dec c
        jr        nz,m00
        ld c,e
        out        (#fe),a
        xor        #18
m00
        dec        b       
        jr        nz,m01
        ld b,d
        out        (#fe),a
        xor        #18
m01
        dec        l
        jr        nz,m1
        dec        h
        jr        nz,m1

//здесь проверяем на окончание музыки
       
        dec        (ix)
        inc        (ix)
        jr        nz,m0
        ret
table
        db        #20,#20,#20,#30,#20,#40,#10,#40,#20,#30,#30,#40
        db        0


ALKO 14th January 2010 17:56

а если я захочу увеличить кол-во войсов, это прийдется прибегнуть к PUSHам & POPам ?

jerri 14th January 2010 22:37

не обязательно:)
можно чуть переписать код для получения нужного результата

сколько голосов тебе нужно?

вот тебе 4 голоса

Code:

ld ix,table

ld c,(ix)
ld b,(ix+1)
ld e,(ix+2)
ld d,(ix+3)


ld a,#18

m0
        ld        hl,0        //длительность ноты
m1
        dec c
        jr        nz,m00
        ld      c,(ix)
        out        (#fe),a
        xor        #18
m00
        dec        b       
        jr        nz,m01
        ld      b,(ix+1)       
        out        (#fe),a
        xor        #18
m01
        dec e
        jr        nz,m02
        ld      e,(ix+2)
        out        (#fe),a
        xor        #18
m02
        dec d
        jr        nz,m03
        ld      d,(ix+3)
        out        (#fe),a
        xor        #18
m03
        dec        l
        jr        nz,m1
        dec        h
        jr        nz,m1

//здесь проверяем на окончание музыки
      inc ix
      inc ix
      inc ix
      inc ix



       
        dec        (ix)
        inc        (ix)
        jr        nz,m0
        ret
table
        db        #20,#20,#20,#30,#20,#40,#10,#40,#20,#30,#30,#40
        db        0


хотя конечно серьезные плееры делаются не так

ALKO 16th January 2010 12:59

кому нибудь известно об исходниках движков музыки фирмы Code Masters (ATVsim,FastFood,SlotMachine,Soccer)? там задействованы два тона со сменой ширины импульса,по мере звучания верхний фронт уменьшается.


и любопытно как смогли симмитровать звук эл.гитары программеры от HEWSON (stormlord и cybernoid 2)

jerri 16th January 2010 13:53

Берешь эмулятор unreal Speccy
грузишь Fastfood ждешь когда начинает играть музыка
жмешь Escape - и начинаешь реверс инженеринг

в Stormlord и Cybernoid 2 музыка для AY - тут тебе ASM или Soundtracker в помощь


All times are GMT +4. The time now is 21:01.

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