mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
drZ80: be sure addrs are in range
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@777 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
6ccf5504a8
commit
5d572e5228
1 changed files with 52 additions and 26 deletions
|
@ -6713,7 +6713,8 @@ opcode_DD_2E:
|
|||
opcode_DD_34:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
stmfd sp!,{r0} ;@ save addr
|
||||
readmem8
|
||||
opINC8b
|
||||
|
@ -6724,7 +6725,8 @@ opcode_DD_34:
|
|||
opcode_DD_35:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
stmfd sp!,{r0} ;@ save addr
|
||||
readmem8
|
||||
opDEC8b
|
||||
|
@ -6736,7 +6738,8 @@ opcode_DD_36:
|
|||
ldrsb r2,[z80pc],#1
|
||||
ldrb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r2,r1, lsr #16
|
||||
add r1,r1,r2, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
writemem8
|
||||
fetch 19
|
||||
;@ADD IX,SP
|
||||
|
@ -6767,7 +6770,8 @@ opcode_DD_45:
|
|||
opcode_DD_46:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
and z80bc,z80bc,#0xFF<<16
|
||||
orr z80bc,z80bc,r0, lsl #24
|
||||
|
@ -6788,7 +6792,8 @@ opcode_DD_4D:
|
|||
opcode_DD_4E:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
and z80bc,z80bc,#0xFF<<24
|
||||
orr z80bc,z80bc,r0, lsl #16
|
||||
|
@ -6810,7 +6815,8 @@ opcode_DD_55:
|
|||
opcode_DD_56:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
and z80de,z80de,#0xFF<<16
|
||||
orr z80de,z80de,r0, lsl #24
|
||||
|
@ -6831,7 +6837,8 @@ opcode_DD_5D:
|
|||
opcode_DD_5E:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
and z80de,z80de,#0xFF<<24
|
||||
orr z80de,z80de,r0, lsl #16
|
||||
|
@ -6868,7 +6875,8 @@ opcode_DD_65:
|
|||
opcode_DD_66:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
and z80hl,z80hl,#0xFF<<16
|
||||
orr z80hl,z80hl,r0, lsl #24
|
||||
|
@ -6910,7 +6918,8 @@ opcode_DD_6D:
|
|||
opcode_DD_6E:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
and z80hl,z80hl,#0xFF<<24
|
||||
orr z80hl,z80hl,r0, lsl #16
|
||||
|
@ -6925,7 +6934,8 @@ opcode_DD_6F:
|
|||
opcode_DD_70:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r0,r1, lsr #16
|
||||
add r1,r1,r0, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
mov r0,z80bc, lsr #24
|
||||
writemem8
|
||||
fetch 19
|
||||
|
@ -6933,7 +6943,8 @@ opcode_DD_70:
|
|||
opcode_DD_71:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r0,r1, lsr #16
|
||||
add r1,r1,r0, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
mov r0,z80bc, lsr #16
|
||||
and r0,r0,#0xFF
|
||||
writemem8
|
||||
|
@ -6942,7 +6953,8 @@ opcode_DD_71:
|
|||
opcode_DD_72:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r0,r1, lsr #16
|
||||
add r1,r1,r0, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
mov r0,z80de, lsr #24
|
||||
writemem8
|
||||
fetch 19
|
||||
|
@ -6950,7 +6962,8 @@ opcode_DD_72:
|
|||
opcode_DD_73:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r0,r1, lsr #16
|
||||
add r1,r1,r0, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
mov r0,z80de, lsr #16
|
||||
and r0,r0,#0xFF
|
||||
writemem8
|
||||
|
@ -6959,7 +6972,8 @@ opcode_DD_73:
|
|||
opcode_DD_74:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r0,r1, lsr #16
|
||||
add r1,r1,r0, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
mov r0,z80hl, lsr #24
|
||||
writemem8
|
||||
fetch 19
|
||||
|
@ -6967,7 +6981,8 @@ opcode_DD_74:
|
|||
opcode_DD_75:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r0,r1, lsr #16
|
||||
add r1,r1,r0, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
mov r0,z80hl, lsr #16
|
||||
and r0,r0,#0xFF
|
||||
writemem8
|
||||
|
@ -6976,7 +6991,8 @@ opcode_DD_75:
|
|||
opcode_DD_77:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r1,r0,r1, lsr #16
|
||||
add r1,r1,r0, lsl #16
|
||||
mov r1,r1,lsr #16
|
||||
mov r0,z80a, lsr #24
|
||||
writemem8
|
||||
fetch 19
|
||||
|
@ -6995,7 +7011,8 @@ opcode_DD_7D:
|
|||
opcode_DD_7E:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
mov z80a,r0, lsl #24
|
||||
fetch 19
|
||||
|
@ -7014,7 +7031,8 @@ opcode_DD_85:
|
|||
opcode_DD_86:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opADDb
|
||||
fetch 19
|
||||
|
@ -7033,7 +7051,8 @@ opcode_DD_8D:
|
|||
opcode_DD_8E:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opADCb
|
||||
fetch 19
|
||||
|
@ -7052,7 +7071,8 @@ opcode_DD_95:
|
|||
opcode_DD_96:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opSUBb
|
||||
fetch 19
|
||||
|
@ -7071,7 +7091,8 @@ opcode_DD_9D:
|
|||
opcode_DD_9E:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opSBCb
|
||||
fetch 19
|
||||
|
@ -7090,7 +7111,8 @@ opcode_DD_A5:
|
|||
opcode_DD_A6:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opANDb
|
||||
fetch 19
|
||||
|
@ -7109,7 +7131,8 @@ opcode_DD_AD:
|
|||
opcode_DD_AE:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opXORb
|
||||
fetch 19
|
||||
|
@ -7128,7 +7151,8 @@ opcode_DD_B5:
|
|||
opcode_DD_B6:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opORb
|
||||
fetch 19
|
||||
|
@ -7147,7 +7171,8 @@ opcode_DD_BD:
|
|||
opcode_DD_BE:
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
readmem8
|
||||
opCPb
|
||||
fetch 19
|
||||
|
@ -7159,7 +7184,8 @@ opcode_DD_CB:
|
|||
;@moves the PC to the location of the subroutine
|
||||
ldrsb r0,[z80pc],#1
|
||||
ldr r1,[z80xx]
|
||||
add r0,r0,r1, lsr #16
|
||||
add r0,r1,r0, lsl #16
|
||||
mov r0,r0,lsr #16
|
||||
|
||||
ldrb r1,[z80pc],#1
|
||||
ldr pc,[pc,r1, lsl #2]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue