2013-06-22
SPVHD
Smartport Virtual Hard Drive
An external USB solution for the Apple II
1 Introduction
2 Overview
3 History and News
4 Offers
5 Compatibility
6 Benchmarks
7 Evolutions
8 Floppy Drives
9 Thanks !
0 Licenses
A Donations
3.History and news
(January) and June 2013:
As I don't published the news of january, I will start with it...
The micro milling machine was modified to be computer driven, allowing clean, precise, and repeatable work onto enclosures and parts.
Here are some photo of the machine:
The micro milling machine, retrofitted:
Drivers for step motors on the left, and the power supply on the right:
I guess my tools are somewhat boring, so what about the SmarportVHD ? The firmware was modified to support the smartport protocol in fast mode.
This mode was never used on Apple II peripherals but should be usable with the Apple IIgs, and maybe the IIc+ too, wich have enough processing power to keep up with the doubled data rate.
Accordingly, this could break the compatibility with other smartport residents located on the same bus, a driver must be made for GS/OS, and I don't know is we could activate this mode under Prodos or other operating systems.
Hopefully, the SmartportVHD auto detect the speed of the bus, and stay compatible by default. A nice side effect of this modification is the firmware is now able to run on a 8MHz AVR, instead of 16MHz previously.
All the source code is now 100% C and was cleaned, there is no more assembly routine, wich will help to port the firmware on another micro controler in the future.
The dedicated manager software running on the Apple II side already allow the user to select virtual disk and disk image, but not on the fly when a game is asking to swap floppies.
To support removable media and 5.25 floppy emulation in a convenient way, some sort of user interface have to be build into the spvhd.
This include indication for the user to know wich disk image is currently online for the Apple II, and some sort of user input to select the next disk image to be mounted.
All sort of displays were studied or designed but none are matching layout and price requirements:
OLED are very nice and small enough to fit the enclosure, but they are a bit pricey for the task.
LCD are cheapers, but too big to fit into the available space and surface.
I also designed a custom led display, matching price and size requirements, but it would require too much time and work for a questionable result.
Another solution would be to add a composite video out to connect an external monitor, this video out would be software driven, but this is definitively not handy, or require again some more hardware to share the same monitor between the Apple II and the smarportvhd.
After some more brainstorming, I realized that feedback could also be done by audio with limited hardware additions.
Going deeper in this way, I found cheap piezo transductors but with very limited audio capabilities for the voice.
Usual magnetic transducer provide far better audio capabilities at these frequencies, but they also generate a magnetic field wich could be a problem for our lovely floppy disks and monitors...
A simple audio out connector could also be used in place of the transducer, but this is again not practical.
For the input I found a simple rotary selector providing a nice way to select virtual drive and disk image. But it require a specific button to match the enclosure, wich require again too much time.
Another solution is to use capacitive sensors. Custom capacitive sensors could be software driven and require minimal hardware support...
After some tests, I finally opted for the custom capacitive sensing probe for the user input. It can be made out of aluminium profil quite easily with the cnc, provide a nice visual, and stay cheap.
The magnetic transducer is retained for user feedback. The firmware will play some wav files to let the user know wich virtual drive and disk image are selected.
...And now, the news of June:
The work on the revision D of the SmartportVHD is now finished. This final revision integrate two front probes to select disk image, and a shielded speaker to get vocal feedback.
Front view of a grey revision D unit, showing the addition of two probes:
Underside of the same unit, showing the integrated speaker:
I designed multiple version of the audio circuit, to finally going back to the simple one after earing from it. Sound level is a bit quiet but the audibility is nice. The speaker was selected to be a low leakage magnetic field to avoid any problem with our old floppies and sensible monitors.
Some more work have to be done on the firmware to manage removable media (currently, the spvhd handle disk image like a fixed hard disk, not like a removable floppy disk). The 5.25 floppy drive emulation require this developpement too.
I'm not totally happy with the result, inside it look like parts linked together by a bunch of wires... But well, it's working so nicely and there is too many requests awaiting since too long, so I will focus my work on the production now. This should allow to balance the account of the project, and doing so, the release of the source files as promised !
Going back to the workbench side for the curious. Heekscad is used to design custom parts like supports for the boards, or the front probes. Then LinuxCNC drive the cnc, machining plastic or aluminium, to create the desired parts. Pcb are also milled to create electronic boards for the audio circuit and the user interface circuit.
The design of the rtc board support on the left, then in LinuxCNC on the right:
The work done by the cnc on the left, and the final parts on the right:
June 2012:
Before delivering the first serie of assembled device, I checked about future options for the device, and I realized that some small adjustments were required.
The decision to update the design and delaying (again) the release was not easy to take, but I can't deliver a product knowing it will need some changes, especially for a fully assembled device.
I will send a technical note to all owners of kits shipped before april 2012 to let them know how to upgrade their device.
As I don't given news for a while, here is what was done:
- updated design to be ready for 5.25 floppy drive remapping and emulation (still work in progress)
- updated design and firmware to support the SmartportRTC module
- updated firmware to support the SmartportVHD manager
- added internal connectors for connecting additional modules without any solder work
- compatibility test with DuoDisk done...and failed (the IIs are disabling all smartport residents if a Duodisk is detected)
- visual improvement by hiding the screws as much as possible
What is the SmartportRTC module ?
It's a real time clock for any Apple II compatible with the SmartportVHD.
A driver is replacing the original Prodos 8 clock driver, so files are time stamped transparently, and date and time are available for all applications using the Prodos 8 date.
What is the SmartportVHD Manager ?
It's a piece of software running directly from the Apple II, developped with
Plasma from David Schmenk.
It allow easy management of virtual devices and options provided by the SmartportVHD, without requiring anymore a modern computer.
Currently the features are:
- select disk images to be presented to the Apple II and how they are accessed (read only, read/write, ...)
- support for the SmartportRTC to adjust date and time
- support for the SmartportRTC driver to replace Prodos 8 clock driver
The main menu of the manager on the left, and the disk image selector on the right:
Some fully assembled devices are now shipped, and I realize how much time and efforts are required.
I expected to get unmolded parts directly usables with small tooling overhead...and I heavilly underestimated the task, as you can see in the following timing.
Custom parts:
- Upper hull
- Molding and unmolding the raw hull: 15 minutes
- Machining the joint plane (two pass): 20 minutes
- Machining wave guide seat: 10 minutes
- Machining the aperture of the rear connector: 10 minutes
- Drilling the four closed holes for screws: 10 minutes
- Total: 1 hour 5 minutes
- Lower hull
- Molding and unmolding the raw hull: 15 minutes
- Machining the joint plane (one pass): 10 minutes
- Grooving the external walls: 5 minutes
- Machining the corner aperture for wave guide: 10 minutes
- Machining the wave guide seats: 10 minutes
- Machining the four head screw seats: 10 minutes
- Machining the rear connector aperture: 20 minutes
- Machining walls for the rear cable passage: 5 minutes
- Drilling the two holes to fasten the rear connector: 5 minutes
- Drilling the two holes to fasten the micropendous board: 5 minutes
- Drilling the two holes to access micropendous board buttons: 5 minutes
- Drilling the four open holes for screws: 10 minutes
- Machining the four screw seats: 10 minutes
- Total: 2 hours
- Free connector with jack screws:
- Wiring the cable: 40 minutes
- Preparing the connector and shielding it: 10 minutes
- Cuting jack screws to size: 5 minutes
- Molding and unmolding the raw connector: 20 minutes
- Machining the back face: 10 minutes
- Drilling holes for jack screws: 10 minutes
- Total: 1 hour 35 minutes
- Two wave guides:
- Molding and unmolding raw wave guide: 10 minutes
- Machining: 10 minutes
- Total: 20 minutes
- Four soft foots:
- Cutting to size: 5 minutes
- Grooving guides: 20 minutes
- Total: 25 minutes
Total time to make custom parts: 4 hours 25 minutes
- Assembly:
- Checking the Micropendous board: 10 minutes
- Updating the firmware: 5 minutes
- Wiring the rear connector: 40 minutes
- Wiring the Micropendous board: 30 minutes
- Wiring the USB connector to the micropendous board: 10 minutes
- Wiring the leds: 10 minutes
- Shielding the lower hull: 10 minutes
- Making the upper shield: 15 minutes
- Fastening the rear connector: 5 minutes
- Fastening the Micropendous board: 15 minutes
- Fastening the leds and wave guides: 10 minutes
- Fastening the USB connector to front wall: 5 minutes
- Shielding the USB wires: 5 minutes
- Fastening soft foots: 5 minutes
- Testing the while device with real hardware: 30 minutes
- Total: 3 hours 25 minutes
Total making time: 7 hours 50 minutes...
...plus 30 minutes to package the thing ready to ship.
I wanted a cheap solution, and a nice product...I think I reached more or less the both goals, but counting again all the component cost, shipping cost with the final weight, paypal fee, and adding a small margin to cover a small part of my time, I had the nasty suprise to get an increased price compared to what I targeted.
I think it's still a very good price for such a product, especially considering the time spent, but I anderstand the disapointment of some requesters. For those who are only concerned by the features, and not the design, I will check for an enclosure from the market to provide a cheaper solution.
Now, the remaining challenge is to scale up the production to satisfy the requests !
Machining a raw hull on the left, and stacks of enclosures on the right:
Near the end of the assembly, adding the EMI shield over the electronics:
February 2012:
My personal and professionnal life is continuously pushing away the assembly of the PNP device, but I still maintain the delivery of the first units during march.
The firmware is now supporting USB hard disk, and I'm prepared to write an image manager for the Apple II. Doing so we will be able to select the virtual drives we want online without the hassle of disconnecting and reconnecting the USB device to do it on a modern computer.
As the device is going to life, I feel it's time for some
big thanks to those who helped the project in a way or an other.
January 2012:
I wish you an happy new year ! ...and I have a very good news, the first sample is out !!!
Some minor details have to be reviewed, but the first serie should be available in march for the already registered beta testers and donators.
December 2011:
More tests with the //c+ are under preparation, and a new DIY kit is available, including molded DB19 male connector and daisy chaining connector.
I'm also refining the color of the enclosure, and I'm pleased to announce that two colors are going to be available:
- milky white, closer to the original Apple IIc color than the initial white formula I used
- cloudy grey, integrating nicely with platinum hardware like Apple IIgs and alike
November 2011:
The firmware was improved further more, thanks to Steven Hirsch that made its own smartportvhd and was the first one to lead tests on the IIc+.
The molding process is now well controled, and the assembly of the device is completly defined.
Design evolved to get a touch of modernism still retaining all the seduction of the original hardware.
September 2011:
The problem with the lot of DB19 connectors is likely to be solved soon. This pause given me some time to think again the internals of the enclosure, and I found better solutions for both shielding the electronic and the internal structure.
The case is being finalized.
August 2011:
The requests for DIY packages are now processed and some of you are assembling it.
The lot of DB19 connectors I ordered by the end of may 2011 are still not here...Maybe I'm to deal with another distributor but this invoice have to be cleared before...This is delaying the PNP package...
July 2011:
The PNP prototype was sent at the
KansasFest 2011 and was demonstrated by Geoff Weiss.
The old prototype with an Unidisk 3.5 on the left photo,
and on the right, at the Kansas Fest 2011 with Apple's prototypes (credit: Geoff Weiss):
June 2011:
The developpement of the electronic and the firmware are done and tested since april 2011.
A small production is on the way and should be available during summer 2011.
The developpement of the enclosure should be done also during during summer 2011.
The first prototype, without enclosure, is visible on
youtube