320 lines
11 KiB
NASM
320 lines
11 KiB
NASM
.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 |