Jump to content
IGNORED

Atari 8-bit Ethernet and Contiki - Want your help!


Cybernoid

Recommended Posts

A MUD client would be cool!

 

Any coding is welcome and appreciated, after all, it is an open source project.

 

How are you testing your code against Contiki right now?

 

I have made a few working prototypes of the cartridge, so all the testing is being done on real hardware (130XEs)

pleeease, upload video from testing on youtube

Link to comment
Share on other sites

  • 1 month later...

I just updated the site with some exciting news!

 

First, As stated in another thread, A version of Contiki has been released that is coded to work with the Ethernet Cartridge! Second, a code base being developed in C. It's being designed to be easily include-able into other C programs. A separately loadable driver is also being planned for use with other languages. There is more detail on the website.

 

 

www.http://www.atari8ethernet.com

Link to comment
Share on other sites

I just updated the site with some exciting news!

 

First, As stated in another thread, A version of Contiki has been released that is coded to work with the Ethernet Cartridge! Second, a code base being developed in C. It's being designed to be easily include-able into other C programs. A separately loadable driver is also being planned for use with other languages. There is more detail on the website.

 

 

www.http://www.atari8ethernet.com

Sounds awesome.

Link to comment
Share on other sites

  • 3 weeks later...

I just uploaded a few videos to YouTube showing the Atari Ethernet Cartridge at work! They are of the new Contikii software and the DHCP program, which is part of the new code base written in C. I did not get these linked to the website yet but here is a link to my YouTube page for now:

 

http://www.youtube.com/user/puppetmark

 

These are video captures from real hardware. The cartridge is plugged into my 130XE and the video is captured with virtualdub and a Dazzle video capture device.

 

Enjoy!

Link to comment
Share on other sites

Hello Jon

 

That's the wrong question. You should have asked him, if he wants you to help him write a GUI version for the Atari. :D :D

 

sincerely

 

Mathy

 

Please!!

 

A GUI would be awesome. Actually the code base that is being written should make incorporating the cart into a GUI or game or whatever quite doable. There should be more information and even some code examples pretty soon.

Link to comment
Share on other sites

Hello Jon

 

That's the wrong question. You should have asked him, if he wants you to help him write a GUI version for the Atari. icon_mrgreen.gificon_mrgreen.gif

 

sincerely

 

Mathy

 

Please!!

 

A GUI would be awesome. Actually the code base that is being written should make incorporating the cart into a GUI or game or whatever quite doable. There should be more information and even some code examples pretty soon.

It's impossible not to be excited by the progress being made on this project, and while Contiki is also impressive, the latter seems a means to an end (the end being the Ethernet Cart). Make no mistake: along with a couple of other open-source projects, the Contiki source code (or what I can understand of it) has proved a revealing and accessible resource for someone like me who has done no object-oriented programming in the past, let alone written an entire GUI.

 

I don't understand enough about Contiki to know if or how a new GUI (written in assembler) could be bolted onto it. However, there will hopefully be a complete C API libarary coded up for the new GUI, so if anyone wants to write ethernet apps/drivers targeted towards it, that would be truly fantastic prospect.

Edited by flashjazzcat
Link to comment
Share on other sites

 

I don't understand enough about Contiki to know if or how a new GUI (written in assembler) could be bolted onto it. However, there will hopefully be a complete C API libarary coded up for the new GUI, so if anyone wants to write ethernet apps/drivers targeted towards it, that would be truly fantastic prospect.

 

I absolutely agree. Seeing the Cartridge working with a compiled and functional version of Contiki is quite awesome and I hope development of that continues, and I am not so sure a GUI is really needed. I am just as excited about having a C library available for the cartridge, so others can code for it! An Ethernet driver for the new GUI would be an awesome add on!

Link to comment
Share on other sites

The current state of the C library is finished up through UDP. I have almost finished a small demo of two programs, UDPSEND and UDPRECV. They do a UDP file transfer from one computer to the other. Basically, you bring up UDPRECV on one computer, and then use a command like like 'UDPSEND 192.168.2.12 D1:SI.EXE' on the other to send a file over. Adding the capability to send with wildcards, as in D1:*.*, and then it'll be done. I plan to send Mark a video and the source files for the demo programs to post on the info website.

 

Also messed around with sending joystick state from one computer to another. I can move a 'player' around on the other computer with no noticeable lag at all.

 

Here's an example of the receive program, just to illustrate what kind of coding is involved :

 

#include <conio.h>
#include <aip.h>
#include <aip_udp.h>
#include <aip_header.h>
#include <aip_debug.h>
#include <aip_library.h>
#include <aip_udp_handler.h>
#include <xio.h>
#include <string.h>

udp_socket sock;

unsigned char status;

struct _control {
 char op;
 char buffer[512];
 int  buflen;
 unsigned char seq;
} control;

struct _ack {
 unsigned char seq;
 unsigned char status;
};

struct _control *ctrl;
struct _ack ack;

