Post by Leif Bloomquist on Jan 12, 2007 10:58:11 GMT -5
Hello? Hello? Is this thing on...
Funny how I've gotten more response on all the other forums, while this is the"official" one
I now have two RR-Nets to test with (thanks Macbeth for the loan!!) and have my C64 and SX64 playing each other. Found a couple of minor bugs already, so there will be a new version soon.
But it's cool how well the two systems are synchronized on a LAN - no noticeable lag at all.
For those who are trying it, here's some debugging detail.
The lines at the top of the screen are the joystick and network IRQ. So when the border flashes white, that's it parsing through a received packet. Note that it has to read all broadcast packets too, so you'll see those from other machines. Shouldn't hurt anything though.
The comms character has these colors:
Grey - No activity Green - Sending (probably too fast to see) Red - Waiting for ACK after a send. Yellow - Waiting for a packet from the other player.
Finally, if you see a multicolor "burst" in the border, that indicated a bad packet (invalid checksum). That's been the biggest problem so far and I wanted it to be _really_ obvious when it happened so I could gauge how frequently it happens.
Unfortunately, all the corruption I've seen has happened between the RR-net and C64 itself, not even on the network.
Post by Leif Bloomquist on Jan 15, 2007 20:05:18 GMT -5
I'm going to be making lots of little upgrades in the next while (we have nice cold weather in Canada finally, so I can justify sitting inside 'playing' on my C64 ) No need to make a big deal of each release. Maybe when I get closer to an integer
Won't I need to keep receiving broadcast frames for ARP though? I think some devices (routers etc.) refresh their ARP table every 5 minutes or so, so I would have to keep it active. Or is there more to it?
I think it is great that the scene has such dedicated and talented Commodore 64 developers. I really want to get a RR-Net Bundle, or just the RR-Net to use for the new IDE64 v4 card, since it will have an Amiga clock port. That would be excellent.
It seems that the goal of ide64.org is to marry the hard drive interface with a network card adapter, which is really a great idea, since not everyone can find a CMD EX2+1/EX3, Aprospand 64, or other port expander that allows mutiple carts to be used simulataneous, i.e. CMD Turbo232/Swiftlink and IDE64 v3.4 for example.
You guys are laying down the groundwork and developing a framework for designing/developing network games for the Commodore 64 that will be supported by the hardware that is available these days. Kudos.
Amazing work guys. How hard is it to implement a TCP/IP stack in games? I noticed that you are using UDP right now instead of TCP for slinging packets around. Is TCP support in the plans for future development?
Maybe, when the IDE64 v4 is released, or I get a RR-Net Bundle, I can play with these cool programs. I should never have sold my IDE64 v3.4 card with the 1541 CD-HD (6 GB) drive I built, based on Jeff Ledger's design using an ATX power supply, and some parts from an old PC.
Anyone know when RR-Net Bundles are going to be available for the general public again?
Post by Leif Bloomquist on Feb 24, 2007 14:37:43 GMT -5
TCP is achievable, and Six is working on it, but it's really not needed for a lot of C64 apps. UDP is lightweight and easier to work with.
TCP has been done on the C64 (i.e. in Contiki), but that was written in C not assembler...
Have a look through my source code to see how easy it is to internet-enable a game (thanks to Six's netlib). The main issue is finding memory for your packets buffers and so on.
But really, once you've set up the destination addresses and so on, you just copy the bytes to send into an area of memory and to JSR UDP_SEND. Then on the other end just set a flag when the packet appears and read it from the receive buffer.