ATARI 8-BIT ETHERNET PROJECT

The Project

Welcome to the official webpage for the Atari 8-bit ethernet project. Our hope is that Atari 8-bit users will be able to connect to the internet via an Atari 8-bit Ethernet Cartridge. Much of the work has already been done thanks to some very talented people in the Atari community. The hardware was originally conceived by Chris Martin. Since then, the project was taken over by by Mark Dusko and Dan Winslow. The hardware has been re-designed by Mark Dusko to allow for an adjustable hardware address change. The software is being developed by Dan Winslow. The current software is based on IP65 and has a very small footprint, runs efficiently, and will still allow enough "programming room" for such applications as Telnet, FTP, and even internet gaming! This is no easy task, and I am amazed at what he has accomplished with the Dragon Cart so far!



The cartridge is also compatible with Contiki applications based on the work already done in the Commodore 64 community. The applications have been ported to the Atari, and currently, there is a simple web browser, FTP, email, and Twitter client.



The Atari 8-bit Ethernet project is now open source and any help with the project is welcome and greatly appreciated. We are hoping with some help from the awesome Atari 8-bit community, we can make the 8-bit ethernet interface a reality! Read more about the project on Atariage

Current Status

Update January 10, 2019:



Happy New Year everyone! I know it has been a while since I posted anything on the site but I am very excited to let everyone know about a great multi-player, multi-platform game called 8bit Slicks. It was created by Anthony Beaucamp (8bit-Dude) over the 2017/2018 period. It is a remake of the legendary 90s game for the Commodore 64/128, Apple //e, and Atari XL/XE, featuring:

Cross platform play with Apple and Commodore

Up-to 4 players (local or online).

10 varied maps (jumps, obsctales, cross-points).

Online competitive ranking.

A friendly community.

It is a lot of fun to play and not only brings network gaming to our 8-bits, but we can play against Commodore and Apple 8-bits as well. This is one of the primary reasons the Dragon Cartridge was created. - network gaming. So, head on over to the 8bit Slicks Webpage to get more information such as ranking and maps, Download the game, and join a great community!



And that's not all! Anthony is also working on a new online game called 8bit Grubs and you can see a YouTube preview here . I will post more information on the new game as I get it.



And that's still not all! He is also creating a game SDK to be released in 2019 for others to use. The SDK will contain everything to let you create simple online 8bit games in C code once, and deploy on all supported platforms easily (C64, Atari XL, Apple//e, and more in future!) you can read about that here over on AtariAge.

Update January 23, 2017:



Once again, thanks to Oliver Schmidt, there is a direct link to download the latest contiki versions for many 8-bit systems, including the Atari. I have added the link and reorganized the download page a bit. I will do my best to keep a copy of the latest build on the site for ease of downloading, but I also posted instructions to use the link to Oliver's github page to ensure the latest version is easy to find and download. I also removed the outdated link to the source code and added the current link to the Atari main code line.

Update November 17th 2015:



Thanks to Oliver Schmidt, several issues have been fixed and there is a new build of Contiki. I have added it to the download page. Since there isn't version numbers for the different builds of Contiki, and to allow you to understand what Contiki code base was used to create the disk images the ZIP files from now on contain a ZIP comment. It's a link to the Contiki GitHub page showing the last commits (incl. their date) that are part of the code base. I have also added a text file with the same link to the Contiki zip file for easy access.

Update September 2nd 2015:



a small issue with the DHCP client in Contiki was found with the DHCPREQUEST message with the same 'xid' as the corresponding DHCPOFFER message from the server instead of a different xid message. Oliver Schmidt quickly fixed the issue and I have updated the contiki download to this latest version. The fix is here on github as well.



Also, I am happy to announce that the stock IP65 library has been ported to the Atari! For those of you who are unfamiliar, IP65 is a TCP/IP stack for 6502 based computers and maintained by Oliver Schmidt. He posted the files and started a discussion started here on AtariAge Support was added to github as well



I thought It would be a good idea to copy the informatin Oliver's first post on Atariage:

I'm sure you may wonder how my work relates to Dan's work on IP65. Although I presume he can (and hopefully will) provide better background info here are some hints from my perspective:



