notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
adjusted timing of some instructions
[picodrive.git]
/
cpu
/
DrZ80
/
drz80.s
diff --git
a/cpu/DrZ80/drz80.s
b/cpu/DrZ80/drz80.s
index
283cd8d
..
1061910
100644
(file)
--- a/
cpu/DrZ80/drz80.s
+++ b/
cpu/DrZ80/drz80.s
@@
-4568,7
+4568,7
@@
opcode_3_8:
tst z80f,#1<<CFlag
\r
bne opcode_1_8
\r
add z80pc,z80pc,#1
\r
tst z80f,#1<<CFlag
\r
bne opcode_1_8
\r
add z80pc,z80pc,#1
\r
- fetch
8
\r
+ fetch
7
\r
;@ADD HL,SP
\r
opcode_3_9:
\r
.if FAST_Z80SP
\r
;@ADD HL,SP
\r
opcode_3_9:
\r
.if FAST_Z80SP
\r
@@
-4586,7
+4586,7
@@
opcode_3_A:
orr r0,r0,r1, lsl #8
\r
readmem8
\r
mov z80a,r0, lsl #24
\r
orr r0,r0,r1, lsl #8
\r
readmem8
\r
mov z80a,r0, lsl #24
\r
- fetch 1
1
\r
+ fetch 1
3
\r
;@DEC SP
\r
opcode_3_B:
\r
sub z80sp,z80sp,#1
\r
;@DEC SP
\r
opcode_3_B:
\r
sub z80sp,z80sp,#1
\r
@@
-4890,6
+4890,7
@@
opcode_7_6:
ldrb r0,[cpucontext,#z80if]
\r
orr r0,r0,#Z80_HALT
\r
strb r0,[cpucontext,#z80if]
\r
ldrb r0,[cpucontext,#z80if]
\r
orr r0,r0,#Z80_HALT
\r
strb r0,[cpucontext,#z80if]
\r
+ mov z80_icount,#0
\r
b z80_execute_end
\r
;@LD (HL),A
\r
opcode_7_7:
\r
b z80_execute_end
\r
;@LD (HL),A
\r
opcode_7_7:
\r
@@
-5146,7
+5147,7
@@
opcode_B_F:
;@RET NZ
\r
opcode_C_0:
\r
tst z80f,#1<<ZFlag
\r
;@RET NZ
\r
opcode_C_0:
\r
tst z80f,#1<<ZFlag
\r
- beq opcode_C_9 ;@unconditional RET
\r
+ beq opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
\r
;@POP BC
\r
fetch 5
\r
\r
;@POP BC
\r
@@
-5189,8
+5190,11
@@
opcode_C_7:
;@RET Z
\r
opcode_C_8:
\r
tst z80f,#1<<ZFlag
\r
;@RET Z
\r
opcode_C_8:
\r
tst z80f,#1<<ZFlag
\r
- bne opcode_C_9 ;@unconditional RET
\r
+ bne opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
fetch 5
\r
+
\r
+opcode_C_9_cond:
\r
+ sub z80_icount,#1
\r
;@RET
\r
opcode_C_9:
\r
opPOP
\r
;@RET
\r
opcode_C_9:
\r
opPOP
\r
@@
-5271,7
+5275,7
@@
opcode_C_F:
;@RET NC
\r
opcode_D_0:
\r
tst z80f,#1<<CFlag
\r
;@RET NC
\r
opcode_D_0:
\r
tst z80f,#1<<CFlag
\r
- beq opcode_C_9 ;@unconditional RET
\r
+ beq opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
;@POP DE
\r
opcode_D_1:
\r
fetch 5
\r
;@POP DE
\r
opcode_D_1:
\r
@@
-5313,7
+5317,7
@@
opcode_D_7:
;@RET C
\r
opcode_D_8:
\r
tst z80f,#1<<CFlag
\r
;@RET C
\r
opcode_D_8:
\r
tst z80f,#1<<CFlag
\r
- bne opcode_C_9 ;@unconditional RET
\r
+ bne opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
;@EXX
\r
opcode_D_9:
\r
fetch 5
\r
;@EXX
\r
opcode_D_9:
\r
@@
-5399,7
+5403,7
@@
opcode_D_F:
;@RET PO
\r
opcode_E_0:
\r
tst z80f,#1<<VFlag
\r
;@RET PO
\r
opcode_E_0:
\r
tst z80f,#1<<VFlag
\r
- beq opcode_C_9 ;@unconditional RET
\r
+ beq opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
;@POP HL
\r
opcode_E_1:
\r
fetch 5
\r
;@POP HL
\r
opcode_E_1:
\r
@@
-5454,7
+5458,7
@@
opcode_E_7:
;@RET PE
\r
opcode_E_8:
\r
tst z80f,#1<<VFlag
\r
;@RET PE
\r
opcode_E_8:
\r
tst z80f,#1<<VFlag
\r
- bne opcode_C_9 ;@unconditional RET
\r
+ bne opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
;@JP (HL)
\r
opcode_E_9:
\r
fetch 5
\r
;@JP (HL)
\r
opcode_E_9:
\r
@@
-5530,7
+5534,7
@@
opcode_E_F:
;@RET P
\r
opcode_F_0:
\r
tst z80f,#1<<SFlag
\r
;@RET P
\r
opcode_F_0:
\r
tst z80f,#1<<SFlag
\r
- beq opcode_C_9 ;@unconditional RET
\r
+ beq opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
;@POP AF
\r
opcode_F_1:
\r
fetch 5
\r
;@POP AF
\r
opcode_F_1:
\r
@@
-5588,7
+5592,7
@@
opcode_F_7:
;@RET M
\r
opcode_F_8:
\r
tst z80f,#1<<SFlag
\r
;@RET M
\r
opcode_F_8:
\r
tst z80f,#1<<SFlag
\r
- bne opcode_C_9 ;@unconditional RET
\r
+ bne opcode_C_9
_cond
;@unconditional RET
\r
fetch 5
\r
;@LD SP,HL
\r
opcode_F_9:
\r
fetch 5
\r
;@LD SP,HL
\r
opcode_F_9:
\r
@@
-5599,7
+5603,7
@@
opcode_F_9:
.else
\r
mov z80sp,z80hl, lsr #16
\r
.endif
\r
.else
\r
mov z80sp,z80hl, lsr #16
\r
.endif
\r
- fetch
4
\r
+ fetch
6
\r
;@JP M,$+3
\r
opcode_F_A:
\r
tst z80f,#1<<SFlag
\r
;@JP M,$+3
\r
opcode_F_A:
\r
tst z80f,#1<<SFlag
\r
@@
-6641,7
+6645,7
@@
opcode_DD_NF:
;@ b end_loop
\r
\r
opcode_DD_NF2:
\r
;@ b end_loop
\r
\r
opcode_DD_NF2:
\r
- fetch
15
\r
+ fetch
23
\r
;@ notaz: we don't want to deadlock here
\r
;@ mov r0,#0xDD0000
\r
;@ orr r0,r0,#0xCB00
\r
;@ notaz: we don't want to deadlock here
\r
;@ mov r0,#0xDD0000
\r
;@ orr r0,r0,#0xCB00
\r