[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

apple2pi (in the sky, with diamonds)



Thanks, Bill, for prodding me about PLASMA ][.

I'm currently looking into how I want to implement exception handling, but I like to interleave hardware projects with software projects (i.e QuickCam exploits).  I had a wild-hair idea to build a modernized ethernet adapter to provide PLASMA with some cool TCP/IP applications.  So, taking my recently acquired SuperProto board from Mike Willegal (awesome product) and finding the Arduino Ethernet Shield stocked at the local Radio Shack here in the middle of the Sierra mountains (kudos to RS for supporting geeky products), threw them into a blender, and mixed.  Some of you may have seen the outcome on a picture posted to FB.  Note that I'm not really a fan of FB, but it does make sharing media easier than usenet.  Anyway, I faked enough of the SPI protocol to talk to the Wiznet W5100 chip on the ethernet shield and initialize it so I could ping it from my Mac.  But then, a package arrived....

...and I started playing with the Raspberry Pi. Like many of you, I've been intrigued by what you can do with a $35 (or even the $25 model A) computer.  As it was designed to replicate an environment of experimentation that existed with the BBC computer/Acorn/Apple II, no wonder we are all interested.  And as we are all Apple II enthusiasts, we are finding ways to integrate our Apple II experience with the RPi.  At $35, I have a 512MB, HDMI, USB, Ethernet capable Linux computer with an ARM core (conceptual successor to the 6502) and a pretty powerful GPU - along with a smattering of GPIO pins to play with.  This is $15 cheaper than the Ethernet Shield that provides only TCP/IP functionality (I believe the W5100 runs an embedded ARM processor too).  Of course a dedicated Apple II card based on the W5100 could be made much cheaper.  Hmmm.  It's clear where this is going, and there was even a thread on c.s.a2 about connecting the RPi to the Apple II bus.  Of all the things on the RPi that seem to be well thought out, the GPIO pin selection is a little frustrating.  Obviously, from the previous c.s.a2 thread, there isn't enough to control the Apple II bus directly.  However, there is a 3.3V TTL serial interface that is available and enabled in the default Raspbian Linux distribution for the RPi.  It is configured as a 115K serial terminal so you can log in with an appropriate serial adapter.  It turns out you can power the RPi from the GPIO header instead of the micro-USB connector, too.  Lastly, there is a programmable clock pin that could supply, say 1.8432 MHz to a 6551.

If anything, programs like ADTPro, Apple GameServer, etc. have proven that 115K over a serial port is capable of reasonable bandwidth for most Apple II applications.  As an experiment, I'm going to build a little MAX3232 board to convert the GPIO TTL serial port to RS232 and connect it to a SuperSerial card.  Wouldn't it be interesting to provide not just TCP/IP services, but perhaps USB services, slinky memory card-like services, extended video output, etc. to the Apple II.  Heck, just running ADTPro's VSDRIVE would be great - but I'm not sure of the state of Java and Raspbian.

You could also turn this around - what if the Apple II played the part of console to an emulator running on the RPi (with HDMI output!).  Keyboard and even mouse events could be passed on the the emulator (Linux in general, for that matter).  Taking it one step further, code on the Apple II could access peripherals like disk drives - transferring the data back and forth to the emulator by way of a serial port protocol.

Once having proven the concept with a serial converter/SuperSerial connection, building a plug-in board should be pretty straight forward.  The Model B RPi claims to pull 700mA@5V running full tilt (but doesn't take into account USB loading).  That is a bit of a stretch for an Apple II power supply, but not out of the realm of possibility for a lightly loaded machine.  As the RPi could emulate just about anything you could plug in, that seems reasonable.  With a 6551, some support logic, maybe an EEPROM for automatic boot-to-console  and a header plug for the RPi, we could have the ultimate retro case for the RPi.  Probably the hardest part would be the support drivers and applications on the Linux side.

Well, that is why PLASMA has been languishing a bit, lately.  The MAX3232 chip should arrive in the next few days and I hope to have something built up by next week to try out.  Comments?  Critiques?  Discuss amongst yourselves....


Dave...