Re: [MSX] switching r800 <-> z80 in TP
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
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
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
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