Re: [MSX] switching r800 <-> z80 in TP

2003-12-29 Thread Patriek Lesparre
Mr. Boon,

If you know so well, why don't you release a proper patch then?
In fact, if you know so well, why didn't you help Raymond in the first place?
You wrote:
(Although, to be 100% sure, the routine would have to check the MSX type
& R800 mode on every interrupt ;-P)
That's only when assuming the music player can't be interrupted, which is 
not always the case. For example, when using a lot of line interrupts, you 
really want a multi-level interrupt.

This should be in some kind of initialisation routine.
I understand why there's no such routine, because the original assembly 
player doesn't have one either, and the pascal version follows it closely.
Hm, the replay routine I have does have this check, and it's pretty close 
to 'original', since I got it directly from Remco Scrijvers,
ages ago :-)
I didn't say the original didn't have this CHECK, I said the original 
doesn't have a seperate initialisation routine. Please READ before trying 
to be smart.

Hm, that will *only* work if the MSX really is in Z80 mode
OBVIOUSLY

which fortunately will be the casr for Raymond.
duh! I wouldn't have suggested it otherwise.

Otherwise the OUT timing will be too fast, I'm afraid. So'd say it's a 
hack, not a patch ;-P
It *IS* a patch, a patch to assume Z80 mode always! There's nothing hacky 
about it. I even said a real FIX would be possible and I even said how to 
do it!

So in the future, please keep the smart-ass comments to yourself, if you 
can't be helpful. If this was the first time, I could laugh about it, but 
it's getting REALLY annoying that you always try to find faults in what I 
say and make stupid remarks and lame jokes.

Or maybe I shouldn't go out of my way to help other people?

A good day to you, asshole!

- Patriek

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


Re: [MSX] switching r800 <-> z80 in TP

2003-12-29 Thread Eric Boon
Patriek Lesparre wrote:

Yup, and the stupid thing is, it checks the MSX type EVERY time a song 
is started, switches to R800, and modifies the appropriate I/O routines.
...to make sure that the I/O timing is always correct, I presume.
(Although, to be 100% sure, the routine would have to check the MSX type
& R800 mode on every interrupt ;-P)
This should be in some kind of initialisation routine.
I understand why there's no such routine, because the original assembly 
player doesn't have one either, and the pascal version follows it closely.
Hm, the replay routine I have does have this check, and it's pretty 
close to 'original', since I got it directly from Remco Scrijvers,
ages ago :-)

Working around this just requires some PUSH/POP instructions, but I 
didn't want to risk losing possible code/data alignment later, so that's 
why I suggested the patch to always assume Z80.
Hm, that will *only* work if the MSX really is in Z80 mode, which 
fortunately will be the casr for Raymond. Otherwise the OUT timing will 
be too fast, I'm afraid. So'd say it's a hack, not a patch ;-P

	Eric

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


Re: [MSX] switching r800 <-> z80 in TP

2003-12-29 Thread Patriek Lesparre
Yup, and the stupid thing is, it checks the MSX type EVERY time a song is 
started, switches to R800, and modifies the appropriate I/O routines. This 
should be in some kind of initialisation routine.
I understand why there's no such routine, because the original assembly 
player doesn't have one either, and the pascal version follows it closely.

After taking a closer look: the code DOES check the CPU mode, after it has 
determined it's turboR, but here's the kicker: The CPU mode check destroys 
the BC,DE,HL,IX registers, in which the modified routine addresses are stored!

This is a very grave bug, and this 'feature' (Z80 mode on turboR) obviously 
has NEVER been tested, because it will surely crash every time. Maybe it's 
not so obvious the 0183h routine destroys BC-HL, but if you use IX for the 
interslotcall to 0183h, you must realize IX will not hold its previous 
value later ^^;;;

Working around this just requires some PUSH/POP instructions, but I didn't 
want to risk losing possible code/data alignment later, so that's why I 
suggested the patch to always assume Z80.

Anyway, no reply from Raymond yet, but I hope he has the same version as I 
worked with (got it from manuel bilderbeek's page) and that it'll work for 
him :)

Greetz,
Patriek
Laurens Holst wrote:
Ah, yes... It probably doesn't detect the current CPU mode - instead it
detects the computer type, which is ofcourse always turboR (which it
interprets as R800) whether it actually is in Z80 mode or not.
~Grauw

Patriek Lesparre wrote:
> Hi Raymond,
>
> That's indeed a pretty good indication the problem indeed lies with
> the player.
>
> I suppose you're using Kari Lammassaari's Moonblaster player for
> Pascal? I took a small look at it and here's how to disable the
> turboR detection:
>
> Load a Hex-Editor (DiskView on MSX will do fine) and edit the
> mbplayer.mpc file. Byte 0327h should contain 38h, change this to 18h.
>
> This will make the player think it's always running on Z80.
>
> Greetz,
> Patriek
>
> ___
> MSX mailing list ([EMAIL PROTECTED])
> Info page: http://lists.stack.nl/mailman/listinfo/msx
---
Ushiko-san! Kimi wa doushite, Ushiko-san nan da!!
___
MSX mailing list ([EMAIL PROTECTED])
Info page: http://lists.stack.nl/mailman/listinfo/msx
___
MSX mailing list ([EMAIL PROTECTED])
Info page: http://lists.stack.nl/mailman/listinfo/msx


Re: [MSX] switching r800 <-> z80 in TP

2003-12-29 Thread Laurens Holst
Ah, yes... It probably doesn't detect the current CPU mode - instead it
detects the computer type, which is ofcourse always turboR (which it
interprets as R800) whether it actually is in Z80 mode or not.


~Grauw

Patriek Lesparre wrote:
> Hi Raymond,
>
> That's indeed a pretty good indication the problem indeed lies with
> the player.
>
> I suppose you're using Kari Lammassaari's Moonblaster player for
> Pascal? I took a small look at it and here's how to disable the
> turboR detection:
>
> Load a Hex-Editor (DiskView on MSX will do fine) and edit the
> mbplayer.mpc file. Byte 0327h should contain 38h, change this to 18h.
>
> This will make the player think it's always running on Z80.
>
> Greetz,
> Patriek
>
> ___
> MSX mailing list ([EMAIL PROTECTED])
> Info page: http://lists.stack.nl/mailman/listinfo/msx

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

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