SNESmusic.org

the music archive ~ version 2ξ

SNESMusic.org

Menu

Home
Soundtracks
  Random Pick
  Top 100
  Coverage
  Torrent
SPC Players
Composers
Companies
Games
  Japan
  America
  Europe
  SatellaView
  Beta
Contributors
Wiki

Search

Donate

Support the creator of SNESAmp

Related

external snesmusic forums

portable music history

console music history

motoi sakuraba unofficial english website

hoot archive

sakuraba wiki

alpha-ii.com

※ {PARAM1} = #{NUM},i{PORT},(o){PORT},w{WORK},r(b){RAM},rw{RAM},rd{RAM},x{XRAM},
d(b){DATA},dw{DATA},dd{DATA}, ( #?,i?,(o)?,w?,r(b)?,rw?,rd?,x?,d(b)?,dw?,dd? )

※ {PARAM2} = (i){PORT},o{PORT},w{WORK},r(b){RAM},rw{RAM},rd{RAM},x{XRAM},
d(b){DATA},dw{DATA},dd{DATA}, ( (i)?,o?,w?,r(b)?,rw?,rd?,x?,d(b)?,dw?,dd? )

※ {PARAM3} = (#){NUM},i{PORT},o{PORT},w{WORK},r(b){RAM},rw{RAM},rd{RAM},x{XRAM},
d(b){DATA},dw{DATA},dd{DATA}, ( (#)?,i?,o?,w?,r(b)?,rw?,rd?,x?,d(b)?,dw?,dd? )


Parameters as a direct value.
- #{NUM} - Immediate value (# is required on {PARAM1}, optional on {PARAM3}. This is not a valid parameter for {PARAM2})
- i{PORT} - Inport value (0-3) (i is required on {PARAM1} and {PARAM3}, optional on {PARAM2})
- (o){PORT} - Outport value (0-3) (o is optional on {PARAM1}, required on {PARAM3})
- w{WORK} - Temporary work value - (0-7)
- x{XRAM} - SPC700 extra ram, 64 bytes.
- r(b){RAM} - SPC700 main ram, 64Kbytes, addressed as byte. (b is optional, implied as byte)
- rw{RAM} - SPC700 main ram, addressed as word (2 bytes)
- rd{RAM} - SPC700 main ram, addressed as Double word (4 bytes)
- d(b){DATA} - Data area of script700 script, addressed as byte (b is optional, implied as byte)
- dw{DATA} - Data area of script700 script, addressed as word (2 bytes)
- dd{DATA} - Data area of script700 script, addressed as double word (4 bytes)

Parameters as an indirect value. Use the c command to load the working direct/indirect values.
- #? - Immediate value.
- i? - Inport value (0-3)
- o? - Outport value (0-3)
- w? - Temporary work value (0-7)
- r(b)? - SPC700 ram byte (0-65535)
- rw? - SPC700 ram word
- rd? - SPC700 double word.
- d(b)? - Script700 data area byte (unknown limit)
- dw? - Script700 data area word
- dd? - Script700 data area double word.


Commands:

- :{LABEL} - Define a label ( such as :001 or :002 ). These are used exclusively for the branch commands.
- w {PARAM3} - Wait for {PARAM3} cycles.
- m {PARAM1} {PARAM2} - Move {PARAM1} to {PARAM2}
- c {PARAM1} {PARAM1} - Load the two {PARAM1} type parameters into a space. This serves as compare for branch operations, and as values for the xx? parameters.
- a {PARAM1} {PARAM2} - Add {PARAM1} to {PARAM2}
- s {PARAM1} {PARAM2} - Subtract {PARAM1} from {PARAM2}
- u {PARAM1} {PARAM2} - Multiply {PARAM1} by {PARAM2}
- d {PARAM1} {PARAM2} - Divide {PARAM1} by {PARAM2}
- n {PARAM1} +,-,*,/,\,%,$,&,|,^,<,>,_,! {PARAM2} - Logical operation between {PARAM1} and {PARAM2}

--- These all branch to {LABEL} if the compare condition is true.
- bra {LABEL} - Uncoditional Branch
- beq {LABEL} - Branch if equal
- bne {LABEL} - Branch if not equal
- bge {LABEL} - Branch if Greater than or equal
- ble {LABEL} - Branch if Less than or equal
- bgt {LABEL} - Branch if Greater than
- blt {LABEL} - Branch if Less than
- bcc {LABEL} - Branch if Carry Clear
- blo {LABEL} - Branch if Low
- bhi {LABEL} - Branch if High
- bcs {LABEL} - Branch if Carry Set

--- Remaining commands.
- nop - No operation - Same as w 1, only takes 1 compiled byte instead of 5.
- e - End script700 execution. (Every script must have this, even if it is an infinite loop)



Append | Home
(p) & (c) 2000-2023 the SPC dumpers group. Created & maintained by Datschge, updated by YK, supported by Knurek (VGR), Anti Resonance, Halley's Comet Software, Grass-eatin'me, CaitSith2, Kai, Kung Fu Furby and many others. If you want to contribute you are invited to contact us.

XHTML 1.0 compliancy Subscribe to this site's update feed.