⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xyd.asm

📁 完整的方案
💻 ASM
字号:
PlayXYDBlockWithRec:
         R1=[_RecordFlag]
         R1|=EnRecRegBit
         [_RecordFlag]=R1
         R1=0
         [_RecordFileNum]=R1
         [_RecordOrgFileNum]=R1
PlayXYDBlock:
         CALL ReadNandByte
         [_FileNumber]=R1
         CALL NandAddrInc
         [_PlayAddr]=R3
         [_PlayBank]=R4
         R1=1
         [_InPlayBlock]=R1
         R1=0
         [_FileIndex]=R1
         RETF

GetRandomSoundIndex:
         R3=[_RSAddr]
         R4=[_RSAddrB]
         R2=R1 LSL 1
         R1+=R2
         CALL NandAddrAdd
         CALL ReadNandAddr
         R4&=0xff
         CALL AddrChg
         CALL AddBookAddr
         CALL ReadNandByte
         CALL GetRandomData        
         R1=R1 LSL 1
         R1+=1
         CALL NandAddrAdd
         CALL ReadNandWord
         [_Index]=R1
         RETF

PlayRamdomSoundGroup:
         R2=InsSpecialSoundGroupMode
         [_InsMode]=R2
GetRandomSoundGroup:
         R3=[_RSGAddr]
         R4=[_RSGAddrB]
         R2=R1 LSL 1
         R1+=R2
         CALL NandAddrAdd
         CALL ReadNandAddr                 // r4,r3       
         CALL AddrChg
         CALL AddBookAddr
         CALL ReadNandByte
         CALL GetRandomData         
         R1=R1 LSL 1
         R1+=1
         CALL NandAddrAdd
         CALL ReadNandWord
PlaySoundGroup:
         R2=InsSpecialSoundGroupMode
         [_InsMode]=R2
         R3=[_SSGAddr]
         R4=[_SSGAddrB]
         R2=R1 LSL 1
         R1+=R2
         CALL NandAddrAdd
         CALL ReadNandAddr   
         R4&=0xff
         CALL AddrChg   
         CALL AddBookAddr      
         [_InsertPlayBank]=R4           // bank
         [_InsertPlayAddr]=R3           // addr
         CALL ReadNandByte
         [_InsertFileNumber]=R1         
         CALL NandAddrInc
         [_InsertPlayBank]=R4           // bank
         [_InsertPlayAddr]=R3           // addr
         R1=0
         [_InsertFileIndex]=R1
         RETF

TestSpcFunc:
         R1=[_SeriousFlag]
         TEST R1, 0x03
         JNE TestSpcFuncWithSpc
         R1=[_BlockFlag]
         TEST R1, HaveSelectionQuestionBit
         JNE TestSpcFuncWithSpc
TestSpcFuncNoSpc:
         R1=0
         RETF
TestSpcFuncWithSpc:
         R1=1
         RETF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -