WordPress database error: [Table './wordpress/wp_users' is marked as crashed and should be repaired]
SELECT * FROM wp_users WHERE ID = '1' LIMIT 1

RetroChallenge 2009 Project

This project came about from inspiration while experimenting with the Virtual ][ emulator and its serial port emulation. I discovered that my Treo actually responded to AT dialing commands for any phone number, rather than the special “#777″ number that I commonly use for standard PPP tethering. It occurred to me that it was a perfect fit to use my Treo as a dialup modem replacement to do some vintage BBS’ing with my newly acquired Apple //e. After all, traditional POTS services is becoming more rare in people’s homes and if one could simply use their cell phone, wouldn’t that be great?

So with this inspiration, I set about planning how I might connect my Treo to my //e. The first part is rather easy. Many embedded Bluetooth modules exist that simply act as a serial port replacement, supporting the SPP and DUN profiles. All I would need to do is interface one of these with my Super Serial Card. This would have been easy enough, but I really wanted to learn more about the Apple II architecture itself and attempt to design a custom interface card for it.

The plan for the custom card was to simply recreate most of the SSC hardware (while reducing the glue logic into a single CPLD) while adding a Bluetooth module to the mix. This would allow existing Apple II terminal software to work with the card.

Read on for more details…

Part 1 - Real SSC and Bluetooth

I picked the WT-32 Bluetooth module from Bluegiga and picked up a module with a breakout board for easy prototyping.
I was able to quickly put together a battery-operated circuit with an RS232 interface to connect directly with my real SSC.
Bluegiga module circuit

This worked fine, as expected, but I soon ran into difficulties in connecting to my Treo. I won’t go into too much detail here, but suffice it to say that I spent days trying to track down the problem, tweaking every imaginable setting on the WT-32 and sniffing Bluetooth packets from my MBP. I worked extensively with Bluegiga’s tech support, but in the end, I was only able to *send* data to the phone, but not receive any from the phone. (I could manage to issue AT commands, as evidenced by my other phone ringing)

Success with the Katana!

I ended up changing tack a little bit and decided to try out my wife’s Sanyo Katana cell phone. It also supported the DUN profile, but it actually worked with the WT-32! Unfortunately, it is locked into only supporting the “#777″ number. But at least it communicates fine. Here are some pictures showing the session with the Katana and the //e:


As you can (might) see, I issued the ATDT#777 command and the phone responded by displaying a special screen with number of bytes sent/received.

Part 2 - Interface card

While I label this “Part 2″, much of my earlier efforts went into the interface card circuit design. This began with research into the existing SSC hardware and continued to include giving myself a crash course in VHDL and the Quartus II Web Edition software from Altera. I ultimately chose the 1504AS CPLD part from Atmel, which is compatible with the Altera MAX7000S parts. I am still trying to understand all of the details of programmable logic design using these tools.

While the logic design is nowhere near complete, the beauty of programmable logic is that it allows me to go ahead and lay the hardware out and make my changes in-circuit down the road. I began laying out the board using EagleCAD from an early stage, mostly to determine how much board space I would require and whether I would need to upgrade from the Lite version. I created a custom library for the WT-32 part and began laying out the key components. I’m posting the current board layout as an example, but I have had to rework some things and many traces are currently not routed:

Oh, and I did manage to squeeze it all into the dimensions allowed by EagleCAD Lite. (Assuming I can get everything to route properly)

Current Status (At end of RetroChallenge 2009)

  • Modem.MGR on //e - Working
  • RS232 Interface between WT-32 module and //e - Working
  • WT-32 module communicating with Treo - Partially working
  • WT-32 module communicating with Sanyo Katana - Working
  • 7400-series logic replacement in PLD - Preliminary stages
  • Apple II interface card circuit design - Nearly complete
  • Interface card board layout - nearly complete

Timeline

See relevant blog entries.

To do

  • Resolve Treo communications issues
  • Complete PLD implementation
  • Complete circuit design
  • Prototype design in breadboard card
  • Complete board layout
  • Order proto PCB

RetroChallenge experience

I’ve really enjoyed my first RetroChallenge experience. It’s been a very busy month, but I’ve managed to get a lot done on this project and am well on my way to having a Bluetooth solution for my old //e. I’ve learned a whole lot and I’ve enjoyed meeting so many other retrocomputing enthusiasts. It’s been a great experience and I’m definitely looking forward to the next one.

It was certainly an ambitious project to tackle in a month, and as it turned out, too ambitious to complete in that time, but I suspected much of it would need to be completed after the challenge. I am confident I can continue to wrap these items up in the weeks to come and have a nice little design when I’m done. I have the RetroChallenge to thank for giving me the excuse to take this project on. :)

Acknowledgments

Thanks to all the people who have helped me put this together! I’d like to specifically thank my brother, Justin, for his excellent logo design! I’d also like to thank Mikko w/ Bluegiga technical support for all his efforts in trying to get my Treo to cooperate.