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

📄 mips_stub.s

📁 psp上的GBA模拟器
💻 S
📖 第 1 页 / 共 5 页
字号:
  load_u16_unaligned (iwram + 0x8000)execute_load_io_u16u:  translate_region_align 4, 1, 1, patch_load_u16, io_registers, 0x3FE  load_u16_unaligned io_registersexecute_load_palette_u16u:  translate_region_align 5, 1, 1, patch_load_u16, palette_ram, 0x3FE  load_u16_unaligned palette_ramexecute_load_vram_u16u:  translate_region_vram_load_align16 1, 1, patch_load_u16  load_u16_unaligned vramexecute_load_oam_u16u:  translate_region_align 7, 1, 1, patch_load_u16, oam_ram, 0x3FE  load_u16_unaligned oam_ramexecute_load_gamepak8_u16u:  translate_region_gamepak_align16 8, 1, 1, patch_load_u16  load_u16_unaligned 0execute_load_gamepak9_u16u:  translate_region_gamepak_align16 9, 1, 1, patch_load_u16  load_u16_unaligned 0execute_load_gamepakA_u16u:  translate_region_gamepak_align16 10, 1, 1, patch_load_u16  load_u16_unaligned 0execute_load_gamepakB_u16u:  translate_region_gamepak_align16 11, 1, 1, patch_load_u16  load_u16_unaligned 0execute_load_gamepakC_u16u:  translate_region_gamepak_align16 12, 1, 1, patch_load_u16  load_u16_unaligned 0execute_load_eeprom_u16u:  eeprom_load_align16 1, 1, patch_load_u16execute_load_backup_u16u:  backup_load_align16 1, 1, patch_load_u16  ror $2, $2, 8                   # rotate value by 8bitsexecute_load_open_u16u:  open_load16_align16 1, 1, patch_load_u16  ror $2, $2, 8                   # rotate value by 8bitsload_u16_ftable:  .long execute_load_bios_u16     # 0x00 BIOS  .long execute_load_open_u16     # 0x01 open address  .long execute_load_ewram_u16    # 0x02 EWRAM  .long execute_load_iwram_u16    # 0x03 IWRAM  .long execute_load_io_u16       # 0x04 I/O registers  .long execute_load_palette_u16  # 0x05 Palette RAM  .long execute_load_vram_u16     # 0x06 VRAM  .long execute_load_oam_u16      # 0x07 OAM RAM  .long execute_load_gamepak8_u16 # 0x08 gamepak  .long execute_load_gamepak9_u16 # 0x09 gamepak  .long execute_load_gamepakA_u16 # 0x0A gamepak  .long execute_load_gamepakB_u16 # 0x0B gamepak  .long execute_load_gamepakC_u16 # 0x0C gamepak  .long execute_load_eeprom_u16   # 0x0D gamepak/eeprom  .long execute_load_backup_u16   # 0x0E Flash ROM/SRAM  .long execute_load_open_u16     # 0x0F open  .long execute_load_bios_u16u    # 0x00 BIOS unaligned  .long execute_load_open_u16u    # 0x01 open address unaligned  .long execute_load_ewram_u16u   # 0x02 EWRAM unaligned  .long execute_load_iwram_u16u   # 0x03 IWRAM unaligned  .long execute_load_io_u16u      # 0x04 I/O registers unaligned  .long execute_load_palette_u16u # 0x05 Palette RAM unaligned  .long execute_load_vram_u16u    # 0x06 VRAM unaligned  .long execute_load_oam_u16u     # 0x07 OAM RAM unaligned  .long execute_load_gamepak8_u16u# 0x08 gamepak unaligned  .long execute_load_gamepak9_u16u# 0x09 gamepak unaligned  .long execute_load_gamepakA_u16u# 0x0A gamepak unaligned  .long execute_load_gamepakB_u16u# 0x0B gamepak unaligned  .long execute_load_gamepakC_u16u# 0x0C gamepak unaligned  .long execute_load_eeprom_u16u  # 0x0D gamepak/eeprom unaligned  .long execute_load_backup_u16u  # 0x0E Flash ROM/SRAM unaligned  .long execute_load_open_u16u    # 0x0F open unalignedpatch_load_u16:  patch_handler_align load_u16_ftable, 1# Signed aligned 16bit load handlersexecute_load_bios_s16:  region_check_align 0, 1, 0, patch_load_s16  srl $2, $5, 14                  # check if PC is in BIOS region  bne $2, $0, 1f                  # if not, perform BIOS protected read  lui $1, %hi(bios_rom)           # generate upper address (delay)  andi $4, $4, 0x3FFF             # generate offset  addu $2, $1, $4  load_s16 bios_rom1:  lui $2, %hi(bios_read_protect)  # generate upper address  ins $2, $1, 0, 2                # bit 1 contributes  load_s16 bios_read_protectexecute_load_ewram_s16:  translate_region_ewram_load_align 1, 0, patch_load_s16  load_s16 (ewram + 0x8000)execute_load_s16:execute_load_iwram_s16:  translate_region_align 3, 1, 0, patch_load_s16, (iwram + 0x8000), 0x7FFF  load_s16 (iwram + 0x8000)execute_load_io_s16:  translate_region_align 4, 1, 0, patch_load_s16, io_registers, 0x3FF  load_s16 io_registersexecute_load_palette_s16:  translate_region_align 5, 1, 0, patch_load_s16, palette_ram, 0x3FF  load_s16 palette_ramexecute_load_vram_s16:  translate_region_vram_load_align 1, 0, patch_load_s16  load_s16 vramexecute_load_oam_s16:  translate_region_align 7, 1, 0, patch_load_s16, oam_ram, 0x3FF  load_s16 oam_ramexecute_load_gamepak8_s16:  translate_region_gamepak_align 8, 1, 0, patch_load_s16  load_s16 0execute_load_gamepak9_s16:  translate_region_gamepak_align 9, 1, 0, patch_load_s16  load_s16 0execute_load_gamepakA_s16:  translate_region_gamepak_align 10, 1, 0, patch_load_s16  load_s16 0execute_load_gamepakB_s16:  translate_region_gamepak_align 11, 1, 0, patch_load_s16  load_s16 0execute_load_gamepakC_s16:  translate_region_gamepak_align 12, 1, 0, patch_load_s16  load_s16 0execute_load_eeprom_s16:  eeprom_load_align 1, 0, patch_load_s16execute_load_backup_s16:  backup_load_align 1, 0, patch_load_s16  nopexecute_load_open_s16:  open_load16_align 1, 0, patch_load_s16  nop# Signed unaligned 16bit load handlersexecute_load_bios_s16u:  region_check_align 0, 1, 1, patch_load_s16  srl $2, $5, 14                  # check if PC is in BIOS region  bne $2, $0, 1f                  # if not, perform BIOS protected read  lui $1, %hi(bios_rom)           # generate upper address (delay)  andi $4, $4, 0x3FFE             # generate offset  addu $2, $1, $4  load_s16_unaligned bios_rom1:  lui $2, %hi(bios_read_protect)  # generate upper address  ext $1, $4, 1, 1  ins $2, $1, 1, 1                # bit 1 contributes  load_s16_unaligned bios_read_protectexecute_load_ewram_s16u:  translate_region_ewram_load_align16 1, 1, patch_load_s16  load_s16_unaligned (ewram + 0x8000)execute_load_iwram_s16u:  translate_region_align 3, 1, 1, patch_load_s16, (iwram + 0x8000), 0x7FFE  load_s16_unaligned (iwram + 0x8000)execute_load_io_s16u:  translate_region_align 4, 1, 1, patch_load_s16, io_registers, 0x3FE  load_s16_unaligned io_registersexecute_load_palette_s16u:  translate_region_align 5, 1, 1, patch_load_s16, palette_ram, 0x3FE  load_s16_unaligned palette_ramexecute_load_vram_s16u:  translate_region_vram_load_align16 1, 1, patch_load_s16  load_s16_unaligned vramexecute_load_oam_s16u:  translate_region_align 7, 1, 1, patch_load_s16, oam_ram, 0x3FE  load_s16_unaligned oam_ramexecute_load_gamepak8_s16u:  translate_region_gamepak_align16 8, 1, 1, patch_load_s16  load_s16_unaligned 0execute_load_gamepak9_s16u:  translate_region_gamepak_align16 9, 1, 1, patch_load_s16  load_s16_unaligned 0execute_load_gamepakA_s16u:  translate_region_gamepak_align16 10, 1, 1, patch_load_s16  load_s16_unaligned 0execute_load_gamepakB_s16u:  translate_region_gamepak_align16 11, 1, 1, patch_load_s16  load_s16_unaligned 0execute_load_gamepakC_s16u:  translate_region_gamepak_align16 12, 1, 1, patch_load_s16  load_s16_unaligned 0execute_load_eeprom_s16u:  eeprom_load_align 1, 1, patch_load_s16execute_load_backup_s16u:  backup_load_align 1, 1, patch_load_s16  seb $2, $2                      # sign extend result from 8bitsexecute_load_open_s16u:  open_load16_align 1, 1, patch_load_s16  seb $2, $2                      # sign extend result from 8bitsload_s16_ftable:  .long execute_load_bios_s16     # 0x00 BIOS  .long execute_load_open_s16     # 0x01 open address  .long execute_load_ewram_s16    # 0x02 EWRAM  .long execute_load_iwram_s16    # 0x03 IWRAM  .long execute_load_io_s16       # 0x04 I/O registers  .long execute_load_palette_s16  # 0x05 Palette RAM  .long execute_load_vram_s16     # 0x06 VRAM  .long execute_load_oam_s16      # 0x07 OAM RAM  .long execute_load_gamepak8_s16 # 0x08 gamepak  .long execute_load_gamepak9_s16 # 0x09 gamepak  .long execute_load_gamepakA_s16 # 0x0A gamepak  .long execute_load_gamepakB_s16 # 0x0B gamepak  .long execute_load_gamepakC_s16 # 0x0C gamepak  .long execute_load_eeprom_s16   # 0x0D gamepak/eeprom  .long execute_load_backup_s16   # 0x0E Flash ROM/SRAM  .long execute_load_open_s16     # 0x0F open unaligned  .long execute_load_bios_s16u    # 0x00 BIOS unaligned  .long execute_load_open_s16u    # 0x01 open address unaligned  .long execute_load_ewram_s16u   # 0x02 EWRAM unaligned  .long execute_load_iwram_s16u   # 0x03 IWRAM unaligned  .long execute_load_io_s16u      # 0x04 I/O registers unaligned  .long execute_load_palette_s16u # 0x05 Palette RAM unaligned  .long execute_load_vram_s16u    # 0x06 VRAM unaligned  .long execute_load_oam_s16u     # 0x07 OAM RAM unaligned  .long execute_load_gamepak8_s16u# 0x08 gamepak unaligned  .long execute_load_gamepak9_s16u# 0x09 gamepak unaligned  .long execute_load_gamepakA_s16u# 0x0A gamepak unaligned  .long execute_load_gamepakB_s16u# 0x0B gamepak unaligned  .long execute_load_gamepakC_s16u# 0x0C gamepak unaligned  .long execute_load_eeprom_s16u  # 0x0D gamepak/eeprom unaligned  .long execute_load_backup_s16u  # 0x0E Flash ROM/SRAM unaligned  .long execute_load_open_s16u    # 0x0F open unalignedpatch_load_s16:  patch_handler_align load_s16_ftable, 1# Unsigned aligned 32bit load handlersexecute_load_bios_u32:  region_check_align 0, 2, 0, patch_load_u32  srl $2, $5, 14                  # check if PC is in BIOS region  bne $2, $0, 1f                  # if not, perform BIOS protected read  lui $1, %hi(bios_rom)           # generate upper address (delay)  andi $4, $4, 0x3FFF             # generate offset  addu $2, $1, $4  load_u32 bios_rom1:  lui $2, %hi(bios_read_protect)  # generate upper address  load_u32 bios_read_protectexecute_load_ewram_u32:  translate_region_ewram_load_align 2, 0, patch_load_u32  load_u32 (ewram + 0x8000)execute_load_u32:execute_load_iwram_u32:  translate_region_align 3, 2, 0, patch_load_u32, (iwram + 0x8000), 0x7FFF  load_u32 (iwram + 0x8000)execute_load_io_u32:  translate_region_align 4, 2, 0, patch_load_u32, io_registers, 0x3FF  load_u32 io_registersexecute_load_palette_u32:  translate_region_align 5, 2, 0, patch_load_u32, palette_ram, 0x3FF  load_u32 palette_ramexecute_load_vram_u32:  translate_region_vram_load_align 2, 0, patch_load_u32  load_u32 vramexecute_load_oam_u32:  translate_region_align 7, 2, 0, patch_load_u32, oam_ram, 0x3FF  load_u32 oam_ramexecute_load_gamepak8_u32:  translate_region_gamepak_align 8, 2, 0, patch_load_u32  load_u32 0execute_load_gamepak9_u32:  translate_region_gamepak_align 9, 2, 0, patch_load_u32  load_u32 0execute_load_gamepakA_u32:  translate_region_gamepak_align 10, 2, 0, patch_load_u32  load_u32 0execute_load_gamepakB_u32:  translate_region_gamepak_align 11, 2, 0, patch_load_u32  load_u32 0execute_load_gamepakC_u32:  translate_region_gamepak_align 12, 2, 0, patch_load_u32  load_u32 0execute_load_eeprom_u32:  eeprom_load_align 2, 0, patch_load_u32execute_load_backup_u32:  backup_load_align 2, 0, patch_load_u32  nopexecute_load_open_u32:  open_load32_align 2, 0, patch_load_u32  nop# Unsigned unaligned (by 1) 32bit load handlersexecute_load_bios_u32u1:  region_check_align 0, 2, 1, patch_load_u32  srl $2, $5, 14                  # check if PC is in BIOS region  bne $2, $0, 1f                  # if not, perform BIOS protected read  lui $1, %hi(bios_rom)           # generate upper address (delay)  andi $4, $4, 0x3FFC             # generate offset  addu $2, $1, $4  load_u32_unaligned bios_rom, 11:  lui $2, %hi(bios_read_protect)  # generate upper address  load_u32_unaligned bios_read_protect, 1execute_load_ewram_u32u1:  translate_region_ewram_load_align32 2, 1, patch_load_u32  load_u32_unaligned (ewram + 0x8000), 1execute_load_iwram_u32u1:  translate_region_align 3, 2, 1, patch_load_u32, (iwram + 0x8000), 0x7FFC  load_u32_unaligned (iwram + 0x8000), 1execute_load_io_u32u1:  translate_region_align 4, 2, 1, patch_load_u32, io_registers, 0x3FC  load_u32_unaligned io_registers, 1execute_load_palette_u32u1:  translate_region_align 5, 2, 1, patch_load_u32, palette_ram, 0x3FC  load_u32_unaligned palette_ram, 1execute_load_vram_u32u1:  translate_region_vram_load_align32 2, 1, patch_load_u32  load_u32_unaligned vram, 1execute_load_oam_u32u1:  translate_region_align 7, 2, 1, patch_load_u32, oam_ram, 0x3FC  load_u32_unaligned oam_ram, 1execute_load_gamepak8_u32u1:  translate_region_gamepak_align32 8, 2, 1, patch_load_u32  load_u32_unaligned 0, 1execute_load_gamepak9_u32u1:  translate_region_gamepak_align32 9, 2, 1, patch_load_u32  load_u32_unaligned 0, 1execute_load_gamepakA_u32u1:  translate_region_gamepak_align32 10, 2, 1, patch_load_u32  load_u32_unaligned 0, 1execute_load_gamepakB_u32u1:  translate_region_gamepak_align32 11, 2, 1, patch_load_u32  load_u32_unaligned 0, 1execute_load_gamepakC_u32u1:  translate_region_gamepak_align32 12, 2, 1, patch_load_u32  load_u32_unaligned 0, 1execute_load_eeprom_u32u1:  eeprom_load_align32 2, 1, patch_load_u32execute_load_backup_u32u1:  backup_load_align32 2, 1, patch_load_u32  ror $2, $2, 8                   # rotate value by 8bits

⌨️ 快捷键说明

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