|
|
#1 |
|
Guest
|
Wacky Wheels serial connection
I loved the game Wacky Wheels when I played the shareware version few years ago, and I'm still thinking about buying the game ...
However, I first want to try out the probably most exciting feature: the 2player/2computer mode. I connected a 486DX2-66 and a PentiumII-300 with a serial cable on COM2 and tried out all different connection speeds. At 9600 baud the 486 always hangs, when the text "Checking version info" is displayed; and the PII returns to the main menu. Why does that happen? What's the problem? At higher speeds, both PCs never stop SYNCing. Thank you for any hint! TomKa ------------------ |
|
|
|
#2 |
|
Guest
|
Re: Wacky Wheels serial connection
You need a null-modem cable which has different pinouts then a standard serial cable.
Find in depth info here: http://www.jimprice.com/connectors/NullModem.htm Great game, have fun |
|
|
|
#3 |
|
Re: Wacky Wheels serial connection
Also make sure that both computers have a 16550 UART serial port controller chip. The PII is bound to have one, however the 486 may have a older 8250 chip which is not able to handle higher speeds above 9600 and consumes excessive CPU cycles (not good for games or multitasking).
To check the UART chip type MSD at the DOS prompt (if the program's not there, it should be somewhere on the Win9x CDs). Go to "Serial Ports" and look at the controller chip type. If the 486 has a 8250 UART, you'll need to replace the I/O controller card with one that has a 16550 UART on it. ------------------
__________________
A d m i r a l B o b |
|
|
|
|
|
|
#4 |
|
Guest
|
Re: Wacky Wheels serial connection
It is, indeed, a 8250 UART on the 486 (says MSD).
(But why can I connect to the internet with a 33k6 Modem, although you say "... is not able to handle higher speeds above 9600"?) Why does this serial connection not work, although it works with newer games like C&C - Red Alert? ------------------ |
|
|
|
#5 | |
|
Re: Wacky Wheels serial connection
Quote:
The problem with 8250 chips is that they have no receive/transmit buffers and that they require a hardware interrupt for every bit that gets sent or received. Transmitting at 9600bps requires 9600 interrupts/second which puts a lot of strain on the CPU. You might get more out of an 8250 chip (like 19200), but the software probably has to be heavily optimised for it. C&C was probably optimised to deal with 8250 chips, being a RTS game with simple 2D graphics, it doesn't require a great deal of CPU speed and probably can get by with lots of interrupt overhead. Wacky Wheels, being a pseudo-3D game would obviously have more problems since it uses more processor time. The 16550 UARTs solve this problem with memory buffers that buffer up something like 128 bits or so and only send an interrupt every 128 bits, easing CPU load. ------------------
__________________
A d m i r a l B o b |
||
|
|
|
|
|
#6 | |
|
Guest
|
Re: Wacky Wheels serial connection
Quote:
Tom |
|
|
|
|
#7 |
|
Guest
|
Re: Wacky Wheels serial connection
The max 8250 DTE speed without excessive errors is about 19.2 Kb/s, but 9.6 Kb/s is the max reliable speed. I think you are limited to 9.6 with games using the 8250 UART due to the fact they use no error correction whereas a normal modem connection uses error correction.
Note that even a modem to modem connection with Wacky using an 8250 is limited to 9.6 due to the fact error correctioon is disabled in the ini string. Due yourself a favor and get a 16550 serial card. If you use this for your modem you will be able to use a DTE speed of 115.2 Kb/s to connect to the Net or BBS. You should be able to use a higher speed with serial games too but I don't think that high (115.2) |
|
|
|
#8 |
|
Re: Wacky Wheels serial connection
The game needs a null modem cable for straight serial play and a COM port that's not connected to anything. So basically
don't piggy back off the modem port to connect the two together on a straight link. Because it's getting as far as "Checking Version" then it means that the two have managed to sync. However when I checked the code there is a timeout so I don't understand why the machine locked up. The 8250 UART may not help things but Wacky does not send that much data on a straight serial link connection. A single packet size is 2 bytes for a serial link connection and 6 for a dial up modem connection. [This message has been edited by AncientCoder (edited 01-03-2001).] |
|
|
|
|
|
|
#9 |
|
Guest
|
Re: Wacky Wheels serial connection
So, actually it should work?
What exactly is being done, when "Checking version" appears? I checked the bytes being sent with a "terminal program" but they don't make sense to me ... What should happen, if the connection is successful? (Which menu should appear on the screen?) |
|
|
|
#10 |
|
Guest
|
Re: Wacky Wheels serial connection
This is from:
http://www.3drealms.com/tech/rott.html#nullmodem If you were using an adaptor; Could it apply to Wacky Wheels too? Null modem Cable layout When we were in the testing Stages with Rise of the Triad, and Duke 3D we tested a lot of different Null Modem Adapters and none of them would work up to standard. I actually can not answer your question on what the difference is, as up until I tried to get them to work I had no idea that there was a difference. Please make sure that you are using a null modem cable. |
|
|
|
#11 | |
|
Re: Wacky Wheels serial connection
Quote:
It sends two bytes when checking the version. The first byte will be (ASCII) one of the following :- 1 - For Shareware 2 - For registered 3 - For registered and upgraded The second byte will be 0. If the two versions are the same the caller will control the menu. The other machines menu will now be controlled by you (Bit like PC anywhere) If the two are different the game will inform you that it will drop to the lowest version and then continue as normal as above. If you have the shareware version on both ends you should see 1 being sent and transmitted from both computers. Do both computers hang when checking version is up on the screen? ------------------ |
||
|
|
|
|
|
#12 |
|
Guest
|
Re: Wacky Wheels serial connection
Here is what I experienced with my self-written "terminal program"
using a serial null modem cable on COM2 with 9600 baud on both the 486 and the PII: Both PCs send the byte 127 (dec.) when waiting for SYNC. After they received the byte 127 from the other part, they move on to CHECKING VERSION. I found out, that both the sending and the receiving part send the bytes 68, 1, 0, 0, 93, 147. I suppose, that the second value is the version id, as I use the shareware version on both sides. At that time (when WW runs on both PCs), the 486 always hangs up and the PII finds itself back in the main menu. (The only way to "awake" the 486 again is to select MAKE CONNECTION on the PII again -> when starting a new SYNC, the 486 returns again to the main menu) When I use my terminal program to "simulate" sending the above mentioned byte row 68, 1, 0, 0, 93, 147 the PII always returns to the main menu without any message. What is the correct "code" to tell the PII that everything is OK? (Is it 147? Is it 127? or what?) BTW: Should I set the Interbyte Delay in the SETUP program? |
|
|
|
#13 |
|
Guest
|
Re: Wacky Wheels serial connection
Hi Guys,
I'm a newbie to this forum, but I have had little trouble getting the serial version to work between two PC's Tip - use a decent null modem cable (full hardware handshaking) Here is a really good question for you all tho... I have been playing around with some serial port redirectors to enable two players to play on a TCP/IP network. As yet, I can only find "one end" of the redirection. (lantronix redirector) Any-one else that has some good ideas this way would be good. (maybe it can become a pseudo standard for the game) Hope that this may put extra life into a game that my kids love.... Macca ------------------ |
|
|
|
#14 | |
|
Guest
|
Re: Wacky Wheels serial connection
Quote:
I looked into their modem redirector software some time ago. I then found out that I had to but expensive hardware for both ends. Then to use DOS programs with the modem redirector software (only in a Windows DOS box) I would have to use virtual port software from turbocom.com (I have used this). I was thinking http://www.taltech.com/products/tcpcom.htm Am I lost here? [This message has been edited by GeeGee (edited 01-07-2001).] |
|
|
|
|
#15 | |
|
Re: Wacky Wheels serial connection
Quote:
That is a Modem packet not a serial link packet!! I now even more confused Ok here goes this may help. On a straight serial link Wacky only sends two bytes per packet. So after the CHECKING VERSION has been completed the computer that made the connection will send to the other computer what was pressed on the keyboard. The slave will then receive these as if it came through the keyboard. Here is some code (Don't know why but if you can read it then it might help) #define K_UP 1 #define K_DOWN 2 #define K_LEFT 1 #define K_RIGHT 2 #define K_B1 4 #define K_B2 8 #define K_B3 16 #define K_B4 32 #define K_ESC 64 void kpack_menu(void) { send_byte1=0; send_byte2=0; if(up) send_byte1+=K_UP; if(down) send_byte1+=K_DOWN; if(button1) send_byte1+=K_B1; if(esc_menu) send_byte1+=K_ESC; } Basically in the menu system the first byte is only needed. You should be seeing the values passed. However your example of 68, 1, 0, 0, 93, 147 indicates the following. In a modem game the program needs more control of bad data. So the first byte is the type of packet (in your case DATA_PACKET) the second and third are the actual data, as in a normal serial link, the fourth byte is the packet number and the last two bytes are a CRC of the total packet. You should not be seeing this type of packet in a normal serial link as you would have had to physically dial the other computer to see this. The interbyte delay is not needed. Cheers Andy ------------------ [This message has been edited by AncientCoder (edited 01-10-2001).] |
||
|
|
|
|
|
#16 | |
|
Re: Wacky Wheels serial connection
Quote:
technique but it sounds interesting. If I had time, which I never have, I wouldn't mind having a crack at moving the game into Windows. Heck I may even convert it to Shockwave one day ------------------ |
||
|
|
|
|
|
#17 |
|
Guest
|
Re: Wacky Wheels serial connection
Wow, it has been a while between visits....
Ok... for GeeGee, I have had a look at that link, and it works on a different premise to a redirector.... TCPCom intercepts real data from a real serial port and sends it via TCP/IP. (so your applicaton requires 2 serial ports) Redirectors should intercept a serial call on the bus side of the serial port (software side) and put the data over TCP/IP which only needs one serial port. There used to be a redirector in OS2 called ComTCP, which did exactly this. I am now looking into anything that will redirect, like IPX or anything else. The hard part, is that it has to work at a dos level, but still make use of the windows networking. Now for a tricky question.... How does whacky Wheels determine which serial port to try??? All help greatfully accepted!!! The Pseudo standard that I was talking about is a prety much tried and tested nearly foolproof way to get this to work, and one that passes inspection by the great programming gods... CYA later, Macca ------------------ |
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|