1. Although IP65 was in general devided into machine-neutral code (in the ip65 directory) and machine-specific code (in the drivers directory) quite some C64 specific code slipped into the ip65 directory over time. I removed all that code and presume Dan did more or less the same. One of the benefits of doing so is that adding a new machine like I did now isn't much effort - at least for someone with system programming experience on that machine. In contrast I was totally clueless so I checked out what Dan did 2 years ago in http://atariage.com/...ware/?p=2734494



2. Both Dan and I would like to make creating Ethernet applications simpler in order to tempt more people to do so. However afaik our ways to archive that goal are very different.



2.1 Dan brings IP65 much "closer" to the ATARI and converts it into a "driver" (by i.e. moving its background processing into interrupt handlers) allowing ATARI programmers to access it in ways they expect.



2.2 I want to make IP65 accessible for cc65 C programmers. I already "normalized" its cc65 segment usage and zeropage usage. The primary work left is to make the actual IP65 API callable from C programs. And then there are some rather minor topics left like "normalizing" timer usage.



As you may know Contiki for the ATARI is built completely on the cc65 abstraction layers. So one can see that pretty powerful applications can be written in pure C. Given that the cc65 C libraries are written nearly completely in 6502 code the IP65 library fits in nicely - and it fits nicely into the cc65 idea of allowing for easy cross-machine programming.



At this point some may wonder how I position an IP65 callable from cc65 C programs in relation to Contiki:



- Contiki is about apps which "wrap themselves around" the Contiki TCP/IP stack. It takes quite some effort to understand the Contiki programming model. The result are fully event driven apps reacting on multiple network connections, keyboard events, mouse events, timer events...



- "C callable IP65" is about apps doing primarily other things but needing additionally some network connectivity.



- Contiki has a LOT functionality and is written completely in C thus taking up pretty much RAM but allowing to be compiled on other machines. I.e. my recent work on the Contiki web browser was completely done on Windows using Visual Studio. Without its excellent debugger I simply would have never reached the state it is in now.



- "C callable IP65" has more limited functionality (i.e. only one TCP connection) and is written in 6502 code. Thus it is much smaller but requires 6502 skills for debugging.

Finally, I added IP65 to the links section and posted the IP65 Utilites in the download section of the website. At this point they are not completely functionable but PARSER.COM, DNS.COM and GETURL.COM are supposed to do "something". The only sort of interesting program is HTTPD.COM which is a web server displaying a simple form and dumping the entered data to the ATARI screen after submission by a web browser.

Update August 17th 2015:



Wow, It's hard to belive it's been more than two years since I posted an update. Since Then, I have received quite a few emails regarding the status of the project and availability of more Dragon Carts. I have not produced any new cartridges in quite some time, but I have been keeping a close watch on the software development side of things. A couple of weeks ago I got a very nice email from Oliver Schmidt last week that really got me thinking about the project again and prompted this update.



There is a new ethernet card coming out for the apple 2, and Oliver is working closely with its producer. S, Oliver Contiki took another look at Contiki and cleanup things / improve things. PLus, because of the new Atari-XL-specific infrastructure in cc65 created by Chris Grossler, he is able to use the RAM behind the ROM in Contiki and can easily push all those things to the Atari now. Yea!



So there is a new version of Contiki for us Dragon Cart owners to enjoy! A huge thank you to everyone involved in Contiki and CC65, and especially Oliver and Chris, for making this possible. You can download the new version in the download section of the website. I also updated the links to Contiki and added a youtube video showing the new Contiki in action, also curtesy of Oliver Schmidt. He posted the software over on AtariAge as well, and here is a summery from Oliver about the new release:





