Autor
| detecting vram/vdp speed
|
PingPong msx professional Mensajes: 988 | Publicado: Mayo 18 2008, 11:38   |
actually i use a simple routine to detect if vdp can work at full otir speed during display area basically in this way:
halt; wait vblank
call delay ; ensure that we reach in active area.
ld hl, vramaddr
call setwr
ld hl, patterndata
ld bc,0x0098
otir
then i read back the values, slowly.
if all bytes in ram == to all bytes on vram then i have a fast vdp otherwise no.
I'm looking for a better way to do this detection...
|
|
pitpan msx master Mensajes: 1379 | Publicado: Mayo 19 2008, 08:26   |
I guess OTIR is too fast for any MSX version if not in vblank. But the required delay is different for an MSX1 and an MSX2.
|
|
PingPong msx professional Mensajes: 988 | Publicado: Mayo 19 2008, 18:26   |
Quote:
| I guess OTIR is too fast for any MSX version if not in vblank. But the required delay is different for an MSX1 and an MSX2.
|
The problem is not on plain msx2. Even at max speed the v9938 is able to cope with z80. Even in active area. Even if there is a vdp cmd execution in progress. Even with sprites on at 60hz.
The problem IS FOR SOME MSX1 machines... Instead of simply add the req. delay, my idea is to detect the speed and where possible, update at higher speed. |
|
|
|
|