If you can make tests, I'll find people with the proper VDP's
I used the same method as NYYRIKKI. I only fixed the timming. From my tests the TMS99xx seems to lose the sprite number after a while (probably during Vblank). The number in the VDP register 0 is replaced by a value which seems random that seems to be defined at startup since once the MSX is turned on the value does not seem to change anymore. The sprite number becomes correct again probably during the scan of the lines on which are the sprites which disappear and at this moment there the bit 6 is set. On V99x8, sprite number doesn't change until there is another sprite disappearing elsewhere.
If you want more tests tell me which ones.
Status register 1 does not exist on TMS9918. Thus, you read the 5th sprite bits of status register 0, it seems the routine relies on this.
Right.
Write test programs that confirm and/or refine the hypotheses you're making... Then we can try to run it on different VDP types.
I noticed another strange thing with Panique. (I improved the MSX support not long ago.) The joystisk doesn't work on real MSX but it works on OpenMSX and other emulators. It's surprising because I have looked at the routines in the program and these are the Bios routines that are used. I wonder what's wrong. Anyway, there is something that is not emulated correctly.
Does the original game also have that problem?
I don't have the original tape or data recorder to test it but I think because joystick routines are same on all versions found. The issue occurs only on real MSX1s.
gdx: on which real MSX did you test the Panique joystick?
Also: this game, right? https://www.generation-msx.nl/software/the-bytebusters/paniq...
HX-10DP & National CF-2700. Yes this is game.
Can someone check on a machine with MSX engine chip?
It works on real FS-A1 & and MSX Turbo R.