1. The Twitter client had to go :-( Twitter just doesn't want any 3rd party clients anymore and successfully drives them away.



2. The email client didn't make any sense anymore (it never did make much anyway). Nowadays everybody uses strong encryption.



3. The FTP was a similiar case. Without PASV support not interoperable with anything out there. Without support for sending files it was never really useful anyway.



4. The Telnet server is now part of the package. It was "always" there but had a bug keeping it from working with cc65. I found and fixed it because it is used as base for https://github.com/lodger-c64/Contiki-BBS. The demo Telnet server I'm providing comes with the shell command 'wget' allowing you to download a i.e. the Google homepage with 'wget www.google.com | write google.htm'.



5. I'm sure about everybody sees the web browser as most interesting Contiki app. So I went ahead and invested many hours in improvement:



- Originally there were several fixed sized arrays to hold the data of links and forms. While that had the benefit of simple (aka fast and small) 6502 code to access the data it turned out to be simply to inflexible to accommodate somewhat more complex pages. Quite some time ago I changed that https://github.com/contiki-os/contiki/commit/c7b8bac0065f1292ecd1701fc7e2bbb121556f5e to use a single buffer containing linked lists of items allocated according to their actual size. As part of that change I moved away from storing input field data in the actual page allowing to support scrolling input fields and hidden input fields.



- In the meantime I fixed quite some issues. Among them there were several fixes improving the "skipping" of unhandled stuff: a) HTTP header field parsing uses a fixed 1024 byte buffer. If a header field was longer the whole page parsing failed. Nowadays many pages set cookies - which are easily larger than 1024 bytes. Now the header field parsing successfully skips too-long header fields. b) Nowadays about every pages comes with huge amounts of JavaScript. That was generally already skipped. But there were two special cases not handled: - an HTML tag inside a JavaScript string. - a JavaScript comparison using the less-than operator. Now both cases are handled correctly.



- Regarding the actual page display nowadays people use loads of "div" to structure their content. Inserting a newline for every "/div" sometimes meant literally empty pages ;-) Instead of blowing up the parser code I opted for a post-processing: There are simply never more than two consecutive newlines rendered.



- I tested all this stuff only on Win32 for a long time because of the great debugger. However recently I moved back to the cc65 targets for the first time after starting all this work. I was very pleased to find that I had _not_ to cut down any configuration sizes from my Win32 build to have the web browser fit into memory for the C64 / Apple II and Atari XL :-)



- I was surprised to find that "THE" web page (www.google.com) is generally still operational without TLS and JavaScript. So I set out to bring it (back) to the Contiki web browser.



6. As already mentioned I moved away from those Contiki online configurator thingy. Contiki now comes as straight .atr downloads. Either as three 130k DOS 2.5 images or as one 800k MyDOS image.



There is a discussion going on about the new release and that can be found here over on Atariage.



Also, as I mentioned at the beginning of this update, Oliver informed me that there is a new Ethernet cart being produced for the Apple computers using the WIZnet W5100 device. The W5100 has basically two modes: In Raw MAC mode it behaves pretty much like a CS8900A. All porting efforts "simply" use the W5100 in that mode. In IP mode it includes a complete TCP/IP stack allowing for UDP and TCP (with up to four simultanious connections). This makes a lot sense for a small RAM system such as the Atari computers.Using the W5100 in IP mode works for sure and allows for totally different usecases than what we saw so far. Imagine super small drivers for virtual fast network floppy drives or alike. I've done a size-optimized send/receive of UDP frames for the W5100 in ~260 bytes. The W5100 surely isn't the latest and greatest but it is very well understood - i.e. the Arduino Ethernet Shield contains it, meaning _LOT'S_ of people use it in the open source "makers" domain, so there should be pleny of breakout boards available. A discussion on using the WIZNET W5100 has started over on Atariage, and you can read that here .



So where does that leave the Dragon Cart project? Well, I think the idea of Ethernet on the Atari is very much alive, and there is software being written for the Dragon Cart and I am very excited about that. However, After reading the thread on AtariAge and looking at the W5100, I would have to agree that it makes sense to design a PBI / cartridge device aorund it. Also, Dan Winslow and Oliver Schmidt both have shown interest in supporting the new hardware. As far as designing and producing new hardware for the W5100, I am going to leave that to someone else. I am very proud of my work on the Dragon cart, but honestly, life is short, and there are other Atari projects I would like to work on and share. I will continue to keep the site active, and post updates on the status of any new "ethernet" work being done on the Atari, including posting any new software and documentation that Dan is currently working on. I will respond to emails and questions and keep supporting the Dragon Cart. I will also post information about the new hardware as it becomes available.



