Re: Joynet and BIOS

1999-03-06 Thread Laurens Holst

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

1999-03-06 Thread shevek

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

1999-03-06 Thread Maarten ter Huurne

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

1999-03-06 Thread Maarten ter Huurne

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

1999-03-05 Thread Laurens Holst

] 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

1999-03-05 Thread Maarten ter Huurne

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

1999-03-05 Thread Maarten ter Huurne

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

1999-03-05 Thread Alex Wulms

] ] 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

1999-03-04 Thread Laurens Holst

 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

1999-03-04 Thread shevek

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

1999-03-04 Thread Patriek Lesparre

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

1999-03-04 Thread Alex Wulms

] 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

1999-03-03 Thread Laurens Holst


-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

1999-03-03 Thread Laurens Holst

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

1999-03-03 Thread shevek

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

1999-03-02 Thread shevek

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

1999-03-02 Thread Martial BENOIT

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

1999-03-02 Thread shevek

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/)