Jump to content
IGNORED

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


Cybernoid

Recommended Posts

Hi All,

 

 

I am back on AtariAge after a small hiatus.

 

 

I have been sitting on the Ethernet Cart and Contiki port project for some time now. Originally, I wanted to produce the ethernet cart boards and provide the software and make a little bit of extra $... but I have decided that this is just plain selfish. So, what I want to do is release the Atari Port of the Contiki software into the open software domain and allow anyone to download the executables and the source code. I can also provide instructions for making the cart.

 

I would like to avoid just handing the source code over to one other person for fear of that person just sitting on it and not doing anything with it like I have for years. (Sorry guys!)

 

Anyway, what I am looking for is this:

  1. Someone to host a sourceforge (or some other source-code/revision-control site) site where I can upload the source code and current executables.
  2. Someone to take the instructions on how to build the PC board and actually build a PC board or full carts. The instructions are simple, but I would like to find someone who can produce boards for those who don't want to weld a soldering iron... :)

I am not completely leaving the project and will be around to help, but I do not think that I have time to HEAD a project like this.

 

The current status of the project is that a couple of prototype boards have worked, the simple telnet application works (See the youtube video in my signature below), and the telnet daemon to telnet into an Atari Server works. Some other code for web browser, email, ftp, vnc, etc could all be updated easily if the code can be squeezed down in size or if someone with better knowledge of running under the OS ROM or in extended memory banks could get that to work. The code is there, and it compiles. Everything other than telnet just does not fit into the Atari memory yet.

 

Well, with that, I would also like to say that the Atari Community here and elsewhere online RULES! I have had some great fun making applications, games and some hardware for the our beloved Atari 8bit. If you cannot help with this project, if you have liked any of my previous Atari 8-bit projects (Click, Blackbox, JellyBeans, Color ANSI Terminal, 6-bit PCM player, Atari Terminal Server for the PC, bmp2atascii.pl or detokenize.pl), and IF YOU WANT TO, please send me a donation here:

 

Donate Now!

 

You certainly do not have to send any donations, but just if you want to. I have put many hours into these projects and did it for the fun not the money. And, I really would rather give out the Contiki source code rather than no one use it, anyway...

 

 

Let me know if you can help...

 

Thanks,

Chris

 

ps -

 

Here are some informational links:

 

Where to buy a cs8900a board for around $35:

http://microcontroll...roducts_id=1202

http://www.olimex.co.../cs8900a-h.html

 

Contiki main website:

http://www.sics.se/contiki/

Link to comment
Share on other sites

Hi Kernal. Sure thing. Here is the latest Telnet application.

 

I'll post more software and hardware instructions this weekend on my site. For now, this defaults the Atari IP address to 192.168.111.128, so your router will have to handle that IP address. The hardware will mostly require the cs8900a board, an LS138 dip and some ribbon cable...more details to come.

 

 

 

contiki_21.zip

Edited by Cybernoid
Link to comment
Share on other sites

I am using Contiki 2.1. I think 2.4 is now available, so I will move to that eventually.

 

I will post the source code on the new sourceforge page thanks to danwinslow. Shawn, do you want to join the project?

Link to comment
Share on other sites

I am using Contiki 2.1. I think 2.4 is now available, so I will move to that eventually.

 

I will post the source code on the new sourceforge page thanks to danwinslow. Shawn, do you want to join the project?

 

Hey Cybernoid, great to see you working on this! Have to give this a shot soon.

Link to comment
Share on other sites

could all be updated easily if the code can be squeezed down in size or if someone with better knowledge of running under the OS ROM or in extended memory banks could get that to work. The code is there, and it compiles. Everything other than telnet just does not fit into the Atari memory yet.

 

I have a pretty useable way to write banked code in C...part of the motivation originally was to try and fit a TCP stack ( uIP ) into the atari and still have application space left over. There's some examples in the sourceforge lib...but I need to refresh it the code's been improved since I posted that lib.

Link to comment
Share on other sites

I am using Contiki 2.1. I think 2.4 is now available, so I will move to that eventually.

 

I will post the source code on the new sourceforge page thanks to danwinslow. Shawn, do you want to join the project?

 

I am interested in it, for sure! I looked at Contiki in the past, and took at look at the code again yesterday. I think that one could set it up so that each "process" runs in a seperate bank (extended memory, or cartridge). The uIP stack, CTK and the core bits would need to be in main RAM. From what I could see the call_process function is called to passed every event to the process. If you could extend the process structure to maintain the bank that the process exists in, it should work.

 

Maybe something like the MyIDE flash cart from Atarimax could be developed, a Contiki cart, with flash and the CS ethernet hardware too.

Link to comment
Share on other sites

I am using Contiki 2.1. I think 2.4 is now available, so I will move to that eventually.

 

I will post the source code on the new sourceforge page thanks to danwinslow. Shawn, do you want to join the project?

 

I am interested in it, for sure! I looked at Contiki in the past, and took at look at the code again yesterday. I think that one could set it up so that each "process" runs in a seperate bank (extended memory, or cartridge). The uIP stack, CTK and the core bits would need to be in main RAM. From what I could see the call_process function is called to passed every event to the process. If you could extend the process structure to maintain the bank that the process exists in, it should work.

 