I think the Dragon Cart it's a great little piece of hardware, and it still has lots of potential. I also Posted the latest Contiki build in in the download section, added a video of the latest Contiki build in action, and also added the schematic for a complete Dragon cart, not dependent on a breakout module. I don't think it makes a lot of sense to produce this cart, especially if better hardware in the future, but I would still consider it if there is enough interest. I am actually very excited about getting a piece of hardware this coming winter that should make short runs of professional quality circuit boards posible, so it has the potential to make projects like this much more economical and time efficient. Anyway, I have always maintained the thought of the Dragon Cartridge being a fun project for the "do-it-yourself" atari user. I know there are a few of those still out there, and all the information is available right here if anyone wants to give it a go!



Finally, I wanted to let everyone know that last winter Dan and I had the opportunity to appear on the Antic Podcast to discuss the Atari ethernet project, as well as other fun Atari stuff! I had a blast and I really think the Antic poscast is one of the best Podcasts on the web! Feel free to take a listen .

Update April 20th 2013:

Eventhough It has been several months since the last update, work has been continuing on the project. I have been working figuring out the best way to make the next run of Dragon Cartridges. Idealy, I would like a board that will use surface mount components that could be manufactured and releaving me the tedius work of soldering all the boards by hand. I could make a single board with all components, but the problem I am having is that several users over at AtariAge have expressed interest in having the RJ45 jack at the top of the cart and others have requested the jack be on the side of the cart. This would most likely require two seperate board designs and manufacturing runs, and I don't know yet if it will be economical. Also, I would like the RJ45 to be completely recessed in the cart and not stick out the top so that only a notch in the top or side of the cart shell would have to be cut. This would also make it possible for the cartridge to easily fit into a 1200XL. Eventhough, I don't have a solution to all these issues, I am moving ahead to design a board that uses surface mount components for the whole board leaving just the RJ45 to solder by hand. Even if I can't do two board runs, I think this is the best way to proceed. The schematic is done and I will begin the board design within the next few days.



That brings me to the software situation. I reached out to Oliver Schmidt, who is a developer of Contiki and we are going to work together to compile and test the latest Contiki builds for the Atari Cartridge. When the new version is ready and tested, I will put up a download page here on the project site.



I am also very happy to announce that Dan Winslow, has been hard at work porting IP65 over to the Atari and the Dragon cart! Dan has been awesome to work with. Besides spending countless hours developing the software for the cartridge, he has helped me do all the testing on the hardware and has contributed GREATLY to the funding of the project. Without his assistance, the Atari Ethernet project would not exsist, and a public thank you to him is long over due!!



So far, DCHP and ping work. The code is very small and the apps run very effeicently. This should really open the door for some really useful apps and even online gaming should be possible one day! You can follow / contribute to the development on this thread on AtariAge We also started a Yahoo group for software development for the Dragon Cart. You can find that here . Dan also has released a beta version of a Telnet client client using the IP65 code. You can find his latest software release (including Ping, DHCP, and Telnet) in the ATR image under Software Downloads on the download page.



Update July 15th 2012:

The initial lot of Ethernet cartridges is now sold out! I want to thank everyone for theie quick responce and payment. I will do my best to get all the sold carts shipped out ASAP. The US orders should ship on Monday afternoon and the international orders should ship in the next few days after that.



Some people have expressed interest in a second run of carts. I hope there will be. The Carts take a lot of time to manufacture in mass quantities, and as long as I can find some help with the process, I would like to make more sometime. I am also willing to put some kits together and sell parts for those who want to assemble their own. Feel free to e-mail me if you are interested in a kit or helping to do assembly.

Update July 14th 2012:

Good news everyone! I have a batch of Cartridges assembled, tested and ready to ship! More good news everyone; The cost of the cartridges is only $25.00 US plus shipping. We are actually taking a loss on the cartridges, but We feel since there is not a fully functioning software package available, it would be unfair ask for more. We hope that this will also help get more folks involved in developing software for the device.



If you are interested in purchasing a cart, please contact me through e-mail or a PM through the Atariage forum with your address and I will send you a responce with payment instructions. If you have already e-mailed me, you do not need to contact me and I will send you a responce with instructions.



As I mentioned before, payment will be through PayPal and shipping will be through the US Post office. I should be able to get the US orders out pretty quickly, but the International sales will probably take a bit longer due to the extra paperwork and such.



Due to the limited availiability of the Carttridge I ask that you only order one or possibly two if you are planning on doing some development so we can the cartridges out to as many people as possible.

Update February 7th 2012:

