summaryrefslogtreecommitdiff
path: root/src/spc700a.s
diff options
context:
space:
mode:
authorTwinaphex2018-04-20 19:20:23 +0200
committerGitHub2018-04-20 19:20:23 +0200
commite61482a7da8d4f8419ed51ab08151a70f67276e9 (patch)
tree7cb603ff5f97a3487944a333a716108be814fdeb /src/spc700a.s
parent05632d536deb10fef7b8f95d73d3b998f1e91250 (diff)
downloadsnes9x2002-e61482a7da8d4f8419ed51ab08151a70f67276e9.tar.gz
snes9x2002-e61482a7da8d4f8419ed51ab08151a70f67276e9.tar.bz2
snes9x2002-e61482a7da8d4f8419ed51ab08151a70f67276e9.zip
Rename spc700a.s to spc700a.S
Diffstat (limited to 'src/spc700a.s')
-rw-r--r--src/spc700a.s28367
1 files changed, 0 insertions, 28367 deletions
diff --git a/src/spc700a.s b/src/spc700a.s
deleted file mode 100644
index b9cf0b5..0000000
--- a/src/spc700a.s
+++ /dev/null
@@ -1,28367 +0,0 @@
-@ notaz's SPC700 Emulator v0.12 - Assembler Output
-
-@ (c) Copyright 2006 notaz, All rights reserved.
-
-@ Modified by bitrider 2010
-
-@ this is a rewrite of spc700.cpp in ARM asm, inspired by other asm CPU cores like
-@ Cyclone and DrZ80. It is meant to be used in Snes9x emulator ports for ARM platforms.
-
-@ the code is released under Snes9x license. See spcgen.c or any other source file
-@ from Snes9x source tree.
-
-
- .extern IAPU
- .extern CPU @ for STOP and SLEEP
- .extern S9xAPUGetByte
- .extern S9xAPUSetByte
- .extern S9xAPUGetByteZ
- .extern S9xAPUSetByteZ
-
- .extern S9xGetAPUDSP
- .extern S9xSetAPUDSP
- .extern S9xSetAPUControl
- .extern S9xAPUSetByteFFC0
- .extern S9xAPUSetByteFFtoF0
- .global spc700_execute @ int cycles
- .global Spc700JumpTab_13
- .global Spc700JumpTab_14
- .global Spc700JumpTab_15
- .global Spc700JumpTab_21
-
- opcode .req r3
- cycles .req r4
- context .req r5
- opcodes .req r6
- spc_pc .req r7
- spc_ya .req r8
- spc_p .req r9
- spc_x .req r10
- spc_s .req r11
- spc_ram .req r12
-
- .equ iapu_directpage, 0x00
- .equ iapu_ram, 0x44
- .equ iapu_extraram, 0x48
- .equ iapu_allregs_load, 0x30
- .equ iapu_allregs_save, 0x34
-
- .equ flag_c, 0x01
- .equ flag_z, 0x02
- .equ flag_i, 0x04
- .equ flag_h, 0x08
- .equ flag_b, 0x10
- .equ flag_d, 0x20
- .equ flag_o, 0x40
- .equ flag_n, 0x80
-
- .equ cpu_apu_executing, 124
-
-@ --------------------------- Framework --------------------------
- .align 4
- .text
-spc700_execute: @ int cycles
- stmfd sp!,{r4-r11,lr}
- ldr context,=IAPU @ Pointer to SIAPU struct
- mov cycles,r0 @ Cycles
- add r0,context,#iapu_allregs_load
- ldmia r0,{opcodes,spc_pc,spc_ya,spc_p,spc_x,spc_ram}
- ldrb opcode,[spc_pc],#1 @ Fetch first opcode
- mov spc_s,spc_x,lsr #8
- and spc_x,spc_x,#0xff
-
- ldr pc,[opcodes,opcode,lsl #2] @ Jump to opcode handler
-
-
-@ We come back here after execution
-spc700End:
- orr spc_x,spc_x,spc_s,lsl #8
- add r0,context,#iapu_allregs_save
- stmia r0,{spc_pc,spc_ya,spc_p,spc_x}
- mov r0,cycles
- ldmfd sp!,{r4-r11,pc}
-
- .ltorg
-
-GetAPUDSP:
- ldrb r1, [spc_ram, #0xf2]
- mov r0, #0
- and r2, r1, #0X0f
- cmp r2, #0x08
- bxeq lr
- cmp r2, #0x09
- ldrne r2, .APU_DSP
- and r1, r1, #0X7f
- ldrneb r0, [r2, r1]
- bxne lr
- ldr r2, .SOUNDDATA_CHANNELS
- mov r1, r1, lsr #4
- ldr r0, [r2, r1, asl #8]
- add r1, r2, r1, asl #8
- cmp r0, #0
- ldrneh r1, [r1, #0x48]
- bxeq lr
- and r0, r1, #0xff
- orr r0, r0, r1, lsr #8
- bx lr
-.APU_DSP:
- .long APU + 0x0b
-.SOUNDDATA_CHANNELS:
- .long SoundData + 0x30
- .align 4
-
-
-Apu00_13:
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu01_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1e]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu02_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu03_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu04_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu05_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu06_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu07_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu08_13:
- ldrb r0,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu09_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r0, r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0A_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0B_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0C_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0D_13:
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orreq r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,r0,lsl #24
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0E_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- orr r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0F_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orrne r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- orr spc_p,spc_p,#flag_b
- bic spc_p,spc_p,#flag_i
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x20]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu10_13:
- tst spc_p,#0x80000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu11_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1c]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu12_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu13_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu14_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu15_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu16_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu17_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu18_13:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- orr r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu19_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r3, r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1A_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- sub r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1B_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r3, r0
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1C_13:
- tst spc_ya,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and r0,spc_ya,#0x7f
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1D_13:
- sub spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1E_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1F_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- sub sp,sp,#8
- str r0,[sp,#4]
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- str r0,[sp]
- ldr r0,[sp,#4]
- add r0,r0,#1
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- ldr r1,[sp],#8
- orr r0,r1,r0,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu20_13:
- bic spc_p,spc_p,#flag_d
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- str spc_ram,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu21_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1a]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu22_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu23_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu24_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu25_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu26_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu27_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu28_13:
- ldrb r0,[spc_pc],#1
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu29_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2A_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orreq spc_p,spc_p,#flag_c
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2B_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2C_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2D_13:
- add r1,spc_ram,spc_s
- strb spc_ya,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2E_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2F_13:
- ldrsb r0,[spc_pc],#1
- add spc_pc,spc_pc,r0
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu30_13:
- tst spc_p,#0x80000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu31_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x18]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu32_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu33_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu34_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu35_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu36_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu37_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu38_13:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- and r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu39_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3A_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3B_13:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3C_13:
- and r0,spc_ya,#0xff
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3D_13:
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3E_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3F_13:
- ldrb r2,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r2,r2,r14,lsl #8
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu40_13:
- orr spc_p,spc_p,#flag_d
- add r0,spc_ram,#0x100
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu41_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x16]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu42_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu43_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu44_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu45_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu46_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu47_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu48_13:
- ldrb r0,[spc_pc],#1
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu49_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4A_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4B_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4C_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4D_13:
- add r1,spc_ram,spc_s
- strb spc_x,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4E_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- bic r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4F_13:
- ldrb r2,[spc_pc],#1
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- add spc_pc,spc_pc,#0xff00
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu50_13:
- tst spc_p,#0x00000040
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu51_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x14]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu52_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu53_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu54_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu55_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu56_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu57_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu58_13:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu59_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5A_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5B_13:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5C_13:
- and r0,spc_ya,#0xff
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5D_13:
- and spc_x,spc_ya,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5E_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5F_13:
- ldrb r0, [spc_pc], #1
- ldrb r14, [spc_pc], #1
- add spc_pc, r0, spc_ram
- add spc_pc, spc_pc, r14, lsl #8
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu60_13:
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu61_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x12]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu62_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu63_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu64_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu65_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu66_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu67_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu68_13:
- ldrb r0,[spc_pc],#1
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu69_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6A_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- bicne spc_p,spc_p,#flag_c
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6B_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6C_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6D_13:
- mov r0,spc_ya,lsr #8
- add r1,spc_ram,spc_s
- strb r0,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6E_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- sub r0,r0,#1
- tst r0,r0
- addeq spc_pc,spc_pc,#1
- ldrnesb r2,[spc_pc],#1
- addne spc_pc,spc_pc,r2
- subne cycles,cycles,#26
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6F_13:
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu70_13:
- tst spc_p,#0x00000040
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu71_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x10]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu72_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu73_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu74_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu75_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu76_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu77_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu78_13:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu79_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7A_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,spc_ya,r1
- movs r2,r0,lsr #16
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- bic r2,r0,#0x00ff0000
- eor r3,r1,r2
- eor r14,spc_ya,r1
- mvn r14,r14
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7B_13:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7C_13:
- and r0,spc_ya,#0xff
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7D_13:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_x
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7E_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7F_13:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- str r0,[context,#iapu_directpage]
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu80_13:
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu81_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xe]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu82_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu83_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu84_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu85_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu86_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu87_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu88_13:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu89_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8A_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- eorne spc_p,spc_p,#flag_c
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8B_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8C_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8D_13:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8E_13:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8F_13:
- ldrb r0,[spc_pc],#1
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu90_13:
- tst spc_p,#0x00000001
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu91_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xc]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu92_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu93_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu94_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu95_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu96_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu97_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu98_13:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r2,r0,r1
- movs r14, spc_p, lsr #1
- adc r0, r0, r1
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r1
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu99_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9A_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- mov r2,r0,lsl #16
- mov r2,r2,lsr #16
- eor r3,spc_ya,r2
- eor r14,spc_ya,r1
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r1
- tst r14,#0x10
- bicne spc_p,spc_p,#flag_h
- orreq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9B_13:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9C_13:
- and r0,spc_ya,#0xff
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9D_13:
- mov spc_x,spc_s
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9E_13:
- tst spc_x,spc_x @ div by 0?
- orreq spc_ya,spc_ya,#0xff00
- orreq spc_ya,spc_ya,#0x00ff
- orreq spc_p,spc_p,#flag_o
- beq 1002f
- bic spc_p,spc_p,#flag_o
-@ Divide spc_ya by spc_x
- mov r3,#0
- mov r1,spc_x
-
-@ Shift up divisor till it's just less than numerator
-cmp spc_ya,r1,lsl #8
-movge r1,r1,lsl #8
-cmp spc_ya,r1,lsl #4
-movge r1,r1,lsl #4
-cmp spc_ya,r1,lsl #2
-movge r1,r1,lsl #2
-cmp spc_ya,r1,lsl #1
-movge r1,r1,lsl #1
-1001:
- cmp spc_ya,r1
- adc r3,r3,r3 ;@ Double r3 and add 1 if carry set
- subcs spc_ya,spc_ya,r1
- teq r1,spc_x
- movne r1,r1,lsr #1
- bne 1001b
-
- and spc_ya,spc_ya,#0xff
- and r3,r3,#0xff
- orr spc_ya,r3,spc_ya,lsl #8
-1002:
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#156
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9F_13:
- and r0,spc_ya,#0xff
- mov r1,r0,lsl #28
- orr r0,r1,r0,lsl #20
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsr #24
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA0_13:
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA1_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xa]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA2_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA3_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA4_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA5_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA6_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA7_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA8_13:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA9_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAA_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAB_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAC_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAD_13:
- ldrb r0,[spc_pc],#1
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAE_13:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff00
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAF_13:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- add spc_x,spc_x,#1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB0_13:
- tst spc_p,#0x00000001
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB1_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x8]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB2_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB3_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB4_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB5_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB6_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB7_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB8_13:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r1
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB9_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBA_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1, [spc_pc],#1
- mov spc_ya, r0
- add r0, r1, #1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBB_13:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBC_13:
- and r0,spc_ya,#0xff
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBD_13:
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- mov spc_s,spc_x
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBE_13:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- subhi r0,r0,#6
- tstls spc_p,#flag_h
- subeq r0,r0,#6
- cmp r0,#0x9f
- bhi 2001f
- tst spc_p,#flag_c
- beq 2001f
- orr spc_p,spc_p,#flag_c
- b 2002f
-2001:
- sub r0,r0,#0x60
- bic spc_p,spc_p,#flag_c
-2002:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBF_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC0_13:
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC1_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x6]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC2_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC3_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC4_13:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC5_13:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC6_13:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC7_13:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r1,r1,spc_x
- and r1,r1,#0xff
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- orr r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#91
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC8_13:
- ldrb r0,[spc_pc],#1
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC9_13:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_x
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCA_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- tst spc_p,#flag_c
- orrne r0,r0,r2
- biceq r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCB_13:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCC_13:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya,lsr #8
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCD_13:
- ldrb spc_x,[spc_pc],#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCE_13:
- add spc_x,spc_ram,spc_s
- ldrb spc_x,[spc_x,#(0x100 + 1)]
- add spc_s,spc_s,#1
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCF_13:
- mov r0,spc_ya,lsr #8
- and spc_ya,spc_ya,#0xff
- mul spc_ya,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#117
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD0_13:
- tst spc_p,#0xFF000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD1_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x4]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD2_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD3_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD4_13:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD5_13:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_x
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD6_13:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_ya, lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD7_13:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- add r1,r1,spc_ya,lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#91
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD8_13:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD9_13:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- add r1,r1,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDA_13:
- ldrb r1,[spc_pc]
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDB_13:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDC_13:
- mov r0,spc_ya,lsr #8
- sub r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDD_13:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_ya,lsr #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDE_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#26
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDF_13:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- addhi r0,r0,#6
- bls 3001f
- cmphi r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
- b 3002f
-3001:
- tst spc_p,#flag_h
- addne r0,r0,#6
- beq 3002f
- cmp r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
-3002:
- tst spc_p,#flag_c
- addne r0,r0,#0x60
- bne 3003f
- cmp r0,#0x9f
- addhi r0,r0,#0x60
- orrhi spc_p,spc_p,#flag_c
- bicls spc_p,spc_p,#flag_c
-3003:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE0_13:
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#(flag_o|flag_h)
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE1_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x2]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE2_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE3_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#26
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE4_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE5_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE6_13:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE7_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE8_13:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE9_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEA_13:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- eor r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEB_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEC_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuED_13:
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- eor spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEE_13:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEF_13:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF0_13:
- tst spc_p,#0xFF000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF1_13:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x0]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#104
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF2_13:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF3_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#26
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF4_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF5_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF6_13:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF7_13:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#78
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF8_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF9_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFA_13:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#65
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFB_13:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFC_13:
- mov r0,spc_ya,lsr #8
- add r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFD_13:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,spc_ya,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#26
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFE_13:
- sub spc_ya,spc_ya,#0x100
- mov spc_ya,spc_ya,lsl #16
- mov spc_ya,spc_ya,lsr #16
- movs r0,spc_ya,lsr #8
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#26
- subs cycles,cycles,#52
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFF_13:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#39
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-@ -------------------------- Jump Table 13 --------------------------
-Spc700JumpTab_13:
- .long Apu00_13, Apu01_13, Apu02_13, Apu03_13, Apu04_13, Apu05_13, Apu06_13, Apu07_13 @ 00
- .long Apu08_13, Apu09_13, Apu0A_13, Apu0B_13, Apu0C_13, Apu0D_13, Apu0E_13, Apu0F_13 @ 08
- .long Apu10_13, Apu11_13, Apu12_13, Apu13_13, Apu14_13, Apu15_13, Apu16_13, Apu17_13 @ 10
- .long Apu18_13, Apu19_13, Apu1A_13, Apu1B_13, Apu1C_13, Apu1D_13, Apu1E_13, Apu1F_13 @ 18
- .long Apu20_13, Apu21_13, Apu22_13, Apu23_13, Apu24_13, Apu25_13, Apu26_13, Apu27_13 @ 20
- .long Apu28_13, Apu29_13, Apu2A_13, Apu2B_13, Apu2C_13, Apu2D_13, Apu2E_13, Apu2F_13 @ 28
- .long Apu30_13, Apu31_13, Apu32_13, Apu33_13, Apu34_13, Apu35_13, Apu36_13, Apu37_13 @ 30
- .long Apu38_13, Apu39_13, Apu3A_13, Apu3B_13, Apu3C_13, Apu3D_13, Apu3E_13, Apu3F_13 @ 38
- .long Apu40_13, Apu41_13, Apu42_13, Apu43_13, Apu44_13, Apu45_13, Apu46_13, Apu47_13 @ 40
- .long Apu48_13, Apu49_13, Apu4A_13, Apu4B_13, Apu4C_13, Apu4D_13, Apu4E_13, Apu4F_13 @ 48
- .long Apu50_13, Apu51_13, Apu52_13, Apu53_13, Apu54_13, Apu55_13, Apu56_13, Apu57_13 @ 50
- .long Apu58_13, Apu59_13, Apu5A_13, Apu5B_13, Apu5C_13, Apu5D_13, Apu5E_13, Apu5F_13 @ 58
- .long Apu60_13, Apu61_13, Apu62_13, Apu63_13, Apu64_13, Apu65_13, Apu66_13, Apu67_13 @ 60
- .long Apu68_13, Apu69_13, Apu6A_13, Apu6B_13, Apu6C_13, Apu6D_13, Apu6E_13, Apu6F_13 @ 68
- .long Apu70_13, Apu71_13, Apu72_13, Apu73_13, Apu74_13, Apu75_13, Apu76_13, Apu77_13 @ 70
- .long Apu78_13, Apu79_13, Apu7A_13, Apu7B_13, Apu7C_13, Apu7D_13, Apu7E_13, Apu7F_13 @ 78
- .long Apu80_13, Apu81_13, Apu82_13, Apu83_13, Apu84_13, Apu85_13, Apu86_13, Apu87_13 @ 80
- .long Apu88_13, Apu89_13, Apu8A_13, Apu8B_13, Apu8C_13, Apu8D_13, Apu8E_13, Apu8F_13 @ 88
- .long Apu90_13, Apu91_13, Apu92_13, Apu93_13, Apu94_13, Apu95_13, Apu96_13, Apu97_13 @ 90
- .long Apu98_13, Apu99_13, Apu9A_13, Apu9B_13, Apu9C_13, Apu9D_13, Apu9E_13, Apu9F_13 @ 98
- .long ApuA0_13, ApuA1_13, ApuA2_13, ApuA3_13, ApuA4_13, ApuA5_13, ApuA6_13, ApuA7_13 @ a0
- .long ApuA8_13, ApuA9_13, ApuAA_13, ApuAB_13, ApuAC_13, ApuAD_13, ApuAE_13, ApuAF_13 @ a8
- .long ApuB0_13, ApuB1_13, ApuB2_13, ApuB3_13, ApuB4_13, ApuB5_13, ApuB6_13, ApuB7_13 @ b0
- .long ApuB8_13, ApuB9_13, ApuBA_13, ApuBB_13, ApuBC_13, ApuBD_13, ApuBE_13, ApuBF_13 @ b8
- .long ApuC0_13, ApuC1_13, ApuC2_13, ApuC3_13, ApuC4_13, ApuC5_13, ApuC6_13, ApuC7_13 @ c0
- .long ApuC8_13, ApuC9_13, ApuCA_13, ApuCB_13, ApuCC_13, ApuCD_13, ApuCE_13, ApuCF_13 @ c8
- .long ApuD0_13, ApuD1_13, ApuD2_13, ApuD3_13, ApuD4_13, ApuD5_13, ApuD6_13, ApuD7_13 @ d0
- .long ApuD8_13, ApuD9_13, ApuDA_13, ApuDB_13, ApuDC_13, ApuDD_13, ApuDE_13, ApuDF_13 @ d8
- .long ApuE0_13, ApuE1_13, ApuE2_13, ApuE3_13, ApuE4_13, ApuE5_13, ApuE6_13, ApuE7_13 @ e0
- .long ApuE8_13, ApuE9_13, ApuEA_13, ApuEB_13, ApuEC_13, ApuED_13, ApuEE_13, ApuEF_13 @ e8
- .long ApuF0_13, ApuF1_13, ApuF2_13, ApuF3_13, ApuF4_13, ApuF5_13, ApuF6_13, ApuF7_13 @ f0
- .long ApuF8_13, ApuF9_13, ApuFA_13, ApuFB_13, ApuFC_13, ApuFD_13, ApuFE_13, ApuFF_13 @ f8
-
-
-Apu00_14:
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu01_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1e]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu02_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu03_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu04_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu05_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu06_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu07_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu08_14:
- ldrb r0,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu09_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r0, r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0A_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0B_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0C_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0D_14:
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orreq r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,r0,lsl #24
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0E_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- orr r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0F_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orrne r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- orr spc_p,spc_p,#flag_b
- bic spc_p,spc_p,#flag_i
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x20]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu10_14:
- tst spc_p,#0x80000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu11_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1c]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu12_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu13_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu14_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu15_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu16_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu17_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu18_14:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- orr r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu19_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r3, r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1A_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- sub r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1B_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r3, r0
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1C_14:
- tst spc_ya,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and r0,spc_ya,#0x7f
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1D_14:
- sub spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1E_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1F_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- sub sp,sp,#8
- str r0,[sp,#4]
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- str r0,[sp]
- ldr r0,[sp,#4]
- add r0,r0,#1
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- ldr r1,[sp],#8
- orr r0,r1,r0,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu20_14:
- bic spc_p,spc_p,#flag_d
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- str spc_ram,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu21_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1a]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu22_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu23_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu24_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu25_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu26_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu27_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu28_14:
- ldrb r0,[spc_pc],#1
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu29_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2A_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orreq spc_p,spc_p,#flag_c
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2B_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2C_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2D_14:
- add r1,spc_ram,spc_s
- strb spc_ya,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2E_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2F_14:
- ldrsb r0,[spc_pc],#1
- add spc_pc,spc_pc,r0
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu30_14:
- tst spc_p,#0x80000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu31_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x18]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu32_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu33_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu34_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu35_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu36_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu37_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu38_14:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- and r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu39_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3A_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3B_14:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3C_14:
- and r0,spc_ya,#0xff
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3D_14:
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3E_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3F_14:
- ldrb r2,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r2,r2,r14,lsl #8
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu40_14:
- orr spc_p,spc_p,#flag_d
- add r0,spc_ram,#0x100
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu41_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x16]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu42_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu43_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu44_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu45_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu46_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu47_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu48_14:
- ldrb r0,[spc_pc],#1
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu49_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4A_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4B_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4C_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4D_14:
- add r1,spc_ram,spc_s
- strb spc_x,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4E_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- bic r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4F_14:
- ldrb r2,[spc_pc],#1
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- add spc_pc,spc_pc,#0xff00
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu50_14:
- tst spc_p,#0x00000040
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu51_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x14]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu52_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu53_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu54_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu55_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu56_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu57_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu58_14:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu59_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5A_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5B_14:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5C_14:
- and r0,spc_ya,#0xff
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5D_14:
- and spc_x,spc_ya,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5E_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5F_14:
- ldrb r0, [spc_pc], #1
- ldrb r14, [spc_pc], #1
- add spc_pc, r0, spc_ram
- add spc_pc, spc_pc, r14, lsl #8
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu60_14:
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu61_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x12]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu62_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu63_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu64_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu65_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu66_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu67_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu68_14:
- ldrb r0,[spc_pc],#1
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu69_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6A_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- bicne spc_p,spc_p,#flag_c
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6B_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6C_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6D_14:
- mov r0,spc_ya,lsr #8
- add r1,spc_ram,spc_s
- strb r0,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6E_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- sub r0,r0,#1
- tst r0,r0
- addeq spc_pc,spc_pc,#1
- ldrnesb r2,[spc_pc],#1
- addne spc_pc,spc_pc,r2
- subne cycles,cycles,#28
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6F_14:
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu70_14:
- tst spc_p,#0x00000040
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu71_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x10]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu72_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu73_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu74_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu75_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu76_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu77_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu78_14:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu79_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7A_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,spc_ya,r1
- movs r2,r0,lsr #16
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- bic r2,r0,#0x00ff0000
- eor r3,r1,r2
- eor r14,spc_ya,r1
- mvn r14,r14
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7B_14:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7C_14:
- and r0,spc_ya,#0xff
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7D_14:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_x
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7E_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7F_14:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- str r0,[context,#iapu_directpage]
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu80_14:
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu81_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xe]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu82_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu83_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu84_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu85_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu86_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu87_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu88_14:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu89_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8A_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- eorne spc_p,spc_p,#flag_c
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8B_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8C_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8D_14:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8E_14:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8F_14:
- ldrb r0,[spc_pc],#1
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu90_14:
- tst spc_p,#0x00000001
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu91_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xc]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu92_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu93_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu94_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu95_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu96_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu97_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu98_14:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r2,r0,r1
- movs r14, spc_p, lsr #1
- adc r0, r0, r1
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r1
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu99_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9A_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- mov r2,r0,lsl #16
- mov r2,r2,lsr #16
- eor r3,spc_ya,r2
- eor r14,spc_ya,r1
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r1
- tst r14,#0x10
- bicne spc_p,spc_p,#flag_h
- orreq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9B_14:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9C_14:
- and r0,spc_ya,#0xff
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9D_14:
- mov spc_x,spc_s
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9E_14:
- tst spc_x,spc_x @ div by 0?
- orreq spc_ya,spc_ya,#0xff00
- orreq spc_ya,spc_ya,#0x00ff
- orreq spc_p,spc_p,#flag_o
- beq 1002f
- bic spc_p,spc_p,#flag_o
-@ Divide spc_ya by spc_x
- mov r3,#0
- mov r1,spc_x
-
-@ Shift up divisor till it's just less than numerator
-cmp spc_ya,r1,lsl #8
-movge r1,r1,lsl #8
-cmp spc_ya,r1,lsl #4
-movge r1,r1,lsl #4
-cmp spc_ya,r1,lsl #2
-movge r1,r1,lsl #2
-cmp spc_ya,r1,lsl #1
-movge r1,r1,lsl #1
-1001:
- cmp spc_ya,r1
- adc r3,r3,r3 ;@ Double r3 and add 1 if carry set
- subcs spc_ya,spc_ya,r1
- teq r1,spc_x
- movne r1,r1,lsr #1
- bne 1001b
-
- and spc_ya,spc_ya,#0xff
- and r3,r3,#0xff
- orr spc_ya,r3,spc_ya,lsl #8
-1002:
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9F_14:
- and r0,spc_ya,#0xff
- mov r1,r0,lsl #28
- orr r0,r1,r0,lsl #20
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsr #24
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA0_14:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA1_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xa]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA2_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA3_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA4_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA5_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA6_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA7_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA8_14:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA9_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAA_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAB_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAC_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAD_14:
- ldrb r0,[spc_pc],#1
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAE_14:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff00
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAF_14:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- add spc_x,spc_x,#1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB0_14:
- tst spc_p,#0x00000001
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB1_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x8]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB2_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB3_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB4_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB5_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB6_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB7_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB8_14:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r1
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB9_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBA_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1, [spc_pc],#1
- mov spc_ya, r0
- add r0, r1, #1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBB_14:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBC_14:
- and r0,spc_ya,#0xff
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBD_14:
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- mov spc_s,spc_x
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBE_14:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- subhi r0,r0,#6
- tstls spc_p,#flag_h
- subeq r0,r0,#6
- cmp r0,#0x9f
- bhi 2001f
- tst spc_p,#flag_c
- beq 2001f
- orr spc_p,spc_p,#flag_c
- b 2002f
-2001:
- sub r0,r0,#0x60
- bic spc_p,spc_p,#flag_c
-2002:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBF_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC0_14:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC1_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x6]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC2_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC3_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC4_14:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC5_14:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC6_14:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC7_14:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r1,r1,spc_x
- and r1,r1,#0xff
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- orr r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#98
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC8_14:
- ldrb r0,[spc_pc],#1
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC9_14:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_x
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCA_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- tst spc_p,#flag_c
- orrne r0,r0,r2
- biceq r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCB_14:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCC_14:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya,lsr #8
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCD_14:
- ldrb spc_x,[spc_pc],#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCE_14:
- add spc_x,spc_ram,spc_s
- ldrb spc_x,[spc_x,#(0x100 + 1)]
- add spc_s,spc_s,#1
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCF_14:
- mov r0,spc_ya,lsr #8
- and spc_ya,spc_ya,#0xff
- mul spc_ya,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD0_14:
- tst spc_p,#0xFF000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD1_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x4]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD2_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD3_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD4_14:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD5_14:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_x
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD6_14:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_ya, lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD7_14:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- add r1,r1,spc_ya,lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#98
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD8_14:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD9_14:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- add r1,r1,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDA_14:
- ldrb r1,[spc_pc]
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDB_14:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDC_14:
- mov r0,spc_ya,lsr #8
- sub r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDD_14:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_ya,lsr #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDE_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#28
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDF_14:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- addhi r0,r0,#6
- bls 3001f
- cmphi r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
- b 3002f
-3001:
- tst spc_p,#flag_h
- addne r0,r0,#6
- beq 3002f
- cmp r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
-3002:
- tst spc_p,#flag_c
- addne r0,r0,#0x60
- bne 3003f
- cmp r0,#0x9f
- addhi r0,r0,#0x60
- orrhi spc_p,spc_p,#flag_c
- bicls spc_p,spc_p,#flag_c
-3003:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE0_14:
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#(flag_o|flag_h)
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE1_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x2]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE2_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE3_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#28
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE4_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE5_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE6_14:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE7_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE8_14:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE9_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEA_14:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- eor r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEB_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEC_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuED_14:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- eor spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEE_14:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEF_14:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF0_14:
- tst spc_p,#0xFF000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF1_14:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x0]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#112
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF2_14:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF3_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#28
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF4_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF5_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF6_14:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF7_14:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF8_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF9_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFA_14:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#70
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFB_14:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFC_14:
- mov r0,spc_ya,lsr #8
- add r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFD_14:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,spc_ya,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#28
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFE_14:
- sub spc_ya,spc_ya,#0x100
- mov spc_ya,spc_ya,lsl #16
- mov spc_ya,spc_ya,lsr #16
- movs r0,spc_ya,lsr #8
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#28
- subs cycles,cycles,#56
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFF_14:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-@ -------------------------- Jump Table 14 --------------------------
-Spc700JumpTab_14:
- .long Apu00_14, Apu01_14, Apu02_14, Apu03_14, Apu04_14, Apu05_14, Apu06_14, Apu07_14 @ 00
- .long Apu08_14, Apu09_14, Apu0A_14, Apu0B_14, Apu0C_14, Apu0D_14, Apu0E_14, Apu0F_14 @ 08
- .long Apu10_14, Apu11_14, Apu12_14, Apu13_14, Apu14_14, Apu15_14, Apu16_14, Apu17_14 @ 10
- .long Apu18_14, Apu19_14, Apu1A_14, Apu1B_14, Apu1C_14, Apu1D_14, Apu1E_14, Apu1F_14 @ 18
- .long Apu20_14, Apu21_14, Apu22_14, Apu23_14, Apu24_14, Apu25_14, Apu26_14, Apu27_14 @ 20
- .long Apu28_14, Apu29_14, Apu2A_14, Apu2B_14, Apu2C_14, Apu2D_14, Apu2E_14, Apu2F_14 @ 28
- .long Apu30_14, Apu31_14, Apu32_14, Apu33_14, Apu34_14, Apu35_14, Apu36_14, Apu37_14 @ 30
- .long Apu38_14, Apu39_14, Apu3A_14, Apu3B_14, Apu3C_14, Apu3D_14, Apu3E_14, Apu3F_14 @ 38
- .long Apu40_14, Apu41_14, Apu42_14, Apu43_14, Apu44_14, Apu45_14, Apu46_14, Apu47_14 @ 40
- .long Apu48_14, Apu49_14, Apu4A_14, Apu4B_14, Apu4C_14, Apu4D_14, Apu4E_14, Apu4F_14 @ 48
- .long Apu50_14, Apu51_14, Apu52_14, Apu53_14, Apu54_14, Apu55_14, Apu56_14, Apu57_14 @ 50
- .long Apu58_14, Apu59_14, Apu5A_14, Apu5B_14, Apu5C_14, Apu5D_14, Apu5E_14, Apu5F_14 @ 58
- .long Apu60_14, Apu61_14, Apu62_14, Apu63_14, Apu64_14, Apu65_14, Apu66_14, Apu67_14 @ 60
- .long Apu68_14, Apu69_14, Apu6A_14, Apu6B_14, Apu6C_14, Apu6D_14, Apu6E_14, Apu6F_14 @ 68
- .long Apu70_14, Apu71_14, Apu72_14, Apu73_14, Apu74_14, Apu75_14, Apu76_14, Apu77_14 @ 70
- .long Apu78_14, Apu79_14, Apu7A_14, Apu7B_14, Apu7C_14, Apu7D_14, Apu7E_14, Apu7F_14 @ 78
- .long Apu80_14, Apu81_14, Apu82_14, Apu83_14, Apu84_14, Apu85_14, Apu86_14, Apu87_14 @ 80
- .long Apu88_14, Apu89_14, Apu8A_14, Apu8B_14, Apu8C_14, Apu8D_14, Apu8E_14, Apu8F_14 @ 88
- .long Apu90_14, Apu91_14, Apu92_14, Apu93_14, Apu94_14, Apu95_14, Apu96_14, Apu97_14 @ 90
- .long Apu98_14, Apu99_14, Apu9A_14, Apu9B_14, Apu9C_14, Apu9D_14, Apu9E_14, Apu9F_14 @ 98
- .long ApuA0_14, ApuA1_14, ApuA2_14, ApuA3_14, ApuA4_14, ApuA5_14, ApuA6_14, ApuA7_14 @ a0
- .long ApuA8_14, ApuA9_14, ApuAA_14, ApuAB_14, ApuAC_14, ApuAD_14, ApuAE_14, ApuAF_14 @ a8
- .long ApuB0_14, ApuB1_14, ApuB2_14, ApuB3_14, ApuB4_14, ApuB5_14, ApuB6_14, ApuB7_14 @ b0
- .long ApuB8_14, ApuB9_14, ApuBA_14, ApuBB_14, ApuBC_14, ApuBD_14, ApuBE_14, ApuBF_14 @ b8
- .long ApuC0_14, ApuC1_14, ApuC2_14, ApuC3_14, ApuC4_14, ApuC5_14, ApuC6_14, ApuC7_14 @ c0
- .long ApuC8_14, ApuC9_14, ApuCA_14, ApuCB_14, ApuCC_14, ApuCD_14, ApuCE_14, ApuCF_14 @ c8
- .long ApuD0_14, ApuD1_14, ApuD2_14, ApuD3_14, ApuD4_14, ApuD5_14, ApuD6_14, ApuD7_14 @ d0
- .long ApuD8_14, ApuD9_14, ApuDA_14, ApuDB_14, ApuDC_14, ApuDD_14, ApuDE_14, ApuDF_14 @ d8
- .long ApuE0_14, ApuE1_14, ApuE2_14, ApuE3_14, ApuE4_14, ApuE5_14, ApuE6_14, ApuE7_14 @ e0
- .long ApuE8_14, ApuE9_14, ApuEA_14, ApuEB_14, ApuEC_14, ApuED_14, ApuEE_14, ApuEF_14 @ e8
- .long ApuF0_14, ApuF1_14, ApuF2_14, ApuF3_14, ApuF4_14, ApuF5_14, ApuF6_14, ApuF7_14 @ f0
- .long ApuF8_14, ApuF9_14, ApuFA_14, ApuFB_14, ApuFC_14, ApuFD_14, ApuFE_14, ApuFF_14 @ f8
-
-
-Apu00_15:
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu01_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1e]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu02_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu03_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu04_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu05_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu06_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu07_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu08_15:
- ldrb r0,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu09_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r0, r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0A_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0B_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0C_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0D_15:
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orreq r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,r0,lsl #24
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0E_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- orr r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0F_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orrne r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- orr spc_p,spc_p,#flag_b
- bic spc_p,spc_p,#flag_i
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x20]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu10_15:
- tst spc_p,#0x80000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu11_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1c]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu12_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu13_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu14_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu15_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu16_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu17_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu18_15:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- orr r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu19_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r3, r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1A_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- sub r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1B_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r3, r0
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1C_15:
- tst spc_ya,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and r0,spc_ya,#0x7f
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1D_15:
- sub spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1E_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1F_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- sub sp,sp,#8
- str r0,[sp,#4]
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- str r0,[sp]
- ldr r0,[sp,#4]
- add r0,r0,#1
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- ldr r1,[sp],#8
- orr r0,r1,r0,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu20_15:
- bic spc_p,spc_p,#flag_d
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- str spc_ram,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu21_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1a]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu22_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu23_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu24_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu25_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu26_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu27_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu28_15:
- ldrb r0,[spc_pc],#1
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu29_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2A_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orreq spc_p,spc_p,#flag_c
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2B_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2C_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2D_15:
- add r1,spc_ram,spc_s
- strb spc_ya,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2E_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2F_15:
- ldrsb r0,[spc_pc],#1
- add spc_pc,spc_pc,r0
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu30_15:
- tst spc_p,#0x80000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu31_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x18]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu32_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu33_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu34_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu35_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu36_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu37_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu38_15:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- and r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu39_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3A_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3B_15:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3C_15:
- and r0,spc_ya,#0xff
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3D_15:
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3E_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3F_15:
- ldrb r2,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r2,r2,r14,lsl #8
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu40_15:
- orr spc_p,spc_p,#flag_d
- add r0,spc_ram,#0x100
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu41_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x16]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu42_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu43_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu44_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu45_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu46_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu47_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu48_15:
- ldrb r0,[spc_pc],#1
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu49_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4A_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4B_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4C_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4D_15:
- add r1,spc_ram,spc_s
- strb spc_x,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4E_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- bic r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4F_15:
- ldrb r2,[spc_pc],#1
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- add spc_pc,spc_pc,#0xff00
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu50_15:
- tst spc_p,#0x00000040
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu51_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x14]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu52_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu53_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu54_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu55_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu56_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu57_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu58_15:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu59_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5A_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5B_15:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5C_15:
- and r0,spc_ya,#0xff
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5D_15:
- and spc_x,spc_ya,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5E_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5F_15:
- ldrb r0, [spc_pc], #1
- ldrb r14, [spc_pc], #1
- add spc_pc, r0, spc_ram
- add spc_pc, spc_pc, r14, lsl #8
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu60_15:
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu61_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x12]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu62_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu63_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu64_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu65_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu66_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu67_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu68_15:
- ldrb r0,[spc_pc],#1
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu69_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6A_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- bicne spc_p,spc_p,#flag_c
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6B_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6C_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6D_15:
- mov r0,spc_ya,lsr #8
- add r1,spc_ram,spc_s
- strb r0,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6E_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- sub r0,r0,#1
- tst r0,r0
- addeq spc_pc,spc_pc,#1
- ldrnesb r2,[spc_pc],#1
- addne spc_pc,spc_pc,r2
- subne cycles,cycles,#30
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6F_15:
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu70_15:
- tst spc_p,#0x00000040
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu71_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x10]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu72_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu73_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu74_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu75_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu76_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu77_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu78_15:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu79_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7A_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,spc_ya,r1
- movs r2,r0,lsr #16
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- bic r2,r0,#0x00ff0000
- eor r3,r1,r2
- eor r14,spc_ya,r1
- mvn r14,r14
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7B_15:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7C_15:
- and r0,spc_ya,#0xff
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7D_15:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_x
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7E_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7F_15:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- str r0,[context,#iapu_directpage]
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu80_15:
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu81_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xe]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu82_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu83_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu84_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu85_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu86_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu87_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu88_15:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu89_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8A_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- eorne spc_p,spc_p,#flag_c
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8B_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8C_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8D_15:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8E_15:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8F_15:
- ldrb r0,[spc_pc],#1
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu90_15:
- tst spc_p,#0x00000001
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu91_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xc]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu92_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu93_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu94_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu95_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu96_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu97_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu98_15:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r2,r0,r1
- movs r14, spc_p, lsr #1
- adc r0, r0, r1
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r1
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu99_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9A_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- mov r2,r0,lsl #16
- mov r2,r2,lsr #16
- eor r3,spc_ya,r2
- eor r14,spc_ya,r1
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r1
- tst r14,#0x10
- bicne spc_p,spc_p,#flag_h
- orreq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9B_15:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9C_15:
- and r0,spc_ya,#0xff
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9D_15:
- mov spc_x,spc_s
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9E_15:
- tst spc_x,spc_x @ div by 0?
- orreq spc_ya,spc_ya,#0xff00
- orreq spc_ya,spc_ya,#0x00ff
- orreq spc_p,spc_p,#flag_o
- beq 1002f
- bic spc_p,spc_p,#flag_o
-@ Divide spc_ya by spc_x
- mov r3,#0
- mov r1,spc_x
-
-@ Shift up divisor till it's just less than numerator
-cmp spc_ya,r1,lsl #8
-movge r1,r1,lsl #8
-cmp spc_ya,r1,lsl #4
-movge r1,r1,lsl #4
-cmp spc_ya,r1,lsl #2
-movge r1,r1,lsl #2
-cmp spc_ya,r1,lsl #1
-movge r1,r1,lsl #1
-1001:
- cmp spc_ya,r1
- adc r3,r3,r3 ;@ Double r3 and add 1 if carry set
- subcs spc_ya,spc_ya,r1
- teq r1,spc_x
- movne r1,r1,lsr #1
- bne 1001b
-
- and spc_ya,spc_ya,#0xff
- and r3,r3,#0xff
- orr spc_ya,r3,spc_ya,lsl #8
-1002:
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#180
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9F_15:
- and r0,spc_ya,#0xff
- mov r1,r0,lsl #28
- orr r0,r1,r0,lsl #20
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsr #24
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA0_15:
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA1_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xa]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA2_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA3_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA4_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA5_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA6_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA7_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA8_15:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA9_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAA_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAB_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAC_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAD_15:
- ldrb r0,[spc_pc],#1
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAE_15:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff00
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAF_15:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- add spc_x,spc_x,#1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB0_15:
- tst spc_p,#0x00000001
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB1_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x8]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB2_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB3_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB4_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB5_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB6_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB7_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB8_15:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r1
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB9_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBA_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1, [spc_pc],#1
- mov spc_ya, r0
- add r0, r1, #1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBB_15:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBC_15:
- and r0,spc_ya,#0xff
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBD_15:
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- mov spc_s,spc_x
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBE_15:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- subhi r0,r0,#6
- tstls spc_p,#flag_h
- subeq r0,r0,#6
- cmp r0,#0x9f
- bhi 2001f
- tst spc_p,#flag_c
- beq 2001f
- orr spc_p,spc_p,#flag_c
- b 2002f
-2001:
- sub r0,r0,#0x60
- bic spc_p,spc_p,#flag_c
-2002:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBF_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC0_15:
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC1_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x6]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC2_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC3_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC4_15:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC5_15:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC6_15:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC7_15:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r1,r1,spc_x
- and r1,r1,#0xff
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- orr r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC8_15:
- ldrb r0,[spc_pc],#1
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC9_15:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_x
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCA_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- tst spc_p,#flag_c
- orrne r0,r0,r2
- biceq r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCB_15:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCC_15:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya,lsr #8
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCD_15:
- ldrb spc_x,[spc_pc],#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCE_15:
- add spc_x,spc_ram,spc_s
- ldrb spc_x,[spc_x,#(0x100 + 1)]
- add spc_s,spc_s,#1
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCF_15:
- mov r0,spc_ya,lsr #8
- and spc_ya,spc_ya,#0xff
- mul spc_ya,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#135
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD0_15:
- tst spc_p,#0xFF000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD1_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x4]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD2_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD3_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD4_15:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD5_15:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_x
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD6_15:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_ya, lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD7_15:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- add r1,r1,spc_ya,lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD8_15:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD9_15:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- add r1,r1,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDA_15:
- ldrb r1,[spc_pc]
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDB_15:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDC_15:
- mov r0,spc_ya,lsr #8
- sub r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDD_15:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_ya,lsr #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDE_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#30
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDF_15:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- addhi r0,r0,#6
- bls 3001f
- cmphi r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
- b 3002f
-3001:
- tst spc_p,#flag_h
- addne r0,r0,#6
- beq 3002f
- cmp r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
-3002:
- tst spc_p,#flag_c
- addne r0,r0,#0x60
- bne 3003f
- cmp r0,#0x9f
- addhi r0,r0,#0x60
- orrhi spc_p,spc_p,#flag_c
- bicls spc_p,spc_p,#flag_c
-3003:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE0_15:
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#(flag_o|flag_h)
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE1_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x2]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE2_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE3_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#30
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE4_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE5_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE6_15:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE7_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE8_15:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE9_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEA_15:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- eor r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEB_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEC_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuED_15:
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- eor spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEE_15:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEF_15:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF0_15:
- tst spc_p,#0xFF000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF1_15:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x0]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#120
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF2_15:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF3_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#30
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF4_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF5_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF6_15:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF7_15:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#90
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF8_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF9_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFA_15:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#75
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFB_15:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFC_15:
- mov r0,spc_ya,lsr #8
- add r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFD_15:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,spc_ya,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#30
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFE_15:
- sub spc_ya,spc_ya,#0x100
- mov spc_ya,spc_ya,lsl #16
- mov spc_ya,spc_ya,lsr #16
- movs r0,spc_ya,lsr #8
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#30
- subs cycles,cycles,#60
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFF_15:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#45
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-@ -------------------------- Jump Table 15 --------------------------
-Spc700JumpTab_15:
- .long Apu00_15, Apu01_15, Apu02_15, Apu03_15, Apu04_15, Apu05_15, Apu06_15, Apu07_15 @ 00
- .long Apu08_15, Apu09_15, Apu0A_15, Apu0B_15, Apu0C_15, Apu0D_15, Apu0E_15, Apu0F_15 @ 08
- .long Apu10_15, Apu11_15, Apu12_15, Apu13_15, Apu14_15, Apu15_15, Apu16_15, Apu17_15 @ 10
- .long Apu18_15, Apu19_15, Apu1A_15, Apu1B_15, Apu1C_15, Apu1D_15, Apu1E_15, Apu1F_15 @ 18
- .long Apu20_15, Apu21_15, Apu22_15, Apu23_15, Apu24_15, Apu25_15, Apu26_15, Apu27_15 @ 20
- .long Apu28_15, Apu29_15, Apu2A_15, Apu2B_15, Apu2C_15, Apu2D_15, Apu2E_15, Apu2F_15 @ 28
- .long Apu30_15, Apu31_15, Apu32_15, Apu33_15, Apu34_15, Apu35_15, Apu36_15, Apu37_15 @ 30
- .long Apu38_15, Apu39_15, Apu3A_15, Apu3B_15, Apu3C_15, Apu3D_15, Apu3E_15, Apu3F_15 @ 38
- .long Apu40_15, Apu41_15, Apu42_15, Apu43_15, Apu44_15, Apu45_15, Apu46_15, Apu47_15 @ 40
- .long Apu48_15, Apu49_15, Apu4A_15, Apu4B_15, Apu4C_15, Apu4D_15, Apu4E_15, Apu4F_15 @ 48
- .long Apu50_15, Apu51_15, Apu52_15, Apu53_15, Apu54_15, Apu55_15, Apu56_15, Apu57_15 @ 50
- .long Apu58_15, Apu59_15, Apu5A_15, Apu5B_15, Apu5C_15, Apu5D_15, Apu5E_15, Apu5F_15 @ 58
- .long Apu60_15, Apu61_15, Apu62_15, Apu63_15, Apu64_15, Apu65_15, Apu66_15, Apu67_15 @ 60
- .long Apu68_15, Apu69_15, Apu6A_15, Apu6B_15, Apu6C_15, Apu6D_15, Apu6E_15, Apu6F_15 @ 68
- .long Apu70_15, Apu71_15, Apu72_15, Apu73_15, Apu74_15, Apu75_15, Apu76_15, Apu77_15 @ 70
- .long Apu78_15, Apu79_15, Apu7A_15, Apu7B_15, Apu7C_15, Apu7D_15, Apu7E_15, Apu7F_15 @ 78
- .long Apu80_15, Apu81_15, Apu82_15, Apu83_15, Apu84_15, Apu85_15, Apu86_15, Apu87_15 @ 80
- .long Apu88_15, Apu89_15, Apu8A_15, Apu8B_15, Apu8C_15, Apu8D_15, Apu8E_15, Apu8F_15 @ 88
- .long Apu90_15, Apu91_15, Apu92_15, Apu93_15, Apu94_15, Apu95_15, Apu96_15, Apu97_15 @ 90
- .long Apu98_15, Apu99_15, Apu9A_15, Apu9B_15, Apu9C_15, Apu9D_15, Apu9E_15, Apu9F_15 @ 98
- .long ApuA0_15, ApuA1_15, ApuA2_15, ApuA3_15, ApuA4_15, ApuA5_15, ApuA6_15, ApuA7_15 @ a0
- .long ApuA8_15, ApuA9_15, ApuAA_15, ApuAB_15, ApuAC_15, ApuAD_15, ApuAE_15, ApuAF_15 @ a8
- .long ApuB0_15, ApuB1_15, ApuB2_15, ApuB3_15, ApuB4_15, ApuB5_15, ApuB6_15, ApuB7_15 @ b0
- .long ApuB8_15, ApuB9_15, ApuBA_15, ApuBB_15, ApuBC_15, ApuBD_15, ApuBE_15, ApuBF_15 @ b8
- .long ApuC0_15, ApuC1_15, ApuC2_15, ApuC3_15, ApuC4_15, ApuC5_15, ApuC6_15, ApuC7_15 @ c0
- .long ApuC8_15, ApuC9_15, ApuCA_15, ApuCB_15, ApuCC_15, ApuCD_15, ApuCE_15, ApuCF_15 @ c8
- .long ApuD0_15, ApuD1_15, ApuD2_15, ApuD3_15, ApuD4_15, ApuD5_15, ApuD6_15, ApuD7_15 @ d0
- .long ApuD8_15, ApuD9_15, ApuDA_15, ApuDB_15, ApuDC_15, ApuDD_15, ApuDE_15, ApuDF_15 @ d8
- .long ApuE0_15, ApuE1_15, ApuE2_15, ApuE3_15, ApuE4_15, ApuE5_15, ApuE6_15, ApuE7_15 @ e0
- .long ApuE8_15, ApuE9_15, ApuEA_15, ApuEB_15, ApuEC_15, ApuED_15, ApuEE_15, ApuEF_15 @ e8
- .long ApuF0_15, ApuF1_15, ApuF2_15, ApuF3_15, ApuF4_15, ApuF5_15, ApuF6_15, ApuF7_15 @ f0
- .long ApuF8_15, ApuF9_15, ApuFA_15, ApuFB_15, ApuFC_15, ApuFD_15, ApuFE_15, ApuFF_15 @ f8
-
-
-Apu00_21:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu01_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1e]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu02_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu03_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu04_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu05_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu06_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu07_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu08_21:
- ldrb r0,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu09_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r0, r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0A_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0B_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0C_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0D_21:
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orreq r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,r0,lsl #24
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0E_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- orr r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu0F_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- mov r0,spc_p,lsr #24
- and r1,r0,#0x80
- tst r0,r0
- orrne r1,r1,#flag_z
- and spc_p,spc_p,#0x7d @ clear N & Z
- orr spc_p,spc_p,r1
- add r1,spc_ram,spc_s
- strb spc_p,[r1,#0x100]
- sub spc_s,spc_s,#1
- orr spc_p,spc_p,#flag_b
- bic spc_p,spc_p,#flag_i
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x20]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu10_21:
- tst spc_p,#0x80000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu11_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1c]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu12_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x01
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu13_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu14_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu15_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu16_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu17_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu18_21:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- orr r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu19_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0, r3, r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1A_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- sub r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1B_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r3, r0
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1C_21:
- tst spc_ya,#0x80
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and r0,spc_ya,#0x7f
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsl #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1D_21:
- sub spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1E_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu1F_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- sub sp,sp,#8
- str r0,[sp,#4]
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- str r0,[sp]
- ldr r0,[sp,#4]
- add r0,r0,#1
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- ldr r1,[sp],#8
- orr r0,r1,r0,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu20_21:
- bic spc_p,spc_p,#flag_d
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- str spc_ram,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu21_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x1a]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu22_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu23_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu24_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu25_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu26_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu27_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu28_21:
- ldrb r0,[spc_pc],#1
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu29_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2A_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orreq spc_p,spc_p,#flag_c
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2B_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2C_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2D_21:
- add r1,spc_ram,spc_s
- strb spc_ya,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2E_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu2F_21:
- ldrsb r0,[spc_pc],#1
- add spc_pc,spc_pc,r0
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu30_21:
- tst spc_p,#0x80000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu31_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x18]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu32_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x02
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu33_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x02
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu34_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu35_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu36_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu37_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- orr r0,r0,#0xff00
- and spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu38_21:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- and r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu39_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3A_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,r1,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- stmfd sp!,{r0}
- ldrb r1,[spc_pc]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldmfd sp!,{r0}
- mov r0,r0,lsr #8
- ldrb r1,[spc_pc],#1
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3B_21:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3C_21:
- and r0,spc_ya,#0xff
- mov r0,r0,lsl #1
- tst spc_p,#flag_c
- orrne r0,r0,#1
- tst r0,#0x100
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3D_21:
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3E_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu3F_21:
- ldrb r2,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r2,r2,r14,lsl #8
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu40_21:
- orr spc_p,spc_p,#flag_d
- add r0,spc_ram,#0x100
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu41_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x16]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu42_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu43_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu44_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu45_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu46_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu47_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu48_21:
- ldrb r0,[spc_pc],#1
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu49_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4A_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4B_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4C_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4D_21:
- add r1,spc_ram,spc_s
- strb spc_x,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4E_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r2,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r2,lsl #24
- bic r0,r0,spc_ya
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu4F_21:
- ldrb r2,[spc_pc],#1
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- add spc_pc,spc_ram,r2
- add spc_pc,spc_pc,#0xff00
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu50_21:
- tst spc_p,#0x00000040
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu51_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x14]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu52_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x04
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu53_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x04
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu54_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu55_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu56_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu57_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- eor spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu58_21:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r0,r0,r1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu59_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r0,r0,r3
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5A_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #16
- tst r0,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5B_21:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5C_21:
- and r0,spc_ya,#0xff
- tst r0,#0x01
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- mov r0,r0,lsr #1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5D_21:
- and spc_x,spc_ya,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5E_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu5F_21:
- ldrb r0, [spc_pc], #1
- ldrb r14, [spc_pc], #1
- add spc_pc, r0, spc_ram
- add spc_pc, spc_pc, r14, lsl #8
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu60_21:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu61_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x12]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu62_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu63_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu64_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu65_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu66_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu67_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu68_21:
- ldrb r0,[spc_pc],#1
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu69_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6A_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- bicne spc_p,spc_p,#flag_c
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6B_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6C_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6D_21:
- mov r0,spc_ya,lsr #8
- add r1,spc_ram,spc_s
- strb r0,[r1,#0x100]
- sub spc_s,spc_s,#1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6E_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- sub r0,r0,#1
- tst r0,r0
- addeq spc_pc,spc_pc,#1
- ldrnesb r2,[spc_pc],#1
- addne spc_pc,spc_pc,r2
- subne cycles,cycles,#42
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu6F_21:
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu70_21:
- tst spc_p,#0x00000040
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu71_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x10]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu72_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x08
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu73_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x08
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu74_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu75_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu76_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu77_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r14,spc_ya,#0xff
- subs r14,r14,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu78_21:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- subs r14,r0,r1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu79_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_x,spc_x,r0,lsl #24
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_x,lsr #24
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7A_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- add r0,spc_ya,r1
- movs r2,r0,lsr #16
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- bic r2,r0,#0x00ff0000
- eor r3,r1,r2
- eor r14,spc_ya,r1
- mvn r14,r14
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7B_21:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7C_21:
- and r0,spc_ya,#0xff
- tst spc_p,#flag_c
- orrne r0,r0,#0x100
- movs r0,r0,lsr #1
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7D_21:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_x
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7E_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu7F_21:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- str r0,[context,#iapu_directpage]
- add r1,spc_ram,spc_s
- ldrb r0,[r1,#(0xff + 2)]
- ldrb r1,[r1,#(0x100 + 2)]
- add spc_s,spc_s,#2
- orr r0,r0,r1,lsl #8
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu80_21:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu81_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xe]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu82_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu83_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu84_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu85_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu86_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu87_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu88_21:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu89_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8A_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- eorne spc_p,spc_p,#flag_c
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8B_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8C_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8D_21:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8E_21:
- add spc_p,spc_ram,spc_s
- ldrb spc_p,[spc_p,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and r0,spc_p,#(flag_z|flag_n)
- eor r0,r0,#flag_z
- orr spc_p,spc_p,r0,lsl #24
- tst spc_p,#flag_d
- addne r0,spc_ram,#0x100
- moveq r0,spc_ram
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- str r0,[context,#iapu_directpage]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu8F_21:
- ldrb r0,[spc_pc],#1
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu90_21:
- tst spc_p,#0x00000001
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu91_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xc]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu92_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x10
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu93_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x10
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu94_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu95_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu96_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu97_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- eor r2,spc_ya,r0
- movs r14, spc_p, lsr #1
- adc spc_ya, spc_ya, r0
- movs r14,spc_ya,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,spc_ya,r0
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,spc_ya
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu98_21:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- eor r2,r0,r1
- movs r14, spc_p, lsr #1
- adc r0, r0, r1
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r1
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu99_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- eor r2,r0,r3
- movs r14, spc_p, lsr #1
- adc r0, r0, r3
- movs r14,r0,lsr #8
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- eor r14,r0,r3
- bic r14,r14,r2
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r2,r0
- tst r14,#0x10
- orrne spc_p,spc_p,#flag_h
- biceq spc_p,spc_p,#flag_h
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9A_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc],#1
- add r0,r0,#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r1,r3,r0,lsl #8
- subs r0,spc_ya,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- mov r2,r0,lsl #16
- mov r2,r2,lsr #16
- eor r3,spc_ya,r2
- eor r14,spc_ya,r1
- and r14,r14,r3
- tst r14,#0x8000
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r1
- tst r14,#0x10
- bicne spc_p,spc_p,#flag_h
- orreq spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9B_21:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9C_21:
- and r0,spc_ya,#0xff
- sub r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9D_21:
- mov spc_x,spc_s
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9E_21:
- tst spc_x,spc_x @ div by 0?
- orreq spc_ya,spc_ya,#0xff00
- orreq spc_ya,spc_ya,#0x00ff
- orreq spc_p,spc_p,#flag_o
- beq 1002f
- bic spc_p,spc_p,#flag_o
-@ Divide spc_ya by spc_x
- mov r3,#0
- mov r1,spc_x
-
-@ Shift up divisor till it's just less than numerator
-cmp spc_ya,r1,lsl #8
-movge r1,r1,lsl #8
-cmp spc_ya,r1,lsl #4
-movge r1,r1,lsl #4
-cmp spc_ya,r1,lsl #2
-movge r1,r1,lsl #2
-cmp spc_ya,r1,lsl #1
-movge r1,r1,lsl #1
-1001:
- cmp spc_ya,r1
- adc r3,r3,r3 ;@ Double r3 and add 1 if carry set
- subcs spc_ya,spc_ya,r1
- teq r1,spc_x
- movne r1,r1,lsr #1
- bne 1001b
-
- and spc_ya,spc_ya,#0xff
- and r3,r3,#0xff
- orr spc_ya,r3,spc_ya,lsl #8
-1002:
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#252
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-Apu9F_21:
- and r0,spc_ya,#0xff
- mov r1,r0,lsl #28
- orr r0,r1,r0,lsl #20
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0,lsr #24
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA0_21:
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- orr spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA1_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0xa]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA2_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA3_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA4_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA5_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA6_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA7_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA8_21:
- ldrb r0,[spc_pc],#1
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuA9_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAA_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r0,r0,lsr r1
- tst r0,#1
- orrne spc_p,spc_p,#flag_c
- biceq spc_p,spc_p,#flag_c
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAB_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAC_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r3, r0
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1, r3
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAD_21:
- ldrb r0,[spc_pc],#1
- mov r1,spc_ya,lsr #8
- subs r14,r1,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAE_21:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff00
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuAF_21:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- add spc_x,spc_x,#1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- and spc_x,spc_x,#0xff
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB0_21:
- tst spc_p,#0x00000001
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB1_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x8]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB2_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x20
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB3_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x20
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB4_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB5_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB6_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB7_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and r1,spc_ya,#0xff00
- and spc_ya,spc_ya,#0xff
- movs r14,spc_p,lsr #1
- sbcs r2,spc_ya,r0
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,spc_ya,r2
- eor r3,spc_ya,r0
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov spc_ya,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r1
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB8_21:
- ldrb r0,[spc_pc,#1]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#2
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r1
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r1
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc,#-1]
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuB9_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov r3, r0
- mov r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- movs r14,spc_p,lsr #1
- sbcs r2,r0,r3
- orrge spc_p,spc_p,#flag_c
- biclt spc_p,spc_p,#flag_c
- eor r14,r0,r2
- eor r3,r0,r3
- and r14,r14,r3
- tst r14,#0x80
- orrne spc_p,spc_p,#flag_o
- biceq spc_p,spc_p,#flag_o
- eor r14,r3,r2
- tst r14,#0x10
- orreq spc_p,spc_p,#flag_h
- bicne spc_p,spc_p,#flag_h
- mov r0,r2
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBA_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1, [spc_pc],#1
- mov spc_ya, r0
- add r0, r1, #1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBB_21:
- ldrb r0,[spc_pc]
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- ldrb r1,[spc_pc],#1
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBC_21:
- and r0,spc_ya,#0xff
- add r0,r0,#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and r0,r0,#0xff
- mov spc_ya,spc_ya,lsr #8
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,r0,spc_ya,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBD_21:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- mov spc_s,spc_x
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBE_21:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- subhi r0,r0,#6
- tstls spc_p,#flag_h
- subeq r0,r0,#6
- cmp r0,#0x9f
- bhi 2001f
- tst spc_p,#flag_c
- beq 2001f
- orr spc_p,spc_p,#flag_c
- b 2002f
-2001:
- sub r0,r0,#0x60
- bic spc_p,spc_p,#flag_c
-2002:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuBF_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- add spc_x,spc_x,#1
- and spc_x,spc_x,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC0_21:
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#flag_i
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC1_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x6]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC2_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC3_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC4_21:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC5_21:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC6_21:
- mov r0,spc_ya
- mov r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC7_21:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r1,r1,spc_x
- and r1,r1,#0xff
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- orr r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#147
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC8_21:
- ldrb r0,[spc_pc],#1
- subs r14,spc_x,r0
- orrcs spc_p,spc_p,#flag_c
- biccc spc_p,spc_p,#flag_c
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r14,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuC9_21:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_x
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCA_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- tst spc_p,#flag_c
- orrne r0,r0,r2
- biceq r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCB_21:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCC_21:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,r14,lsl #8
- mov r0,spc_ya,lsr #8
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCD_21:
- ldrb spc_x,[spc_pc],#1
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCE_21:
- add spc_x,spc_ram,spc_s
- ldrb spc_x,[spc_x,#(0x100 + 1)]
- add spc_s,spc_s,#1
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuCF_21:
- mov r0,spc_ya,lsr #8
- and spc_ya,spc_ya,#0xff
- mul spc_ya,r0,spc_ya
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #16
- tst spc_ya,#0xff
- orrne spc_p,spc_p,#0x01000000
- subs cycles,cycles,#189
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD0_21:
- tst spc_p,#0xFF000000
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD1_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x4]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD2_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x40
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD3_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x40
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD4_21:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD5_21:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_x
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD6_21:
- ldrb r1,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r1,r1,spc_ya, lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD7_21:
- ldrb r1,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r1,[r14,r1]!
- ldrb r14,[r14,#1]
- add r1,r1,spc_ya,lsr #8
- add r1,r1,r14,lsl #8
- mov r0,spc_ya
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#147
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD8_21:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuD9_21:
- ldrb r1,[spc_pc],#1
- mov r0,spc_x
- add r1,r1,spc_ya,lsr #8
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDA_21:
- ldrb r1,[spc_pc]
- mov r0,spc_ya
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-2:
- strb r0, [r2, r1]
-1:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDB_21:
- ldrb r1,[spc_pc],#1
- mov r0,spc_ya,lsr #8
- add r1,r1,spc_x
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDC_21:
- mov r0,spc_ya,lsr #8
- sub r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDD_21:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,spc_ya,lsr #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDE_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and r1,spc_ya,#0xff
- cmp r0,r1
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#42
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuDF_21:
- and r0,spc_ya,#0xff
- and r1,spc_ya,#0x0f
- cmp r1,#9
- addhi r0,r0,#6
- bls 3001f
- cmphi r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
- b 3002f
-3001:
- tst spc_p,#flag_h
- addne r0,r0,#6
- beq 3002f
- cmp r0,#0xf0
- orrhi spc_p,spc_p,#flag_c
-3002:
- tst spc_p,#flag_c
- addne r0,r0,#0x60
- bne 3003f
- cmp r0,#0x9f
- addhi r0,r0,#0x60
- orrhi spc_p,spc_p,#flag_c
- bicls spc_p,spc_p,#flag_c
-3003:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE0_21:
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- bic spc_p,spc_p,#(flag_o|flag_h)
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE1_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x2]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE2_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- orr r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE3_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- subne cycles,cycles,#42
- addne spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE4_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE5_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE6_21:
- mov r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE7_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- add r0,r0,spc_x
- and r0,r0,#0xff
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- orr r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE8_21:
- ldrb r0,[spc_pc],#1
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuE9_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEA_21:
- ldrb r0,[spc_pc], #1
- ldrb r3,[spc_pc], #1
- add r3,r0,r3,lsl #8
- bic r0, r3, #0xe000
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- mov r1, r3, lsr #13
- mov r2,#1
- mov r2,r2,lsl r1
- eor r0,r0,r2
- bic r1, r3, #0xe000
- add r2, r1, #40
- tst r2, #0x10000
- bne 1f
- bic r2, r1, #0x0f
- cmp r2, #0xf0
- strneb r0, [spc_ram, r1]
- bne 3f
- add lr, pc, #20
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
-1:
- bl S9xAPUSetByteFFC0
- ldr spc_ram, [context, #iapu_ram]
-3:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEB_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEC_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuED_21:
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- eor spc_p,spc_p,#flag_c
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEE_21:
- add r0,spc_ram,spc_s
- ldrb r0,[r0,#(0x100 + 1)]
- add spc_s,spc_s,#1
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuEF_21:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF0_21:
- tst spc_p,#0xFF000000
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF1_21:
- sub r0,spc_pc,spc_ram
- add r1,spc_ram,spc_s
- sub spc_s,spc_s,#2
- strb r0,[r1,#0xff]
- mov r0,r0,lsr #8
- strb r0,[r1,#0x100]
- ldr r0,[context,#iapu_extraram]
- ldrh r0,[r0,#0x0]
- add spc_pc,spc_ram,r0
- subs cycles,cycles,#168
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF2_21:
- ldrb r0,[spc_pc]
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- bic r0,r0,#0x80
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF3_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- tst r0,#0x80
- addne spc_pc,spc_pc,#1
- ldreqsb r0,[spc_pc],#1
- subeq cycles,cycles,#42
- addeq spc_pc,spc_pc,r0
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF4_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF5_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_x
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF6_21:
- ldrb r0,[spc_pc],#1
- ldrb r14,[spc_pc],#1
- add r0,r0,spc_ya, lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF7_21:
- ldrb r0,[spc_pc],#1
- ldr r14,[context,#iapu_directpage]
- ldrb r0,[r14,r0]!
- ldrb r14,[r14,#1]
- add r0,r0,spc_ya,lsr #8
- add r0,r0,r14,lsl #8
- mov r1, r0
- ldrb r0, [spc_ram, r1]
- cmp r1, #0x0ff
- bhi 1f
- cmp r1, #0xf3
- addeq lr, pc, #12
- beq GetAPUDSP
- cmp r1, #0xfd
- movhs r2, #0
- strhsb r2, [spc_ram, r1]
-1:
- and spc_ya,spc_ya,#0xff00
- orr spc_ya,spc_ya,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#126
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF8_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuF9_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_ya,lsr #8
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- mov spc_x,r0
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_x,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFA_21:
- ldrb r0,[spc_pc],#1
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- ldrb r1,[spc_pc],#1
- ldr r2, [context, #iapu_directpage]
- cmp r2, spc_ram
- bne 2f
- cmp r1, #0xf0
- blo 2f
- cmp r1, #0xfe
- bhs 1f
- add lr, pc, #16
- cmp r1, #0xf1
- beq S9xSetAPUControl
- cmp r1, #0xf3
- beq S9xSetAPUDSP
- b S9xAPUSetByteFFtoF0
- ldr spc_ram, [context, #iapu_ram]
- b 1f
-2:
- strb r0, [r2, r1]
-1:
- subs cycles,cycles,#105
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFB_21:
- ldrb r0,[spc_pc],#1
- add r0,r0,spc_x
- mov r1, r0
- cmp r1, #0xf3
- addeq lr, pc, #20
- beq GetAPUDSP
- ldr r14, [context, #iapu_directpage]
- cmp r1, #0xfd
- ldrb r0, [r14, r1]
- movhs r2, #0
- strhsb r2, [r14, r1]
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,r0,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFC_21:
- mov r0,spc_ya,lsr #8
- add r0,r0,#1
- and r0,r0,#0xff
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,r0,lsl #24
- and spc_ya,spc_ya,#0xff
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- orr spc_ya,spc_ya,r0,lsl #8
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFD_21:
- and spc_ya,spc_ya,#0xff
- orr spc_ya,spc_ya,spc_ya,lsl #8
- and spc_p,spc_p,#0xff
- orr spc_p,spc_p,spc_ya,lsl #24
- subs cycles,cycles,#42
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFE_21:
- sub spc_ya,spc_ya,#0x100
- mov spc_ya,spc_ya,lsl #16
- mov spc_ya,spc_ya,lsr #16
- movs r0,spc_ya,lsr #8
- addeq spc_pc,spc_pc,#1
- ldrnesb r0,[spc_pc],#1
- addne spc_pc,spc_pc,r0
- subne cycles,cycles,#42
- subs cycles,cycles,#84
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-ApuFF_21:
- ldr r0, 5001f
- mov r1,#0
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- str r1,[r0,#cpu_apu_executing]
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-5001:
- .long CPU
- subs cycles,cycles,#63
- ldrgeb opcode,[spc_pc],#1
- ldrge pc,[opcodes,opcode,lsl #2]
- b spc700End
-
-
-@ -------------------------- Jump Table 21 --------------------------
-Spc700JumpTab_21:
- .long Apu00_21, Apu01_21, Apu02_21, Apu03_21, Apu04_21, Apu05_21, Apu06_21, Apu07_21 @ 00
- .long Apu08_21, Apu09_21, Apu0A_21, Apu0B_21, Apu0C_21, Apu0D_21, Apu0E_21, Apu0F_21 @ 08
- .long Apu10_21, Apu11_21, Apu12_21, Apu13_21, Apu14_21, Apu15_21, Apu16_21, Apu17_21 @ 10
- .long Apu18_21, Apu19_21, Apu1A_21, Apu1B_21, Apu1C_21, Apu1D_21, Apu1E_21, Apu1F_21 @ 18
- .long Apu20_21, Apu21_21, Apu22_21, Apu23_21, Apu24_21, Apu25_21, Apu26_21, Apu27_21 @ 20
- .long Apu28_21, Apu29_21, Apu2A_21, Apu2B_21, Apu2C_21, Apu2D_21, Apu2E_21, Apu2F_21 @ 28
- .long Apu30_21, Apu31_21, Apu32_21, Apu33_21, Apu34_21, Apu35_21, Apu36_21, Apu37_21 @ 30
- .long Apu38_21, Apu39_21, Apu3A_21, Apu3B_21, Apu3C_21, Apu3D_21, Apu3E_21, Apu3F_21 @ 38
- .long Apu40_21, Apu41_21, Apu42_21, Apu43_21, Apu44_21, Apu45_21, Apu46_21, Apu47_21 @ 40
- .long Apu48_21, Apu49_21, Apu4A_21, Apu4B_21, Apu4C_21, Apu4D_21, Apu4E_21, Apu4F_21 @ 48
- .long Apu50_21, Apu51_21, Apu52_21, Apu53_21, Apu54_21, Apu55_21, Apu56_21, Apu57_21 @ 50
- .long Apu58_21, Apu59_21, Apu5A_21, Apu5B_21, Apu5C_21, Apu5D_21, Apu5E_21, Apu5F_21 @ 58
- .long Apu60_21, Apu61_21, Apu62_21, Apu63_21, Apu64_21, Apu65_21, Apu66_21, Apu67_21 @ 60
- .long Apu68_21, Apu69_21, Apu6A_21, Apu6B_21, Apu6C_21, Apu6D_21, Apu6E_21, Apu6F_21 @ 68
- .long Apu70_21, Apu71_21, Apu72_21, Apu73_21, Apu74_21, Apu75_21, Apu76_21, Apu77_21 @ 70
- .long Apu78_21, Apu79_21, Apu7A_21, Apu7B_21, Apu7C_21, Apu7D_21, Apu7E_21, Apu7F_21 @ 78
- .long Apu80_21, Apu81_21, Apu82_21, Apu83_21, Apu84_21, Apu85_21, Apu86_21, Apu87_21 @ 80
- .long Apu88_21, Apu89_21, Apu8A_21, Apu8B_21, Apu8C_21, Apu8D_21, Apu8E_21, Apu8F_21 @ 88
- .long Apu90_21, Apu91_21, Apu92_21, Apu93_21, Apu94_21, Apu95_21, Apu96_21, Apu97_21 @ 90
- .long Apu98_21, Apu99_21, Apu9A_21, Apu9B_21, Apu9C_21, Apu9D_21, Apu9E_21, Apu9F_21 @ 98
- .long ApuA0_21, ApuA1_21, ApuA2_21, ApuA3_21, ApuA4_21, ApuA5_21, ApuA6_21, ApuA7_21 @ a0
- .long ApuA8_21, ApuA9_21, ApuAA_21, ApuAB_21, ApuAC_21, ApuAD_21, ApuAE_21, ApuAF_21 @ a8
- .long ApuB0_21, ApuB1_21, ApuB2_21, ApuB3_21, ApuB4_21, ApuB5_21, ApuB6_21, ApuB7_21 @ b0
- .long ApuB8_21, ApuB9_21, ApuBA_21, ApuBB_21, ApuBC_21, ApuBD_21, ApuBE_21, ApuBF_21 @ b8
- .long ApuC0_21, ApuC1_21, ApuC2_21, ApuC3_21, ApuC4_21, ApuC5_21, ApuC6_21, ApuC7_21 @ c0
- .long ApuC8_21, ApuC9_21, ApuCA_21, ApuCB_21, ApuCC_21, ApuCD_21, ApuCE_21, ApuCF_21 @ c8
- .long ApuD0_21, ApuD1_21, ApuD2_21, ApuD3_21, ApuD4_21, ApuD5_21, ApuD6_21, ApuD7_21 @ d0
- .long ApuD8_21, ApuD9_21, ApuDA_21, ApuDB_21, ApuDC_21, ApuDD_21, ApuDE_21, ApuDF_21 @ d8
- .long ApuE0_21, ApuE1_21, ApuE2_21, ApuE3_21, ApuE4_21, ApuE5_21, ApuE6_21, ApuE7_21 @ e0
- .long ApuE8_21, ApuE9_21, ApuEA_21, ApuEB_21, ApuEC_21, ApuED_21, ApuEE_21, ApuEF_21 @ e8
- .long ApuF0_21, ApuF1_21, ApuF2_21, ApuF3_21, ApuF4_21, ApuF5_21, ApuF6_21, ApuF7_21 @ f0
- .long ApuF8_21, ApuF9_21, ApuFA_21, ApuFB_21, ApuFC_21, ApuFD_21, ApuFE_21, ApuFF_21 @ f8