Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Mod Loader 4 GS (http://zx-pk.ru/showthread.php?t=8654)

breeze 19th October 2008 13:40

Mod Loader 4 GS
 
Поделитесь плиз куском кода для загрузки и запуска мода в GS. Сорри время поджимает, разобраться и искать некогда, а работу выпустить срочно надо ;)

newart 19th October 2008 13:56

http://opensourcezx.untergrund.net/a...ex_gs_src.html

Добавлено через 4 минуты
"LDMD3"

breeze 19th October 2008 14:16

Quote:

Originally Posted by newart (Post 159769)
Добавлено через 4 минуты
"LDMD3"

ну это уже лучше ;) а то разгребать кучу исходников как-то не очень весело...

Добавлено через 2 минуты
мдя... вот если бы исходниках было бы хоть пару комментариев, то было бы куда гораздо понятнее :(

Добавлено через 24 минуты
Code:

sendcom out (187),a
waitcom in a,(187)
        rrca
        jr c,waitcom
        ret

это работа с портами GS ? а почему бы не сделать полную выборку через BC ? дабы не было шараханий данных по портам ? o_O

newart 19th October 2008 14:40

А что там понимать?
Музыка разбита на 4 куска запакованых хрустом.
Грузится, распаковывается, кидается в GS.
В таблице указана длинна блоков в секторах.

Keeper 19th October 2008 14:47

Quote:

Originally Posted by breeze (Post 159771)
это работа с портами GS ? а почему бы не сделать полную выборку через BC ? дабы не было шараханий данных по портам ? o_O

Там адресация по младшему байту:
#B3/179 Data
#BB/187 Cmd

breeze 19th October 2008 14:50

Quote:

Originally Posted by newart (Post 159777)
А что там понимать?

почему бы не сделать полную выборку через BC ? дабы не было шараханий данных по портам ? o_O

Quote:

Originally Posted by newart (Post 159777)
Музыка разбита на 4 куска запакованых хрустом.
Грузится, распаковывается, кидается в GS.
В таблице указана длинна блоков в секторах.

спасибо это и так понятно :) меня порты интересуют

Добавлено через 1 минуту
Quote:

Originally Posted by Keeper (Post 159780)
Там адресация по младшему байту:
#B3/179 Data
#BB/187 Cmd

и точно не будет проблем на ATM, Pentagon 2.2, Scorpion и других машинах с памятью больше чем 128к ?

newart 19th October 2008 14:52

Quote:

Originally Posted by breeze (Post 159782)
почему бы не сделать полную выборку через BC ? дабы не было шараханий данных по портам ? o_O

Это не ко мне. Код работы с GS цитирован из авторского описания.

Keeper 19th October 2008 15:00

Quote:

Originally Posted by breeze (Post 159782)
и точно не будет проблем на ATM, Pentagon 2.2, Scorpion и других машинах с памятью больше чем 128к ?

А какая разница? Заявлены именно эти два порта с адресацией по младшему байту, т.е. старший байт адреса игнорируется... ;)

breeze 19th October 2008 15:02

Quote:

Originally Posted by Keeper (Post 159786)
А какая разница? Заявлены именно эти два порта с адресацией по младшему байту, т.е. старший байт адреса игнорируется... ;)

разница в том, что например "головобол" или ещё неторые GS у меня не идут на моём Pentagon'е !

Добавлено через 42 секунды
Quote:

Originally Posted by newart (Post 159784)
Это не ко мне. Код работы с GS цитирован из авторского описания.

О.К. спасибо хоть на этом, будем разбираться...

breeze 19th October 2008 19:22

эээээ... ??? o_O
 
1 Attachment(s)
Вообщем разобрался я с сорцами NewArt'а , нашел ещё доку на сайте скорпионов, сделал свой вариант, с некоторым количеством комментариев:

Code:


    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"

однако есть нюанс :( к сожалению не могу сейчас проверить на реале, но вот в EmuzWin всё играет как-бы нормально, но с небольшими претензиями к звуку, в Unreal Speccy (пробовал и 0.3.6 и версию 0.3.7) если ставить эмуляцию Z80 трек жутко тормозит и хрипит :( если поставить BASS - то проблем никаких нет :rolleyes: чё это за хрень не ясно :(
может кто код на реале с GS запустить и сказать играет нормально или есть траблы ?


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

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