It's time for another update. We now have all the parts to assemble the first batch, and We were hoping to start selling the carts in fall, but I just haven't been able to put enough time aside to get the carts built. The fault is mine alone, and I appologize to everyone who has been waiting for the ethernet cartridge to become available. I now understand why many of theses projects take so long, and some never get completed. I am in the process of securing some help with the machining of the cart shells and all the soldering. Omce I have a better handle on the production process, I will post another update.



Now some good news, We have a label! The label design is finished thanks to a great design by chrislynn5, and I am very pleased with the results. Check out the pictures page for some cool pics of the finished cartridge as well as some pictures of the completed boards.

Update August 9th 2011:

Testing is complete on the changeable address version of the Atari Ethernet cartridge. The cartridge was tested on 15 different Atari computers, many hours each, and there have not been any problems.



Parts and PC boards have been ordered for a run of cartridges. We are on schedule to start taking orders early Autumn. I will be adding a link to this site to purchase the cartridge and payment will be via PayPal. I think that is the best way to go to be able to process orders efficiently. If someone is really dead set against PayPal, they can send me an e-mail and we can try to work out a different payment method, but you will have to be patient, as this is a small operation. The final price has not been set yet, but it should be under $75.00 including shipping.



I have added instructions, schematic and PCB files for the changeable address version of the Ethernet cartridge in a ZIP archive and added it to the download section. I have also added instructions for the static version of the cartridge and combined it with the schematic and PCB files and that is now a ZIP archive as well. I have also added a couple of new pictures showing a static address cart and prototype cartridge shell.



Finally, we decided the official cartridge name is now the Dragon Cart. It seemed fitting as the main component is called the IP Dragon II. Now, we just need to create a really cool label. There is a new thread on AtariAge asking for label designs. I hope to get enough designs so we can have a design contest and the Atari community can choose best one. The creator of the winning label will get a FREE Dragon Cart! You can find out more on Atariage HERE.

June 28th 2011:

I know it's been a while since an update but progress is being made. After some debate we decided to add an address change circuit to the ethernet cartridge. This will give the cartridge much more flexability and allow it to be used with other interfaces and cartridges like SpartaDOS X. there are so many cartridge projects out there and it's hard to decide on a single adddress that will suite everybody, so being able to set the address seems to be the best solution and worth the delay. The address can be set by four dip switches that set the high nibble of the D5 x0 base address, so it could be anywhere from D500 to D5F0. This was acheived with some great help from one of the best Atari hardware guys I know! This change has added only 1 additonal logic chip, four dip switches, four resisters and a capacitor to the design. Eventhough the design change is minimal, the schematic and board design now have to be updated. I have added the PCB template for the current design to the downloads section in case anyone wants to make their own. The current cartridge schematic and PCB design are still valid, but it has a set address of D500. Much of the software should continue to use D500 address, so I am going to keep these files in the downloads section and add the new design files as soon as I have them ready which should be in a few days.



The current design uses a SO16 version of the LS138 decoder to keep the size of the cartridge small in order for it to fit an a standard cartridge shell (MaxFlash type) with the top notched out for the RJ45 connector. This part can be a bit difficult to solder but can certainly be done with a fine tip iron. However, the new design with it's added components will require more room no matter what, so I will be switching to through hole components. This should also make assembly a little easier for DIY carts.



One last thing about the new design. After MUCH testing, It is very important to use 74HCT series chips in the cartridge instead of the standard 74LS variety. As many Atari users already know, The timing of 02 (phase two) clock signal that comes from the CPU can vary from one Atari computer to another. This timing is critical to the ethernet cartridge R/W signals and the 74HCT chips are high speed low current devices which sures up the timing for the databus and compensates for the differences in 02 timing for different Atari computers.



I am also adding an alternate schematic and PCB design to the Download section. An Atariage user known as Candle designed a single board ethernet cartridge. It does not require the IP Dragon board and uses the CS8900A chip directly, and It uses all surface mount parts. It is a very professinal looking design. If anyone wants to get this board made, Candle would like a board to code the VHDL chip which is needed to make the cartridge operational.

Update January 24th 2011:

