Deutsches CPC-Forum > Programmierung

Sound Programmierung

(1/4) > >>

oobdoo:
In meinem alten BASIC Spiel taucht folgende Befehlsreihenfolge auf:

ENV 1,100,2,2,1,1,1
ENT 1,100,-2,2
SOUND 1,284,200,1,1,1

Wie setzt man sowas in Assembler um? 

Ich hab schon auf dem Wiki geschaut, aber die arbeiten nur mit Byte-Werten. Bei mir gibt es aber den Wert 284, also mehr wie acht Bit.

Werd aus dem englischen Zeuchs nicht schlau draus.  :(   

BSC:
Hallo oobdoo,

ich weiß ja nicht, in welchem Wiki du nachgesehen hast, aber im CPC Systembuch ist das alles ziemlich gut beschrieben. Schau mal hier:

Das Schneider CPC Systembuch: Die Firmware des Schneider CPC: SOUND MANAGER

Weiter unten steht auch, wie man ENV und ENT umsetzt: Mit SOUND AMPL ENVELOPE pzw SOUND TONE ENVELOPE.

Die Werte >255 werden übrigens als 16-Bit-Worte angegeben (siehe z.b. DEFW Periodenlänge im Parameterblock für den Aufruf von SOUND QUEUE - das ist der Link oben)

oobdoo:
Ich hatte auf cpcwiki.eu geschaut.
Das Buch kannte ich noch gar nicht. Danke für den Tip.  ;D
Mal schauen ob ich damit weiter komme.

oobdoo:

--- Code: ---org &4000
.sque     equ &bcaa
    ld hl,sdata
    call sque
    ret
.sdata     defb 1
    defb 1
    defb 1
    defw 284
    defb 0
    defb 1
    defw 200
   
--- End code ---

Macht schonmal das gleiche wie SOUND 1,284,200,1,1,1  :D

oobdoo:
 ;D ;D ;D ;D ;D ;D ;D ;D

Hat geklappt, froi.


--- Quote ---org &4000
.sque     equ &bcaa

       ld a,1
       ld hl,env
       call &bcbc

       ld a,1
       ld hl,ent
       call &bcbf

    ld hl,sdata
    call sque
    ret
   
.sdata     defb 1
    defb 1
    defb 1
    defw 284
    defb 0
    defb 1
    defw 200
   
.env defb 1,100,2,2,1,1,1

.ent defb 1,100,-2,2
--- End quote ---

Navigation

[0] Message Index

[#] Next page

Go to full version
Powered by SMFPacks Reactions Mod
Powered by SMFPacks Alerts Pro Mod
Powered by SMFPacks Mentions Pro Mod