When you talk about a driver for TCP/IP, are you talking about a program that is installed under DOS in a memory segment and that runs via the ISR? I am not used to the specifics of DOS.
For MSXgl, I'm looking for general purpose solutions that can be used to make DOS, BASIC binary or cartridge games.
Accessing the unAPI functions of a network cartridge seems viable to me on any support. Not sure that Eugeny C wrapper can run without DOS but it seem possible to write a generic one.
It's really a pity that the Obsonet doesn't have hardware TCP/IP support. :-/
Yeah, UNAPI doesn't depend on MSDOS, it is based on EXTBIO calls.
Now, a ram driver adapter like OBSONET (because even though it has an UNAPI for ethernet, the TCP IP UNAPI is a ram driver loaded by dos) or SM-X/SX2/OCM when not using the BIOS but using RAM driver (I allow both options) won't be seem by a cartridge unless dos is booted and driver is loaded and then cartridge is executed (i.e.: a call command in basic), not really nice, but SM-X/SX2/DENYONET/GR8NET/OCM all have BIOS drivers so if the interface BIOS is loaded before the cartridge, a game in ROM might be able to detect those when using BIOS drivers Nestor/Konamiman put quite some effort to make a really good standard, you can read about it here:
https://github.com/Konamiman/MSX-UNAPI-specification/blob/ma...
And most specifically the OBSONET BIOS export this UNAPI specification:
https://github.com/Konamiman/MSX-UNAPI-specification/blob/ma...
SM-X/SX2/GR8NET/OCM DEVICES/DENYONET/OBSONET(after Loading Internestor Lite) all support this UNAP specification:
https://github.com/Konamiman/MSX-UNAPI-specification/blob/ma...
So, the best option would be, for compatibility sake, to support the TCP-IP UNAPI specification that allows TCP IP accelerated devices, Ethernet only devices (OBSONET) and has the broader compatibility.
The best target to make sure it is compatible with everything would be DOS, but, a ROM can work as long as the device has TCP-IP UNAPI as a BIOS and it sits in a slot lower than the ROM or in any slot if the game uses a hook to run only after BASIC initializes (so Disk Rom is loaded for sure, all slots are initialized, Kings Valley II does that approach as an example) ;)
Not sure that Eugeny C wrapper can run without DOS but it seem possible to write a generic one.
Library must be universal. If not - let me know, we will think how to improve it.
GR8NET can use interrupts from W5100 chip (however I do not use this mode in GR8NET ROM), therefore process speed can be increased using this feature.
This is a bit off topic for this thread, but I read the ObsoNET technical documentation (I started with the most basic cartridge). I understand well how to use the Ethernet
layer via the BIOS (with direct accesses) or via Ethernet unAPI implementation (even if I didn't find the address where to send the calls in unAPI format). With this layer, I can see how we could easily make action games (without arbitration) on a local network using broadcast.
For the TCP/IP layer, it is much more unclear. I don't know much about DOS and I'm not sure I understand what is actually called "installing a driver" (like InterNestor Lite). Does it mean placing a code in a page of the RAM mapper that will act as a BIOS and/or plug into the ISR to run more or less autonomously?
For the GR8NET, which I also read the technical doc, things are much more complicated for me (normal for a cartridge with so much features), but I understood how to access the TCP/IP layer via direct access to the BIOS. However, I didn't understood how to access the Ethernet layer, nor which address to send the calls in unAPI format.
I'll try to decrypt the C code I got to try to understand better how things work in practice.
"100 bytes if you just send OTIR and some small commands, would take .5 to .6 ms"
I don't know exactly how fast that is...
If we can send and receive a few bytes to the server every frame, a turn based game could be feasable you think ?
"100 bytes if you just send OTIR and some small commands, would take .5 to .6 ms"
I don't know exactly how fast that is...
If we can send and receive a few bytes to the server every frame, a turn based game could be feasable you think ?
Sending over up to a hundred bytes should be fine
However, I didn't understood how to access the Ethernet layer, nor which address to send the calls in unAPI
You can ask me in email if you have specific questions, we will try figuring out the solutions.
Updated manual as promised here.
I'm almost done with the ObsoNET module for MSXgl... then I move on to a UNAPI Ethernet module. I'll have some questions for you at that time.
I'll have some questions for you at that time.
Great, will be glad to help!
Well, we're almost 2 years down the road and I can say that my Gr8net server is not a real success. Probably not that strange, considering there is only a big .ROM collection there with .ROM's everyone already owns and has them installed on their own machines (as Fixato rightly pointed out to me).
I was considering updating the server with the .ROM's that were added/found/released recently, but... considering how much the service is being used I don't think I'm going to invest my time in this.
There is also no need to shut down the server, as it's not really costing any resources. But maybe I can do something better with it?
If I were to give my gr8net server an overhaul: What would you like to see on a gr8net server? And maybe also another question: How many people actually own a gr8net and how many of those actually go online with them on a regular basis?
Still works great! The only two i got working are yours and of course Eugeny's.
edit: oh toughkidgr8net.appspot.com works too. Typo