I added a video page and linked a series of videos showing the prototype cartridge in action! You can also see the videos via my YouTube channel I also reworked the pictures on the website and added higer resolution images to nearly all the pictures. Just click on a picture and it will bring up the larger image. On the hardware side of things, the PC board design has passed design testing, so we are currently getting manufacturing pricing for the boards. I will be posting the PCB patterns in the downloads section very soon in case anyone wants to try to make their own.

Update January 5th 2011:

It has been a while since I last updated the site, but progress has been moving forward and there is some very exciting news. The board design is almost finished and I will be testing the design in the next few weeks. There is even better news on the development side. There's a source code base being developed in C. It was originally partially based off of uIP, and as such its been named AIP. Currently it handles ARP, ICMP, UDP, and DHCP, with TCP in progress. It's being designed so that it is modular and easily include-able into other C programs. A separately loadable driver is also being planned for use with other languages. AIP will be open-sourced, and we will post it on our sourceforge as soon as the basic TCP mechanism is in, which should be in around 2 months.

Also, be aware that there is now actually a version of Contiki that functions out-of-the-box with this adapter! The features include a web browser, simple e-mail client, FTP upload client, and even a twitter client! It has been compiled for the Atari by the very talented Oliver Schmidt and is available as source on the Contiki CVS. Disk images in ATR format can now be downloaded from Here or Here. I will update the site as more information becomes available about the source code base and Contiki. Also, I have added a couple of pictures of the working prototypes to the pictures section. Finally, I am working on some video clips to demonstrate the prototype cartridge with the available software, so check back in a few days for those.

Update August 23rd 2010:

Great news everyone! We have a working prototype using the IP Dragon II cartridge! I have also received a few additional IP Dragon II boards and I am in the process of wiring them up. I should have the additional prototype cartridges in the hands of the programmers in the next couple of weeks. I have posted the schematic of the prototype cart under downloads. It shows how to connect the IP Dragon II board to the Atari cartridge port in case anyone wants to make their own cart. Finally, I have re-arranged the download section a bit. Since we are going to use the IP Dragon II board for the cartridge, I want to make sure people ar not confused by the Olimex info, so I moved to the "Other downloadsand links" section. It may still be possible to use the Olimex board, so I think it's a good idea to keep the info on the site. Once I get the prototypes sent off to the programmers, My next task will be designing A printed circuit board based on the schematic I just posted.

Update May 20th 2010:

We have found a new CS8900A board! It is called the IP Dragon II and it is virtually the same size as the Olimex board but it uses the 5v CS8900A...WIN! WIN! It is made by Invector Embedded Technologies. They made a very similar CS8900A board that was used in the Apple II ethernet cartridge so they have been involved in a similar project before. I have been in contact with the owner and he has been a pleasure to deal with. the CS8900A boards will be $32 USD and more information on the IP Dragon II can be found on their website: The schematic and datasheet for the IP Dragon II has been posted under Downloads on this site.

Cartridge "header" boards that plug into a larger prototyping PC board are complete...Yea! The prototyping board is from Radio Shack (part # 276-149). Some images of the completed header and prototyping board have been posted under pictures and the pc board patterns for the header boards are available under downloads in case anyone wants to try making their own cartridge this way. These boards will be used to build a few prototypes and get the ethernet cartridge in the hands of some talented programmers so development of the software can continue. I will post picture of the prototypes as soon as they are built. A professional printed circuit board that will accept the IP Dragon II board will be designed next. I am not sure of the cost yet, but I think they will be reasonable as long as we get enough interest for a decent amount of boards.

April 10th 2010:

So far, there is a schematic to interface the Atari cartridge port to a CS8900A development board. There have been several CS8900A development boards available over recent years and most of them should work as long as they put the chip in 8-bit mode. There is a compact board made by Olimex that would easily fit on a cartridge board. However, this board and some others use the 3.3v version of the CS8900A and this could be a problem because the Atari uses 5V logic. The Chip's absolute max voltage rating is 6v, so it might work but it will run hot and quite possible shorten the life of the CS8900A. This can be solved by using special logic chips designed to "glue" 3.3v and 5v systems together but it's more work than purchasing a 5v CS8900A board. I will keep The schematic and information on the Olimex board in the Download section in case someone wants to try this.

The circuit has been built and a telnet application has been written. The hardware and the telnet app has been tested on a 130XE, and we can now successfully telnet to several BBSes over the internet!

To Do List