Jump to content

Photo

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


267 replies to this topic

#1 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Fri Apr 9, 2010 9:13 AM

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:
  • Someone to host a sourceforge (or some other source-code/revision-control site) site where I can upload the source code and current executables.
  • 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/

#2 Kernal OFFLINE  

Kernal

    Chopper Commander

  • 191 posts

Posted Fri Apr 9, 2010 12:20 PM

I would like to build this into my 65xe or my 800xl.. ill get the board if u will help with the instructions and the contiki! also where can i get a copy of the atari port of contiki.. can u post it here.

#3 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • Topic Starter
  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Fri Apr 9, 2010 1:10 PM

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.



Attached File  contiki_21.zip   28.89KB   250 downloads

Edited by Cybernoid, Fri Apr 9, 2010 1:23 PM.


#4 Shawn Jefferson ONLINE  

Shawn Jefferson

    Stargunner

  • 1,763 posts
  • Location:Victoria, Canada

Posted Fri Apr 9, 2010 8:26 PM

Chris,

Are you using the 2.x Contiki for this port, or the old 1.x version? Judging from the file name, I guess 2.x ?

Can you post the source code here?

Edited by Shawn Jefferson, Fri Apr 9, 2010 8:38 PM.


#5 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • Topic Starter
  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Fri Apr 9, 2010 11:03 PM

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?

#6 doctorclu OFFLINE  

doctorclu

    ******Blue Max****** *****Class 4*****

  • 5,705 posts
  • (Bubsy Bobcat fan)
  • Location:Dallas, TX - U.S.A.

Posted Fri Apr 9, 2010 11:51 PM

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.

#7 danwinslow OFFLINE  

danwinslow

    Stargunner

  • 1,997 posts

Posted Sat Apr 10, 2010 7:15 AM

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.

#8 Shawn Jefferson ONLINE  

Shawn Jefferson

    Stargunner

  • 1,763 posts
  • Location:Victoria, Canada

Posted Sat Apr 10, 2010 10:10 AM

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.

#9 Philsan OFFLINE  

Philsan

    River Patroller

  • 2,808 posts
  • New Orleans Saints Super Bowl XLIV Champions
  • Location:Switzerland

Posted Sat Apr 10, 2010 10:28 AM

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.

#10 danwinslow OFFLINE  

danwinslow

    Stargunner

  • 1,997 posts

Posted Sat Apr 10, 2010 11:28 AM


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.

#11 Shawn Jefferson ONLINE  

Shawn Jefferson

    Stargunner

  • 1,763 posts
  • Location:Victoria, Canada

Posted Sat Apr 10, 2010 1:19 PM

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, Sat Apr 10, 2010 1:22 PM.


#12 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • Topic Starter
  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Sat Apr 10, 2010 2:28 PM

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

#13 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • Topic Starter
  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Sat Apr 10, 2010 2:30 PM

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)


#14 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • Topic Starter
  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Sat Apr 10, 2010 2:34 PM

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

#15 danwinslow OFFLINE  

danwinslow

    Stargunner

  • 1,997 posts

Posted Sat Apr 10, 2010 2:52 PM

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

#16 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • Topic Starter
  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Sat Apr 10, 2010 3:46 PM

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

#17 flashjazzcat OFFLINE  

flashjazzcat

    Quadrunner

  • 8,747 posts
  • Location:United Kingdom

Posted Sun Apr 11, 2010 3:19 AM

Count me in - if I can help somehow. I'm just gearing up for a full-on attempt at the GUI (having a break from The Last Word for a while before starting the cart version), and this Contiki thingy looks excellent... just downloading the sources.

#18 spookt OFFLINE  

spookt

    Stargunner

  • 1,641 posts
  • This is SPARTA(DOS)
  • Location:North East UK

Posted Sun Apr 11, 2010 7:48 AM

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, Sun Apr 11, 2010 7:48 AM.


#19 Cybernoid OFFLINE  

Cybernoid

    Dragonstomper

  • Topic Starter
  • 889 posts
  • Luck can't last a lifetime unless you die young.
  • Location:Dallas, Tx

Posted Sun Apr 11, 2010 9:29 AM

Sounds good spookt. The more testers the merrier!

Flashjazzcat, glad to have your help and expertise on board!

#20 Velcro_SP OFFLINE  

Velcro_SP

    Chopper Commander

  • 132 posts
  • Location:Universe

Posted Sun Apr 11, 2010 10:06 AM

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!

#21 Mr.Amiga500 OFFLINE  

Mr.Amiga500

    Moonsweeper

  • 457 posts
  • Location:Canada

Posted Sun Apr 11, 2010 10:17 AM

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

#22 Cebus Capucinis OFFLINE  

Cebus Capucinis

    Not-so-secretly Trolling

  • 8,013 posts
  • Wiseass Extraordinaire
  • Location:Ellensburg, WA

Posted Sun Apr 11, 2010 10:32 AM

1974 altair8800.jpg

:ponder:

#23 Mr.Amiga500 OFFLINE  

Mr.Amiga500

    Moonsweeper

  • 457 posts
  • Location:Canada

Posted Sun Apr 11, 2010 10:40 AM

1974 altair8800.jpg

:ponder:


You got one of those things on the internet? (...but how could you tell if you had ;))

#24 Cebus Capucinis OFFLINE  

Cebus Capucinis

    Not-so-secretly Trolling

  • 8,013 posts
  • Wiseass Extraordinaire
  • Location:Ellensburg, WA

Posted Sun Apr 11, 2010 10:41 AM

I am fluent in binary and can instantly translate long sequences into images. Altair 8800 porn is the best porn.

#25 Mr.Amiga500 OFFLINE  

Mr.Amiga500

    Moonsweeper

  • 457 posts
  • Location:Canada

Posted Sun Apr 11, 2010 10:49 AM

I am fluent in binary and can instantly translate long sequences into images. Altair 8800 porn is the best porn.


Impressive.

I was about to make a complex elaborate joke involving blinking LEDs, porn, binary errors and three-legged camel, but I decided just to let it go.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users