Jump to content

Photo

Introducing Hayesduino

modem arduino commodore atari apple ii internet bbs telnet serial rs232

9 replies to this topic

#1 plbyrd OFFLINE  

plbyrd

    Star Raider

  • 69 posts

Posted Wed Dec 4, 2013 6:41 PM

What Is It?

Hayesduino is an Arduino sketch that provides a bridge between the world of the Internet and small devices that do not have built-in ethernet capabilities. Old computers, such as the Commodore 64, Apple II and Atari 800 have serial ports, but do not have readily available Internet solutions with wide software support. While specialized solutions do exist for these platforms, they all require specialized software to use them and do not lend themselves to more general usage such as simply opening a socket, sending some data, and/or receiving some data.

Hayesduino bridges this gap by emulating a Hayes compatible modem. This allows users to initiate Internet communications via sockets that are opened by "dialing" to a hostname and port. An example would be initiating a telnet session with a host by simply typing atdt hostname:23 and waiting for the host to respond. Using this technique, any online socket can be reached and communicated with.

Hayesduino could have accomplished this without emulating a modem, but there needed to be a good way to allow the small machine to receive incoming connections. The three platforms listed above were all very popular systems for hosting BBS (bulletin board systems) which would accept calls over a telephone line via modem. Hayesduino simulates the incoming phone call whenever the software receives an inbound connection on port 23 (this is changeable in the code). When an incoming connection is detected, the Hayesduino will toggle the DCE-DCD line to trigger the remote software to answer the incoming "call". In this way a classic BBS can be hooked up directly to the Internet.

 

http://hayesduino.codeplex.com



#2 desiv OFFLINE  

desiv

    Stargunner

  • 1,744 posts
  • Location:Salem, Oregon

Posted Wed Dec 4, 2013 7:03 PM

Nice..
I have a Lanronix serial to Ethernet adapter with modem emulation and use it for that type of thing.
Works great..

Really fun to get the Amiga 1000 to connect to telnet BBSes...

Great work!!!

desiv
You know what would be an awesome addition?
If you could add PPP support.
So you could hook it up, but then dial from the computer into the device's IP and set up a PPP session for those devices that support PPP.
Probably more the 16-bit systems (ST, Amiga, classic Mac, etc).
That might be to much for the Arduino tho, might be a good option for a Raspberry Pi based similar solution??

#3 plbyrd OFFLINE  

plbyrd

    Star Raider

  • Topic Starter
  • 69 posts

Posted Wed Dec 4, 2013 7:06 PM

You know what would be an awesome addition?
If you could add PPP support.
So you could hook it up, but then dial from the computer into the device's IP and set up a PPP session for those devices that support PPP.
Probably more the 16-bit systems (ST, Amiga, classic Mac, etc).
That might be to much for the Arduino tho, might be a good option for a Raspberry Pi based similar solution??

 

Are you suggesting that the Arduino be a PPP server?  Wouldn't SLIP be more appropriate?  I could look into the PPPD and SLIPD servers and see if they could be ported to the Arduino Mega.



#4 desiv OFFLINE  

desiv

    Stargunner

  • 1,744 posts
  • Location:Salem, Oregon

Posted Wed Dec 4, 2013 7:20 PM

Are you suggesting that the Arduino be a PPP server?  Wouldn't SLIP be more appropriate?

Either one should work..
I think most of the early stacks were SLIP and moved to PPP later (I know by the time I set up a dial-in bank at work, it was all PPP.)

I know the Amiga supports SLIP (and PPP) and believe the ST does as well (I believe both, but I'm not an ST guy)..
(Quick google seems to show both SLIP and PPP software for the old Macs too)
Not sure about most of the other platforms, but as we are talking older machines, if they support any, they probably started with SLIP.

desiv

#5 plbyrd OFFLINE  

plbyrd

    Star Raider

  • Topic Starter
  • 69 posts

Posted Wed Dec 4, 2013 7:32 PM

OK, looked up the RFCs for SLIP and PPP.  SLIP looks entirely doable, but I wouldn't touch PPP with a 10-foot pole.

 

I'll add SLIP support to my todo list, but it'll be a while.  I have to write a C64 demo for Christmas and some other projects that need my time.



#6 plbyrd OFFLINE  

plbyrd

    Star Raider

  • Topic Starter
  • 69 posts

Posted Tue Aug 12, 2014 7:05 PM

Howdy, long time no post.

 

Anyways, a friend and I have designed and built the Hayesduino Mega Shield which is an RS232 shield for the Arduino Mega 2560.  Hayesduino has outgrown the Arduino Uno, so we based the shield on the Mega.  I will be demoing the complete package at VCFMW on September 12 in Chicago.  I will try to have a couple of Hayesduino Mega Shields available for sale then.



#7 gozar OFFLINE  

gozar

    Dragonstomper

  • 809 posts
  • Location:Ohio

Posted Tue Aug 12, 2014 7:12 PM

Hmmm, any thoughts on porting this to the Pi? Then you could get Ethernet, wifi, and SLIP/PPP.

(Wish I could program better.... :-)

#8 plbyrd OFFLINE  

plbyrd

    Star Raider

  • Topic Starter
  • 69 posts

Posted Wed Aug 13, 2014 6:14 AM

The Pi only has TTL-level RS232, just like the Arduino, which means you still need level shifters to make it usable as a modem.  Plus, I don't do GNU/Linux programming.  Hayesduino is completely open source and written in C++, so someone could easily port it.  What would you call such a port?  HayesPi?  Slice of Hayes?  Hayesduino is just so much better. :D



#9 plbyrd OFFLINE  

plbyrd

    Star Raider

  • Topic Starter
  • 69 posts

Posted Tue Aug 25, 2015 1:38 PM

I have migrated the Hayesduino repository from CodePlex to GitHub.  If someone would like to take over ownership then I'd be happy to oblige.

 

https://github.com/plbyrd/hayesduino



#10 scottinNH OFFLINE  

scottinNH

    Space Invader

  • 48 posts

Posted Mon Sep 7, 2015 6:06 PM

Hello.  HayesDuino sounds interesting...

 

Main question: Where are the docs describing how to build the shield? (Not step by step necessarily, but a diagram or schematic is what I was expecting).

 

(If that's explained fully in the code, please forgive me I only poked around the repo)

 

 

Second, are the Visual Micro files unnecessary to someone who is using the Arduino IDE? 







Also tagged with one or more of these keywords: modem, arduino, commodore, atari, apple ii, internet, bbs, telnet, serial, rs232

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users