Schrijver
| Bug in blueMSX ???
|
ARTRAG msx master Berichten: 1686 | Geplaatst: 06 Oktober 2007, 23:47   |
It seems that BLUEMSX tries to reproduce the fact that on msx1 out's to the VDP outside the VBLANK cannot be too close each other without loosing data.
I know also that when the screen is disabled (i.e. R1 has reset bit 6) the VDP is in a special mode where the I/O can be at the max speed.
I see instead the BLUEMSX does not emulate correctly this situation, where it contines to loose data even whe BLANK is zero.
This seems a bug in the emulator.
Is it ?
|
|
dvik msx master Berichten: 1312 | Geplaatst: 07 Oktober 2007, 03:51   |
blueMSX as well as most other emus (BrMSX is an exception) does not emulate the slower I/O speed on MSX1. So its always possible to write as fast as possible to the VDP and VRAM regardless of VBLANK or if the screen is screen disabled.
At one point (one or two releases around 2.4 or so) blueMSX emulated the fact that if 4kB VRAM size (in R1 i believe) was selected and you disabled the screen, the VRAM slowly got corrupted. On MSX1 machines, the VRAM size bit needs to be set to 16kB if you want to disable the screen. There was however some bug related to this so I removed the feature. It was probably some other condition that was missing or so.
But as far as emulating the slow I/O I think only BrMSX does it.
|
|
ARTRAG msx master Berichten: 1686 | Geplaatst: 07 Oktober 2007, 10:35   |
if so, can u help me in this?
why this segment does not work
ld bc,0x0098
otir
otir
otir
and this other works ?
ld bc,0x0800
1: ld a,(hl)
out (0x98),a
inc hl
dec bc
ld a,b
or c
jp nz,1b
|
|
ARTRAG msx master Berichten: 1686 | Geplaatst: 07 Oktober 2007, 15:45   |
ok, solved
thanks
(the bug was in my code  ) |
|
|
|
|