add loader
This commit is contained in:
320
snes/loader/routines/menufiles.asm
Normal file
320
snes/loader/routines/menufiles.asm
Normal file
@@ -0,0 +1,320 @@
|
||||
.Section "menu files" superfree
|
||||
/*
|
||||
these are the menu files for menusystem.asm
|
||||
|
||||
menu table format:
|
||||
byte function
|
||||
2 starting position of first option text on bg3 tilemap
|
||||
1 relative starting position of first option variable(*2+starting position of first option text on bg3 tilemap)
|
||||
1 number of seperating rows between options
|
||||
1 number of rows/options
|
||||
2xrow quantity relative pointer to data for each row
|
||||
|
||||
|
||||
row table format:
|
||||
1 option data type (maximum number:7)
|
||||
0x0=no options, only exec subroutine
|
||||
0x1=1 byte
|
||||
0x2=8 bits
|
||||
0x3=interchangeable options with description text (eg: "sound: mono/stereo) . number of options is variable and limited by the bitmask
|
||||
0x4=3byte adress with individual control over each byte(not implemented yet)
|
||||
1 bitmask for changeable bits if data type=0x2; bitmask(usually only one bit) to determine the string to choose if data type=0x3(if zero=string 1, if not zero=string 2)
|
||||
1 minimum value for option, wrap to maximum value if changed value equals this
|
||||
1 maximum value for option, wrap to minimum value if changed value equals this
|
||||
3 24bit adress of option byte to change
|
||||
1 Number of subroutine to execute when option is changed(number can be found in MenuSubroutineLUT)
|
||||
1 palette number when unselected
|
||||
1 palette number when selected
|
||||
2xstring quant. relative pointer to text string
|
||||
x option text string(s), #$00 terminated
|
||||
|
||||
|
||||
*/
|
||||
MenuFilesPTable:
|
||||
.dw MenuFile0
|
||||
.dw MenuFile1
|
||||
.dw MenuFile2
|
||||
|
||||
|
||||
MenuFiles:
|
||||
MenuFile0:
|
||||
.dw $0306 ;starting position of first option text on bg3 tilemap
|
||||
.db 16 ;relative starting position of first option variable
|
||||
.db 0 ;number of seperating rows between options
|
||||
.db 6 ;number of rows/options
|
||||
.dw (MenuFile0Row0-MenuFile0)
|
||||
.dw (MenuFile0Row1-MenuFile0)
|
||||
.dw (MenuFile0Row2-MenuFile0)
|
||||
.dw (MenuFile0Row3-MenuFile0)
|
||||
.dw (MenuFile0Row4-MenuFile0)
|
||||
.dw (MenuFile0Row5-MenuFile0)
|
||||
|
||||
|
||||
MenuFile0Row0:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $ff ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw CurrentLevel ;24bit adress of option byte to change
|
||||
.db $7E
|
||||
.db 1 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile0Row0String0-MenuFile0)
|
||||
MenuFile0Row0String0:
|
||||
.db "Jump to ROM"
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile0Row1:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $ff ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw CurrentBattleFile ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 2 ;2 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile0Row1String0-MenuFile0)
|
||||
MenuFile0Row1String0:
|
||||
.db "Jump to RAM"
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile0Row2:
|
||||
.db 3 ;option data type (maximum number:7)
|
||||
.db 7 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db 1 ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw IrqRoutineNumberBuffer ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 0 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile0Row2String0-MenuFile0)
|
||||
.dw (MenuFile0Row2String1-MenuFile0)
|
||||
.dw (MenuFile0Row2String2-MenuFile0)
|
||||
|
||||
MenuFile0Row2String0:
|
||||
.db "Video-IRQ"
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile0Row2String1:
|
||||
.db "Disable"
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile0Row2String2:
|
||||
.db "Enable "
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
MenuFile0Row3:
|
||||
.db 1 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $ff ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw Reg3000WriteVar ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 4 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile0Row3String0-MenuFile0)
|
||||
MenuFile0Row3String0:
|
||||
.db "$00:3000 Write"
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
MenuFile0Row4:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db 31 ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw PtPlayerCurrentSoundEffect ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 3 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile0Row4String0-MenuFile0)
|
||||
MenuFile0Row4String0:
|
||||
.db "Audio Menu"
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile0Row5:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $7f ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw SpcSEVolume ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 12 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile0Row5String0-MenuFile0)
|
||||
MenuFile0Row5String0:
|
||||
.db "Calc Chsum"
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;audio menu
|
||||
MenuFile1:
|
||||
.dw $0306 ;starting position of first option text on bg3 tilemap
|
||||
.db 20 ;relative starting position of first option variable
|
||||
.db 0 ;number of seperating rows between options
|
||||
.db 6 ;number of rows/options
|
||||
.dw (MenuFile1Row2-MenuFile1)
|
||||
.dw (MenuFile1Row7-MenuFile1)
|
||||
.dw (MenuFile1Row8-MenuFile1)
|
||||
.dw (MenuFile1Row9-MenuFile1)
|
||||
.dw (MenuFile1Row10-MenuFile1)
|
||||
.dw (MenuFile1Row11-MenuFile1)
|
||||
|
||||
|
||||
|
||||
|
||||
MenuFile1Row2:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db 0 ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw PtPlayerCurrentSong ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 5 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile1Row2String0-MenuFile1)
|
||||
MenuFile1Row2String0:
|
||||
.db "Upload,play song"
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
|
||||
MenuFile1Row7:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db 59 ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw SpcSEPitch ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 8 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile1Row7String0-MenuFile1)
|
||||
MenuFile1Row7String0:
|
||||
.db "Stop song"
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
MenuFile1Row8:
|
||||
.db 1 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $ff ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw SpcSongSpeed ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 9 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile1Row8String0-MenuFile1)
|
||||
MenuFile1Row8String0:
|
||||
.db "Set song speed"
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
MenuFile1Row9:
|
||||
.db 2 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $0f ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw SpcSongChMask ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 10 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile1Row9String0-MenuFile1)
|
||||
MenuFile1Row9String0:
|
||||
.db "Song channel mask"
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
MenuFile1Row10:
|
||||
.db 3 ;option data type (maximum number:7)
|
||||
.db 7 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db 7 ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw SpcReportType ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 11 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile1Row10String0-MenuFile1)
|
||||
.dw (MenuFile1Row10String1-MenuFile1)
|
||||
.dw (MenuFile1Row10String2-MenuFile1)
|
||||
.dw (MenuFile1Row10String3-MenuFile1)
|
||||
.dw (MenuFile1Row10String4-MenuFile1)
|
||||
.dw (MenuFile1Row10String1-MenuFile1)
|
||||
.dw (MenuFile1Row10String1-MenuFile1)
|
||||
.dw (MenuFile1Row10String1-MenuFile1)
|
||||
.dw (MenuFile1Row10String1-MenuFile1)
|
||||
MenuFile1Row10String0:
|
||||
.db "Spc Report Type"
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile1Row10String1:
|
||||
.db "None "
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile1Row10String2:
|
||||
.db "Timecode"
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile1Row10String3:
|
||||
.db "Vol Out "
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile1Row10String4:
|
||||
.db "Mod Cmd "
|
||||
.db $00 ;terminator
|
||||
|
||||
MenuFile1Row11:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $0f ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw SpcSongChMask ;24bit adress of option byte to change
|
||||
.db $7e
|
||||
.db 13 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile1Row11String0-MenuFile1)
|
||||
MenuFile1Row11String0:
|
||||
.db "Return"
|
||||
.db $00
|
||||
|
||||
MenuFile2:
|
||||
.dw $0306 ;starting position of first option text on bg3 tilemap
|
||||
.db 16 ;relative starting position of first option variable
|
||||
.db 0 ;number of seperating rows between options
|
||||
.db 1 ;number of rows/options
|
||||
.dw (MenuFile2Row0-MenuFile2)
|
||||
|
||||
MenuFile2Row0:
|
||||
.db 0 ;option data type (maximum number:7)
|
||||
.db 0 ;bitmask for changeable bits
|
||||
.db 0 ;minimum value for option, wrap to maximum value if changed value equals this
|
||||
.db $ff ;maximum value for option, wrap to minimum value if changed value equals this
|
||||
.dw CurrentLevel ;24bit adress of option byte to change
|
||||
.db $7E
|
||||
.db 13 ;number of subroutine to execute
|
||||
.db 1 ;palette number when unselected
|
||||
.db 0 ;palette number when selected
|
||||
.dw (MenuFile2Row0String0-MenuFile2)
|
||||
MenuFile2Row0String0:
|
||||
.db "Return"
|
||||
.db $00 ;terminator
|
||||
|
||||
|
||||
|
||||
|
||||
.ends
|
||||
Reference in New Issue
Block a user