Maybe something like the MyIDE flash cart from Atarimax could be developed, a Contiki cart, with flash and the CS ethernet hardware too.

 

 

In my experience banking sections is going to take more re-arranging than that...there's significant problems with cross-bank calls and global/local variables etc. You need to set up a marshalling layer in non-banked memory, and/or carefully restrict what the code in the banks can call.

Link to comment
Share on other sites

If you can keep the runtime, uip, core ctk and DATA segment in low memory you should be ok. ???

 

I've got one project that does something very similiar, and as long as you don't do any cross-bank calls (or take an approach like you suggest) you are ok. Does a Contiki "process" call another Contiki "process" directly, or only via events?

Edited by Shawn Jefferson
Link to comment
Share on other sites

I have messed with the Contiki code and did manage to get the telnet application to run with extended banks. The problem that I was running into was that the contiki core itself was too big for some applications to run from low memory. For the web browser, more code from the core was needed. I was in the process of looking into running the contiki core in low mem and under the OS ROM and have different application code in extended banks... I am certain there is a way to work it out, but it is complicated for sure, but we will get there some how...

 

I have uploaded the source code to sourceforge, and it can be found here:

 

http://ataricc65lib.svn.sourceforge.net/viewvc/ataricc65lib/contiki-2.1/

 

I added some code in files called extmem.[ch] (I think, if memory serves me). I modified the Contiki protothread calls to switch memory banks from thread to thread so that the main contiki thread would run from low mem and the application threads from different extended banks. It is currently disabled in the current source, but I think I will make a branch in the SVN tree to create an extended bank code set.

 

Shawn (and any else with C or assembly knowledge and a willingness to help) send me a PM, so I can add you to the list of developers on sourceforge.

Link to comment
Share on other sites

If you can keep the runtime, uip, core ctk and DATA segment in low memory you should be ok. ???

 

I've got one project that does something very similiar, and as long as you don't do any cross-bank calls (or take an approach like you suggest) you are ok. Does a Contiki "process" call another Contiki "process" directly, or only via events?

 

 

They can be called either way... directly, via events (timer, key, ethernet ready, etc)

 

Link to comment
Share on other sites

In the past I appreciated Contiki and a browser running on a C64 so I definitely would buy the hardware to make this happen on A8.

 

I wonder if Flazzjazzcat could insert this software into his new GUI.

 

Hmmm, I had talked with Flazzjazzcat a while ago and borrowed his code for running under the OS ROM...

Link to comment
Share on other sites

I have messed with the Contiki code and did manage to get the telnet application to run with extended banks. The problem that I was running into was that the contiki core itself was too big for some applications to run from low memory. For the web browser, more code from the core was needed. I was in the process of looking into running the contiki core in low mem and under the OS ROM and have different application code in extended banks... I am certain there is a way to work it out, but it is complicated for sure, but we will get there some how...

 

I have uploaded the source code to sourceforge, and it can be found here:

 

http://ataricc65lib.svn.sourceforge.net/viewvc/ataricc65lib/contiki-2.1/

 

I added some code in files called extmem.[ch] (I think, if memory serves me). I modified the Contiki protothread calls to switch memory banks from thread to thread so that the main contiki thread would run from low mem and the application threads from different extended banks. It is currently disabled in the current source, but I think I will make a branch in the SVN tree to create an extended bank code set.

 

Shawn (and any else with C or assembly knowledge and a willingness to help) send me a PM, so I can add you to the list of developers on sourceforge.

 

Yep, I think its doable too, but will take some careful segmenting of code and probably a marshalling layer.

Link to comment
Share on other sites

I definitely have to thank everyone for this!!!

 

In less than 2 days, we already have a webpage (thanks to beta-tester, hardware guy and now webmaster, puppetmark), sourceforge thanks to danwinslow, and many people interested in helping with the source code and with building boards. If that is not community support, I do not know what is. Way to go y'all!

 

Check out the new webpage:

 

http://www.atari8ethernet.com

 

More to show up on that site, I am sure, so keep an eye out...

 

Thanks again!

Chris

Link to comment
Share on other sites

Well I can handle a soldering iron and I'd really love to see this get off the ground, so if I can get hold of a cs8900a dev board after payday I'll have a go at knocking up an interface to help with testing. The cart interface on the website looks pretty simple so shouldn't be too much work.

Edited by spookt
Link to comment
Share on other sites

Great to see that page. Rooting for all you brilliant coders to come up with something that makes it easy to put my 800 on the Internet!

 

I'd love to see an 800 on the internet. Imagine a 1979 computer on the internet!

 

What is the oldest home computer anybody ever got "on the internet" (not just connecting, but doing something "useful")? Is it 1982(83?) C64? Did anybody get an Apple II on the internet?

 

I used a 1987 Amiga 500 as my main internet computer for 6 years. A 1985 Amiga 1000 can also "easily" get on the internet. I'm interested to see "how low we can go".

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