Laurens Holst wrote:
> Well, as was explained before, the MB routines detect the CPU mode at
> a certain point, and all the I/O timing after that is based on that
> detection. Probably, it detects the CPU mode somewhere in the period
> before switching to Z80 (during initialization or loading), so it
> detects a R800. If you then switch to Z80, the replayer's timing is
> still done for the R800, which means that it puts in very long delay
> instructions to slow down the I/O access... Which the Z80 can't
> handle.

Or uh... maybe not -_-... (just read in Eric's mail that it detects the
speed when the music *starts* to play).

Anyways it may not hurt to test if it runs ok when the game starts (and
stays) in Z80 mode. If it does, the problem probably lays in some routines
not liking the switching between different CPU speeds. And the MB routines
are a good candidate for that. If it does not, it is not so much a switching
as a more general Z80 timing problem. Actually all I can really think of
that could give problems of that kind (on a 'low' Turbo Pascal level at
least) is the interrupt handler being too slow...

Hey, or maybe the game engine uses some R800-only instructions? MULUB,
anyone? Oh, wait, it's Turbo Pascal...


~Grauw

---
Ushiko-san! Kimi wa doushite, Ushiko-san nan da!!

_______________________________________________
MSX mailing list ([EMAIL PROTECTED])
Info page: http://lists.stack.nl/mailman/listinfo/msx

Reply via email to