With the SuperVDP project, I had a problem about speed, performance. Actually, how much tile can the 32X actually displays. Taking it back, I intend to benchmark the CPU, here's my method.
Enable VInt :
Code: Select all
mov.w @(0,GBR),R0
or #8,R0
mov.w R0,@(0,GBR) ; Enable V INT
Code: Select all
main:
bra main
add #1,R8 ; Executes ADD before branching
Code: Select all
V_INT:
mov.l V_INT_vtimer,R0
mov.l @R0,R1
add #1,R1
mov.l R1,@R0
mov R8,R9
mov #0,R8
rte
nop ; Executes NOP before branching
.align 4
V_INT_vtimer: dc.l $2000402C
or R9 = $1 BD5D = 114 013 in PAL.
Does it mean each CPU can do no more than ~100k operations by frame ?
On real hardware, it would be even slower since the operation I use (add #1,R8) just stays in 3 stages whereas more complex ones (mov.b @R8,R9 for example) uses 4 or even 5 stages !