void callback( udp_socket socket, unsigned char event)
{
 switch( event )
 {
   case UDP_SOCKET_CREATED:
   {
     udp_listen(socket,"192.168.2.11",45000U);
     break;
   }
   case UDP_SOCKET_RESOLVED:
   {
     break;
   }
   case UDP_SOCKET_TIMEOUT:
   {
     break;
   }
   case UDP_SOCKET_MSGRECV:
   {
     ctrl=(struct _control *)socket->data;
     ack.seq=ctrl->seq;
     switch ( ctrl->op )
     {
       case 1: //open the file
 	{
         cprintf("opening %s\r\n",ctrl->buffer);
 	  XIO_OPEN(3,XIO_OPEN_WRITE,0,ctrl->buffer);
 	  break;
 	}
 	case 2:  // write a block
 	{
         cprintf("Received seq %i op %i\r\n",ctrl->seq,ctrl->op);
 	  cprintf("writing %i bytes\r\n",ctrl->buflen);
 	  ack.status=XIO_PUT(3,(unsigned char *)ctrl->buffer,ctrl->buflen);
 	  break;
 	}
 	case 3:
 	{
         cprintf("Received seq %i op %i\r\n",ctrl->seq,ctrl->op);
 	  cprintf("writing %i bytes\r\n",ctrl->buflen);
 	  XIO_PUT(3,(unsigned char *)ctrl->buffer,ctrl->buflen);
 	  cprintf("closing file.\r\n",ctrl->buffer);
 	  ack.status=XIO_CLOSE(3);
 	  break;
 	}
     }
     udp_reply(socket,(unsigned char *)&ack,sizeof(ack));
     break;
   }
   case UDP_SOCKET_MSGSENT:
   {
     break;
   }
   case UDP_SOCKET_CLOSED:
   {
 	break;
   }
   case UDP_SOCKET_ERROR:
   {
 	break;
   }
 }
}

void main( int argc, char **argv )
{
 unsigned char status;
 unsigned int  len;
 //get things initialized

 clrscr();
 cprintf("UDPRECV\r\n");
 aip();

 sock=udp_create_socket(&callback,0x0);

 while(1)
 {
   aip();
 }

}

 

The compiled library code so far has a memory footprint of about 12k. There are definitely some optimizations still to made, though, so I expect a smaller footprint as a final product. I do plan on implementing TCP as well but that's going to be down the road a bit.

 

As far as the cart itself, we have ordered 100 units of the basic component. Should be all finished and on sale sometime around late spring I would think. Not entirely sure about price, it depends on what our costs are, but I would guess somewhere in the $50-$75 range. The carts should work in both XL and XE computers...haven't tried 400/800 but it might work. Practically speaking, you need a 64k machine.

Edited by danwinslow
Link to comment
Share on other sites

I just uploaded a few videos to YouTube showing the Atari Ethernet Cartridge at work! They are of the new Contikii software and the DHCP program, which is part of the new code base written in C. I did not get these linked to the website yet but here is a link to my YouTube page for now:

 

http://www.youtube.com/user/puppetmark

 

These are video captures from real hardware. The cartridge is plugged into my 130XE and the video is captured with virtualdub and a Dazzle video capture device.

 

Enjoy!

 

Hi,

 

Is this the Contiki 2.0 that was ported to the Atari by Oliver, or is it Dan's library?

 

 

The current state of the C library is finished up through UDP. I have almost finished a small demo of two programs, UDPSEND and UDPRECV. They do a UDP file transfer from one computer to the other. Basically, you bring up UDPRECV on one computer, and then use a command like like 'UDPSEND 192.168.2.12 D1:SI.EXE' on the other to send a file over. Adding the capability to send with wildcards, as in D1:*.*, and then it'll be done. I plan to send Mark a video and the source files for the demo programs to post on the info website.

 

Also messed around with sending joystick state from one computer to another. I can move a 'player' around on the other computer with no noticeable lag at all.

 

That is awesome! This is all you really need to start programming Internet games, or even hacking Internet play into existing software (with some fancy bank-switching it might be feasible.)

Edited by Shawn Jefferson
Link to comment
Share on other sites

I just uploaded a few videos to YouTube showing the Atari Ethernet Cartridge at work! They are of the new Contikii software and the DHCP program, which is part of the new code base written in C. I did not get these linked to the website yet but here is a link to my YouTube page for now:

 

http://www.youtube.com/user/puppetmark

 

These are video captures from real hardware. The cartridge is plugged into my 130XE and the video is captured with virtualdub and a Dazzle video capture device.

 

Enjoy!

 

Hi,

 

Is this the Contiki 2.0 that was ported to the Atari by Oliver, or is it Dan's library?

 

 

Hi Shawn. The video was of my DHCP utility. There is similar functionality in Contiki.

 

Yes, I'm very excited about the game possibilities.

Link to comment
Share on other sites

Is this the Contiki 2.0 that was ported to the Atari by Oliver, or is it Dan's library?

 

Hi Shawn. The video was of my DHCP utility. There is similar functionality in Contiki.

 

Yes, I'm very excited about the game possibilities.

 

Just in case there is any confusion: The videos that are titled as "Contiki 2.5.rc1" are Olivers code. The video titled "From New Code Base" is Dan's code. That's how I will designate the difference in the videos going forward as well.

Edited by puppetmark
Link to comment
Share on other sites

Has anyone started a online-game solution already? Some weeks ago someone in the CC65-Mailinglist said he wanted to do this.

I hope this guy is reading this forum :) AFAIK it would "only" need a UDP-stack. I really hope someone will do something like this.

A firend and I already have some little ideas for Internet-gaming on A8. Nuttin' big, but I think every small game which can be played over teh Inet with an A8 would be awesome ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...