Поделитесь плиз куском кода для загрузки и запуска мода в GS. Сорри время поджимает, разобраться и искать некогда, а работу выпустить срочно надо ;)
Вид для печати
Поделитесь плиз куском кода для загрузки и запуска мода в GS. Сорри время поджимает, разобраться и искать некогда, а работу выпустить срочно надо ;)
http://opensourcezx.untergrund.net/a...ex_gs_src.html
Добавлено через 4 минуты
"LDMD3"
ну это уже лучше ;) а то разгребать кучу исходников как-то не очень весело...
Добавлено через 2 минуты
мдя... вот если бы исходниках было бы хоть пару комментариев, то было бы куда гораздо понятнее :(
Добавлено через 24 минуты
это работа с портами GS ? а почему бы не сделать полную выборку через BC ? дабы не было шараханий данных по портам ? o_OКод:sendcom out (187),a
waitcom in a,(187)
rrca
jr c,waitcom
ret
А что там понимать?
Музыка разбита на 4 куска запакованых хрустом.
Грузится, распаковывается, кидается в GS.
В таблице указана длинна блоков в секторах.
почему бы не сделать полную выборку через BC ? дабы не было шараханий данных по портам ? o_O
спасибо это и так понятно :) меня порты интересуют
Добавлено через 1 минуту
и точно не будет проблем на ATM, Pentagon 2.2, Scorpion и других машинах с памятью больше чем 128к ?
Вообщем разобрался я с сорцами NewArt'а , нашел ещё доку на сайте скорпионов, сделал свой вариант, с некоторым количеством комментариев:
однако есть нюанс :( к сожалению не могу сейчас проверить на реале, но вот в EmuzWin всё играет как-бы нормально, но с небольшими претензиями к звуку, в Unreal Speccy (пробовал и 0.3.6 и версию 0.3.7) если ставить эмуляцию Z80 трек жутко тормозит и хрипит :( если поставить BASS - то проблем никаких нет :rolleyes: чё это за хрень не ясно :(Код:
DEVICE ZXSPECTRUM128
EMPTYTRD "bin/playmod.trd"
org #6000
; general sound:
gsCommand equ #bb ; write: #bb - command port
gsStatus equ #bb ; read: #bb - register status
gsData equ #b3 ; read/write - data port
;-------------------------------------------------------------------------
start
ld a,#01
out (#fe),a ; here we go!
ld a,#f3 ; warm reset general sound
call sendCommand
ld a,#03
out (#fe),a ; inialized
ld hl,modBegin
ld de,modEnd-modBegin
call uploadModule
ld a,#04
out (#fe),a ; module uploaded !
in a,(gsData) ; get module Number
out (gsData),a ; select module ?
call playModule
ld a,#05
out (#fe),a ; module selected ?
ei
loop halt
jr loop
;------------------------------------------------------------------------
playModule ld a,#31 ;#31 Play module
call sendCommand
ret
;------------------------------------------------------------------------
uploadModule ld a,#30 ; #30 Load Module
call sendCommand
ld a,#d1 ; #d1 Open Stream
call sendCommand
getNext ld a,(hl)
waitReady in b,(c)
jp p,ready
in b,(c)
jp m,waitReady ; wait for ready general sound
ready out (gsData),a
inc hl
dec de
ld a,d
or e
jr nz,getNext ; loop for the next data
finalize in b,(c)
jp m,finalize ; wait for upload last byte
ld a,#d2 ; #d2 Close Stream
call sendCommand
ret
;------------------------------------------------------------------------
sendCommand ld c,gsCommand
out (gsCommand),a ; command port
waitResponse in a,(gsStatus) ; wait ready
rrca
jr c,waitResponse
ret
;------------------------------------------------------------------------
org #8000
modBegin
;incbin "rc\noname.mod"
incbin "rc\output.mod"
modEnd nop
end
;SAVESNA "bin\snapshot.sna",#6000
SAVETRD "bin/playmod.trd","player.C",start,modEnd-start
LABELSLIST "C:\My ZX\emuTools\unreal/user.l"
может кто код на реале с GS запустить и сказать играет нормально или есть траблы ?