Re: Joynet and BIOS
At 08:45 PM 3/3/99 +0100, you wrote: Don't bother about Dos, you can just copy it, who cares? And it's very easy to use! By the way, you can redefine ALL RSTs in the Dos-environment. None of them is reserved, exept perhaps the one of the interrupt but you can replace that one too. What about the inter slot call? That's one RST you'd better not redefine. For example, the H_KEYI handler in the NMS8250 uses it. Ain't that #24??? ~Grauw MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
On Thu, 4 Mar 1999, Patriek Lesparre wrote: Shevek wrote: And well, I have my own page-0 routines already anyway. Including memory manager, device manager and string handling routines. Now you're calling it a device manager yourself too, eh? ^_^ You were right it is pretty confusing to call it a file manager. And I am always open for good suggestions :-) Bye, shevek --- Visit the internet summercamp via http://polypc47.chem.rug.nl:5002 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
At 01:35 PM 03/06/99 +0100, you wrote: Don't bother about Dos, you can just copy it, who cares? And it's very easy to use! By the way, you can redefine ALL RSTs in the Dos-environment. None of them is reserved, exept perhaps the one of the interrupt but you can replace that one too. What about the inter slot call? That's one RST you'd better not redefine. For example, the H_KEYI handler in the NMS8250 uses it. Ain't that #24??? #24 is EnaSlt (slot switch routine) #1C is the inter slot call you mean There are two inter slot calls, the other one is an RST which is used like this: RST #30 db SLOT_ID dw ADDRESS So, you cannot redefine all RSTs under DOS. Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
At 03:04 PM 03/06/99 +0100, you wrote: What about the inter slot call? That's one RST you'd better not redefine. For example, the H_KEYI handler in the NMS8250 uses it. ARGH! That is bad... Well, I'll just make sure BIOS is switched in page 0 when I call it. That doesn't happen very often anyway, only when I want to stop the diskdrive. Reading from disk may also need an inter slot call (if your machine contains more than 1 diskROM, for example when you use DOS2). One tip for when you enable the BIOS only when accessing disks: make sure that if DOS2 is present, you call "invalidate disk buffers" before you load. Disk buffers are a kind of cache. It is automatically invalidated after a certain time (less time than any human takes to swap a disk). But if you no longer call the normal interrupt handler, time "freezes" for it. So DOS2 will always think the disk buffers are valid, even though it's possible the disk has been changed in the time its interrupt handler wasn't called. You can solve that problem by always invalidating disk buffers when you start a series of loads. Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
] But, as I understand now, you're not writing a universal driver... *snif*... Don't cry too loud. I'm still working on a universal driver. Though, I'm first finishing a different project: Helping Marat in improving the vdp emulation of fMSX. The improvements made up to now have already lead to a good working sd-snatcher! Though, the work is not finished yet, so you all have to be patient. After I'm done with the VDP emulation improvements, I'll continue my work on the universal joynet drivers. And are you going to make use of my idea, so that the BIOS doesn't change the joystik-pins anymore??? And are you going to make a Basic-driver using CMD too??? ~Grauw MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
At 08:42 PM 3/3/99 +0100, you wrote: Now you can make a nice hook which sets SCNCNT to 255 so that the BIOS key/joy-routines aren't used, and then run a copy of the keyboard-routine and add a Joystick-routine which doesn't affect the JoyNet pins... Hey, you got that??? Now you don't even have to do difficult things to a *complete new* interrupt-routine, you can still use your own, and IT WORKS UNDER BASIC!!! And Basic is cool because you can then easily program little test-progs or small games etc... Good idea of me, eh??? Well, you can use BASIC unless you need to read the keyboard. Making for example a simple chat program is not possible. Also, I am not sure it will work on every MSX. A different option is to make a protocol that always ends in the state with the data bits 1 and the strobe 0. That's how I solved the BIOS problems in my implementation. Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
At 08:45 PM 3/3/99 +0100, you wrote: Don't bother about Dos, you can just copy it, who cares? And it's very easy to use! By the way, you can redefine ALL RSTs in the Dos-environment. None of them is reserved, exept perhaps the one of the interrupt but you can replace that one too. What about the inter slot call? That's one RST you'd better not redefine. For example, the H_KEYI handler in the NMS8250 uses it. Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
] ] But, as I understand now, you're not writing a universal driver... ] *snif*... ] Don't cry too loud. I'm still working on a universal driver. Though, I'm ] first finishing a different project: Helping Marat in improving the vdp ] emulation of fMSX. The improvements made up to now have already lead to a ] good working sd-snatcher! Though, the work is not finished yet, so you all ] have to be patient. ] ] After I'm done with the VDP emulation improvements, I'll continue my work ] on ] the universal joynet drivers. ] ] And are you going to make use of my idea, so that the BIOS doesn't change ] the joystik-pins anymore??? No. I'm making a package based protocol. During the transfer of a single package, the interrupts must remain switched off. The transfer of a package is initiated via a handshake protocol. As a result, it does not matter what happens with the signals at the moment that I'm not transferring data. ] And are you going to make a Basic-driver using ] CMD too??? There is going to be a basic driver. Most probably a memman tsr. I do not know yet if I will use the CMD hook or that I will use the USR command. Anybody any preference? Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
I recently took a look (- :) -) at the BIOS, and I saw that it only looks at the Keyboard when the keyscan-counter SCNCNT reaches 0. What computer was that? I looked into the bios of my NMS 8250 (not recently, ok) and I'm pretty sure it reads the keyboard every vdp-interrupt. Hey, I just found the solution! I'll just switch off the interrupts, using vdp(1). When my program returns from the dos-call, I can switch them on again. :-) Nope... it doesn't read it every interrupt. Every 3rd interrupt (in the normal case). Check it out! Here, this is what the BIOS does: ld hl,#F3F6 ;SCNCNT dec (hl) jp nz,#0D02 ;END_INT blahblah... My solution ALWAYS works, yours only in a specially adapted Assembly-program. Imagine: Someone has written a great Tetris-like game which is extremely fit for use with JoyNet. One problem: he already finished the program, which still uses the BIOS-interrupt, and he doesn't want to have too much work on it (ie. he doesn't want to write a complete new interrupt). Then it's useful to have such a driver ready. But, as I understand now, you're not writing a universal driver... *snif*... Hey, you got that??? Now you don't even have to do difficult things to a *complete new* interrupt-routine, you can still use your own, and IT WORKS UNDER BASIC!!! And Basic is cool because you can then easily program little test-progs or small games etc... Good idea of me, eh??? The idea is good for small things. But actually, I was planning to make big things. Sorry, I mean BIG, or even HUGE. And well, I have my own page-0 routines already anyway. Including memory manager, device manager and string handling routines. I want to add my joynet routines in it. I also will add a multitasker soon. Those are not the kind of things you want to run under BASIC, or with BASIC switched in memory... Yeah ok but I was talking about a universal driver. Using this trick you can easily implement it in other programs; you don't need to write an entire new interrupt. But thanks for the help. Now I do have the answer anyway :-) Indeed, switching off the interrupts is a good idea too. Hey, you know what? I'll add those triks to the JoyNet-page... Now I'm going to do that, has anybody else written (but not yet programmed) (or programmed, even better!) some "protocols" for JoyNet??? I have made a comm-protocol for 2 computers using JoyNet, and a ring connected-protocol which detects if the ring is closed. However, I still haven't made up a protocol which determines how many computers there are and which assigns the computers a number... ~Grauw MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
On Thu, 4 Mar 1999, Laurens Holst wrote: Yeah ok but I was talking about a universal driver. Using this trick you can easily implement it in other programs; you don't need to write an entire new interrupt. That is true, but if you want to use your memory optimal with multiple tasks, it gets pretty unorganised and you might have other programs overwriting your hook, or something. Indeed, switching off the interrupts is a good idea too. Hey, you know what? I'll add those triks to the JoyNet-page... Now I'm going to do that, has anybody else written (but not yet programmed) (or programmed, even better!) some "protocols" for JoyNet??? I have made a comm-protocol for 2 computers using JoyNet, and a ring connected-protocol which detects if the ring is closed. However, I still haven't made up a protocol which determines how many computers there are and which assigns the computers a number... I have done that. I'm planning to write a small program, that should be loaded from cassette on a MSX without a diskdrive and that will read a program from the net and execute it. In the protocol I use, it is nessecary that every computer knows it's ID, so it is also sent (and incremented by every computer is passes). Bye, shevek --- Visit the internet summercamp via http://polypc47.chem.rug.nl:5002 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
Shevek wrote: And well, I have my own page-0 routines already anyway. Including memory manager, device manager and string handling routines. Now you're calling it a device manager yourself too, eh? ^_^ Greetz, Patriek [EMAIL PROTECTED] ,-. ,. ,-. TNI on the web: | '-.| ,-. \ '-' http://www.xs4all.nl/~newimage/ Member of| ,-'| | | | ,-. The New Image | '--' | | '-' | Check out "MSX Banzai!" at: since 1991`--' '-' http://www.xs4all.nl/~newimage/MSXBanzai!/ MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
] But, as I understand now, you're not writing a universal driver... *snif*... Don't cry too loud. I'm still working on a universal driver. Though, I'm first finishing a different project: Helping Marat in improving the vdp emulation of fMSX. The improvements made up to now have already lead to a good working sd-snatcher! Though, the work is not finished yet, so you all have to be patient. After I'm done with the VDP emulation improvements, I'll continue my work on the universal joynet drivers. Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
-Oorspronkelijk bericht- Van: shevek [EMAIL PROTECTED] Aan: [EMAIL PROTECTED] [EMAIL PROTECTED] Datum: dinsdag 2 maart 1999 22:42 Onderwerp: Re: Joynet and BIOS On Tue, 2 Mar 1999, Laurens Holst wrote: The MSX BIOS changes the pins of the joystickport while reading the joystickports. Therefor, you can only send/recieve while interrupts are disabled, or -I perfer this option- you can write your own interrupt-routine which doesn't modify the pins of the joystick-port on which JoyNet is connected. Of course, that is what I do as well. But when I want to access the disk (BDOS), I need to have the bios in page 0 (or at least the slot switching routines). I don't have them in my own 0-page code, or at least not in a dos-compatible way. (They will be dos2-compatible, but they don't switch the usual way on rst 20). So does the BIOS always switch 1's in the buttons and a 0 in the strobe, or is it random? Use Dos... :) ...or... Information about SCNCNT (#F3F6): A counter which keeps track if the keyboard has to be scanned on a VDP-interrupt. This counter is ontrolled by the VDP-interrupt. The value of this counter goes from 3 to 0; if zero is reached then the keyboard is being scanned SCNCNT (ScanCount) is reset to 3. I recently took a look (- :) -) at the BIOS, and I saw that it only looks at the Keyboard when the keyscan-counter SCNCNT reaches 0. If the counter isn't 0 then the BIOS jumps to the end of the hook immediately. But the Joystick read-routines are AFTER the Keyboard-routines so you should be able to (temporarely) disable the Joystickroutines (and the keyboardroutines!!!) by setting SCNCNT to a high value like 255, then it waits 255 interrupts before the next keyboard/joystick readout... Now you can make a nice hook which sets SCNCNT to 255 so that the BIOS key/joy-routines aren't used, and then run a copy of the keyboard-routine and add a Joystick-routine which doesn't affect the JoyNet pins... Hey, you got that??? Now you don't even have to do difficult things to a *complete new* interrupt-routine, you can still use your own, and IT WORKS UNDER BASIC!!! And Basic is cool because you can then easily program little test-progs or small games etc... Good idea of me, eh??? Ofcourse, I'm not sure if this works on every MSX since I can't test it, but I really think it will work... ~Grauw MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
I don't want to call it from the dos-prompt, because I am not allowed to distribute the game with dos included. I prefer to have my own "bios" in page 0, because I have rewritten more than just the interrupts. I make use of all the RST commands a lot more efficient then the bios does. Therefor I would really like a way in which I can keep my own RAM in page 0... Don't bother about Dos, you can just copy it, who cares? And it's very easy to use! By the way, you can redefine ALL RSTs in the Dos-environment. None of them is reserved, exept perhaps the one of the interrupt but you can replace that one too. ~Grauw MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
On Wed, 3 Mar 1999, Laurens Holst wrote: Use Dos... :) Just in case I didn't just mention I don't WANT to use dos, I DON'T!!! OK? (I'm not really angry, I just want to let you know it is totally out of the question that I'm using dos) ...or... That sounds better :-) I recently took a look (- :) -) at the BIOS, and I saw that it only looks at the Keyboard when the keyscan-counter SCNCNT reaches 0. What computer was that? I looked into the bios of my NMS 8250 (not recently, ok) and I'm pretty sure it reads the keyboard every vdp-interrupt. Hey, I just found the solution! I'll just switch off the interrupts, using vdp(1). When my program returns from the dos-call, I can switch them on again. :-) Hey, you got that??? Now you don't even have to do difficult things to a *complete new* interrupt-routine, you can still use your own, and IT WORKS UNDER BASIC!!! And Basic is cool because you can then easily program little test-progs or small games etc... Good idea of me, eh??? The idea is good for small things. But actually, I was planning to make big things. Sorry, I mean BIG, or even HUGE. And well, I have my own page-0 routines already anyway. Including memory manager, device manager and string handling routines. I want to add my joynet routines in it. I also will add a multitasker soon. Those are not the kind of things you want to run under BASIC, or with BASIC switched in memory... But thanks for the help. Now I do have the answer anyway :-) Bye, shevek --- Visit the internet summercamp via http://polypc47.chem.rug.nl:5002 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
On Tue, 2 Mar 1999, Laurens Holst wrote: The MSX BIOS changes the pins of the joystickport while reading the joystickports. Therefor, you can only send/recieve while interrupts are disabled, or -I perfer this option- you can write your own interrupt-routine which doesn't modify the pins of the joystick-port on which JoyNet is connected. Of course, that is what I do as well. But when I want to access the disk (BDOS), I need to have the bios in page 0 (or at least the slot switching routines). I don't have them in my own 0-page code, or at least not in a dos-compatible way. (They will be dos2-compatible, but they don't switch the usual way on rst 20). So does the BIOS always switch 1's in the buttons and a 0 in the strobe, or is it random? Thanks, bye, shevek --- Visit the internet summercamp via http://polypc47.chem.rug.nl:5002 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
At 22:43 02/03/99 +0100, you wrote: On Tue, 2 Mar 1999, Laurens Holst wrote: The MSX BIOS changes the pins of the joystickport while reading the joystickports. Therefor, you can only send/recieve while interrupts are disabled, or -I perfer this option- you can write your own interrupt-routine which doesn't modify the pins of the joystick-port on which JoyNet is connected. Of course, that is what I do as well. But when I want to access the disk (BDOS), I need to have the bios in page 0 (or at least the slot switching routines). I don't have them in my own 0-page code, or at least not in a dos-compatible way. (They will be dos2-compatible, but they don't switch the usual way on rst 20). So does the BIOS always switch 1's in the buttons and a 0 in the strobe, or is it random? Thanks, bye, shevek hum... why don't you use the DOS? I mean you are talking of BDOS, by the way buy making the game directly load from DOS prompt, you'll have the DOS and BIOS entry in page 0 that is RAM in DOS mode, therefore you just have to modify RST38 RAM location so it jump to your own interupt driver, this way you still have acces to CALL 0005h for disk rouitnes and still use your interupt driver at the same time. just copy the data at location RST38 (5 byte if I remember well...) and restore the 5 byte when exiting you application. hope this help Martial. MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Joynet and BIOS
On Tue, 2 Mar 1999, Martial BENOIT wrote: why don't you use the DOS? I mean you are talking of BDOS, by the way buy making the game directly load from DOS prompt, you'll have the DOS and BIOS entry in page 0 that is RAM in DOS mode, therefore you just have to modify RST38 RAM location so it jump to your own interupt driver, this way you still have acces to CALL 0005h for disk rouitnes and still use your interupt driver at the same time. just copy the data at location RST38 (5 byte if I remember well...) and restore the 5 byte when exiting you application. I don't want to call it from the dos-prompt, because I am not allowed to distribute the game with dos included. I prefer to have my own "bios" in page 0, because I have rewritten more than just the interrupts. I make use of all the RST commands a lot more efficient then the bios does. Therefor I would really like a way in which I can keep my own RAM in page 0... Bye, shevek --- Visit the internet summercamp via http://polypc47.chem.rug.nl:5002 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)