World’s Smallest 128GB Commodore Drive

uIEC with 128GB SDXC Media
uIEC with 128GB SDXC Media

It’s arguably a dubious distinction, and entirely academic, but it’s a record nonetheless.

For years, systems like IDE64 (and uIEC/IDE) have been able to marry large hard drives up to the Commodore platform.  While I don’t personally know of such an installation, I would be surprised if someone doesn’t have a 500GB or 1TB PATA HDD attached to their C64.

This ignores the real question:  Would all of the Commodore 8-bit software ever produced fill even a fraction of that space?  I highly doubt it, though there is more than one would think.  GameBase64 v7 was 5.3GB compressed, so I think one could fill 10-20GB with every version of every software package written for any Commodore 8-bit machine (PET to C65). In any case, nearly every contemporary storage solution for the Commodore line can handle that amount.  Even the lowly Secure Digital drives, like uIEC/SD, support 32GB SDHC cards.

Cautious buyers will often inquire about the maximum drive size support for uIEC/SD.  I often tell them that the uIEC/SD will support SDHC cards up to 32GB in size.  That limit is a specification maximum, listed in the SDHC documents as the absolute maximum size allowed.  That satisfies most people, but I do get followups on occasion about support for larger media.

Until recently, there were no larger media options, but 2009 saw the introduction of SDXC, which eliminated the 32GB limit.  The SDXC cards were intended for cameras and camcorders, which had moved away from tape media to flash media like SD and demanded ever more storage space.  As prospective buyers became more aware of SDXC, I received inquiries on whether uIEC/SD supported these larger media options.  With no card to test, I countered that 32GB should satisfy any need, and one could always buy 2 of them as insurance against lack of space.

exFAT
exFAT

The topic of SDXC support came up recently, and I decided to update my knowledge.  I knew about the format, and I knew that SDXC cards came factory formatted in Microsoft’s proprietary exFAT format.  But, research uncovered many people who simply reformatted their cards to FAT32 and happily used them without any issues. I had previously assumed the SDXC protocol differed in significant ways from the SDHC protocol.

So, I decided to pick up a card and try it out.  The prudent choice would have been to snag a less expensive 64GB card, but I decided to go all out and pick up a Lexar Professional 128GB SDXC (the largest I could find).  At $160.00, it’s not a cheap chip of plastic, but I decided I could always use it as a second HDD in my laptop.

Upon delivery, I immediately imaged the entire raw card using Roadkil’s Disk Image utility.  After 3 hours, a 128GB image was available, which I immediately compressed to 4MB and archived.  It’s unclear if dumping the expanded image back to the card will put the data back in the original location in the FLASH memory, but it seemed prudent to save off the image in case it was later needed.

I then used a third party utility to format the entire card in FAT32 with 32768 byte sectors.  I suspect contemporary operating systems will allow this as well, but I was in a hurry and the utility was handy.

I then copied 48GB of files to the card, to ensure new files would be forced into the area above 32GB.  After 2 more hours of copying, I was finally ready to test.  I popped the card into the uIEC/SD, powered on the SX64, and watched.  The activity light blinked very fast (possibly the bootloader does not recognize the card size), and then the activity light came on for 6 seconds and then went off (system and card initialization)

I created a small BASIC program and saved it to disk.  The activity light came on and lingered, forcing me to wonder if the unit had locked up with the light on.  However, after 2:21 (2 minutes and 21 seconds), the light went off and the BASIC prompt returned.  A disk directory showed the new file, and loading it was very fast.  Subsequent saves were very quick, even after resetting the machine, power cycling, and re-installing the card.  Files were correctly saved, and a nominal test of directory commands and disk operations showed nothing extraordinary.

Honestly, the entire event was anticlimactic.  Ignoring the fact that there can’t possibly by 128gB of Commodore 8-bit files, I think it’s just too large a card for storage.  I’ll continue to recommend 8GB cards: they deliver the best price per GB, one needs only a few to hold everything, and files can be easily segrated by platform among a few cards.  Still, if you feel the need for maximum drive size, rest assured that any product offering based on a recent build of Ingo Korb’s sd2iec appears to support FAT32 formatted SDXC cards.  However, I can say with certainty that the native SDXC exFAT disk format will never be supported in sd2iec, because it requires a license from Microsoft to use. Such an implementation would never be allowed to use the GPLv2 license, which sd2iec utilizes.

IEEE Adapter

IEEE Adapter PCB
IEEE Adapter PCB

For reasons I can only guess, Commodore created it’s IEEE-488 cables in two forms.  The first was a standard Centronics 24 to Centronics 24 cable, with each end of the cable offering a passthrough connector (male on the top, female on the bottom).  This cable could be used to connect any CBM IEEE-488 peripheral to any other CBM IEEE-488 peripheral, creating a chain of peripherals through a single cable.  However, the second, and more important cable was the one that connected the PET or CBM machine to the first peripheral of the chain.  And, on one end of this cable, Commodore specified a .156 12/24 female edge connector.

Ordinarily, I’d guess the reason was cost reduction, and that might indeed be the truth, but IEEE-488 cables in general were not cheap, and creating a specific non-standard cable that only Commodore would use seems contrary to a cost reduction move.  My next thought was “vendor lock-in”, but if that were the reason, why bother with standard cables anywhere?

There are other theories, of course, and I don’t spend much time considering why these things occur.  However, such a design decision makes a real impact today, more than 30 years since the cable debuted.  Namely, the non-standard cables are hard to find, and no one produces them anymore (standard IEEE-488 cables are still produced in significant quantities).  Since each PET/CBM machine needs exactly one of these cables, they are somewhat important.

One can always cut a standard cable and wire up a 12/24 connector, but I recently saw a neat idea on a classic computer mailing list that concisely solves the problem: An IEEE-488 connector adapter.  The adapter is simplistic to an extreme.  One end contains a 12/24 .156″ connector, while the other contains a standard Centronics-24 connector.  Coupled with a standard cable, the search for this elusive connection option can be over.

The design seems so simplistic, I’m wondering if there is something else that can be added to the design before I send it off for production.  Comments are welcome.

C2N Power!

C2N Power! PCB
C2N Power! PCB

Given a need to order more C2NPower cassette port power adapters, RETRO Innovations has revamped and expanded the functionality of this tiny product.  In addition to providing a tap for 5VDC for powered peripherals and a layout that includes holes for the Atmel ATTINY24/44/84 AVR microcontrollers, the new design also includes support for the MAXIM DS1307+ (and compatibles) Real Time Clock and the 24CXXXX line of serial EEPROMs.

Before we roll this new design into production, we’re looking for a couple of proficient assembly language developers who could help us develop some functions for reading and writing the time to the RTC and reading/writing data to the EEPROM.  The protocol is I2C, using the MOTOR and WRITE lines for SCK and SDA, respectively.  The only nuance is that MOTOR line is inverted.  We’re hoping some folks would like to compose a bit of code in exchange for a free  C2N Power! unit (with EEPROM and RTC supported).  Ideally, we’d like to create some common 6502 code for the basic routines that can be used on the PET, 40XX, 80XX, VIC, 64, and C128 machines with only minor variations among platforms.

Thus, if you or someone you know could help, please let us know via our contact page. Feel free to repost as appropriate.

 

 

 

EasyFlash 3 Now In Production

EasyFlash3 PCB
EasyFlash3 PCB

It’s taken longer than anticipated, but EasyFlash 3 production is finally underway.  The first 200 boards are in production, with delivery scheduled for late March.  The storefront is open for pre-orders, with pricing set at:

  • EF3 without enclosure: $59.99
  • EF3 with enclosure: $64.99

I delayed production slightly to lengthen the prototype PCB so that switches could be placed at the rear of the cartridge, and the delay allowed the design to incorporate last minute design enhancements.  However, I will admit I treaded lightly on this production, as it’s a reasonably complex unit and RETRO Innovations is not the principal designer.

I realize late March is still significantly far in the future.  If you want a unit now, please check out Retro Donald’s storefront, which has uncased units in stock.

 

C=Key now Shipping

C=Key (PC KB to C64 configuration)
C=Key (PC KB to C64 configuration)

By popular demand, we’re now offering both kit and assembled versions of our C=Key Commodore Keyboard Dual Mode Interface.  This unit supports using a PS/2 keyboard to a VIC-20,C64,C64C,C128,C128D,C128DCR, or SX64 machine in one configuration.  It can also interface keyboards for those same machines to a PS/2-based PC (or USB PC via a PS/2 to USB adapter).   We’ve held off for years in offering this product, because PS/2 keyboards are getting scarce and we are redesigning the unit to work with USB keyboards.  That said, numerous enthusiasts convinced us there is enough interest to offer the product in the store.  Unlike our other offerings, we’re still considering this a “project” rather than a complete product offering.  If you are a tinkerer who doesn’t mind getting his/her hands dirty with microcontrollers, this might be of interest.  However, if you’re a fan of plug and play and easy upgrades, we encourage you to wait until a USB version is available.

EasyFlash 3 Introduction

EasyFlash 3 Prototype
EasyFlash 3 Prototype

In late 2010, a group of folks suggested the need for a KERNAL replacement cartridge.  This cartridge would allow those with socketed KERNAL ROMs to enjoy KERNAL upgrades like JiffyDOS and would also help KERNAL developers try out new ideas before committing them to EPROM.  Due to the complexity of “replacing” a ROM inside a machine without physically removing it, a Commodore Bounty was created to encourage someone to develop the solution.  Thomas Giesel took up the challenge, finding a novel solution to the complexity, and developing an economically viable solution.  Along the way, Thomas merged in some additional features, and the result is EasyFlash 3.

EasyFlash 3 offers a number of features:

  • 8 8kB slots for alternative KERNAL ROM images,
  • 7 EasyFlash I cartridge image slots.
  • Support for the following cartridge formats
  • Normal 8k
  • Normal 16k
  • Ultimax
  • Ocean Type 1
  • EasyFlash
  • EasyFlash xbank
  • USB support (for transfer of data to/from PC/Mac/Linux
  • Field upgradeable firmware and hardware configuration
  • Ability to replace/add/remove images from the C64

EasyFlash will soon be available from RETRO Innovations and can be used on the C64, C64C, and SX64.  C128/C128D use is not currently supported.

 

X Pander-3 VIC Released to Production

XPander-VIC
XPander-VIC

The X Pander-3 VIC brings the ultimate in cartridge port expansion options to the Commodore VIC-20.  The unit features 3 independently switched vertical ports and a companion horizontal port.  Power, both I/O select lines, and all BLK and RAM select lines can be individually switched on or off, while the I/O select lines can be swapped on the second and third/fourth expansion slot.  Units should be available for sale starting mid-January.

PS/2 Encoder Units Shipping!

Fully Assembled PS/2 Encoder with IDC Connector
Fully Assembled PS/2 Encoder with IDC Connector

Both complete and kit-based PS/2 Encoder units are now shipping in the RETRO Innovations store.  We made some last minute firmware enhancements, and are shipping with an upgraded microcontroller, the Atmel ATMEGA168 (16kB of FLASH ROM, the current firmware needs only ~4kB).

The web site will shortly be updated with pinouts and configuration notes.  Stay tuned!

23XX Adapter In Limited Production

23XX Adapter PCB
23XX Adapter PCB

Assuming it’s not obvious, let me assure readers that not all design ideas are original. In fact, RETRO Innovations welcomes customer-inspired products.  Let me relate the story of one such idea.

The initial 2364 adapter design was trivial and joins the myriad of similar designs available online.  Though it was an original design effort, I did check the design with existing online  versions.  Still, there is nothing particularly innovative about it.

The design, though, does assume the 2364 pinout is invariant, which turns out to not be correct.  Not only can the 2364 appear in 28 pin variants, but even the 24 pin variant found on Commodore machines can occur in two different configurations.  The more common variant sports a active low “select” line, while another version flips that to active high.

A customer discovered this alternate variant after purchasing an adapter.  Ever the resourceful one, he wired an inverter onto the select line for correct operation but suggested a new product variant for other custmers.

Initially, I took the idea and implemented it by making the “select” line configurable.  It’s a common trick to use an XOR gate to invert the state of a data line.  Still, the resulting design felt lacking.

Along the way, another customer suggested a 2332 Adapter, which uses the same 24 pin footprint as the 2364, but can arrive in 4 configurations (2 select lines).  Datasheets for the 2332 also showed the 2316, which supports 8 configurations via 3 select lines.  Since these are less common ROMs, they don’t get much attention in the retro market.  Nonetheless, I determined that a bit of rework would allow one adapter to support any variant of 2316 or 2332, and any 24 pin 2364 variant.  As the revised 2364 design required a TTL IC for signal inversion (74HCT86 XOR gate), rework required finding a TTL IC that could optionally invert and combine up to 3 select lines.

As the picture suggests, the 74HCT138 supports the required function, and it often costs less than the ’86, making it a perfect choice.  The cost, of course, if the need to “configure” the unit for a specific use.  Solder pads must be connected according to a truth table to support a particular device.  Yet, the adapter can be a time saver for those who need to quick swap out a dodgy 2316/32/64 with a known good EPROM with correct code.

Though this unit can be configured to support the common case (and can be soldered up without the TTL IC in this configuration), the regular 2364 Adapter supports the majority of common uses, so we’ll still offer the original design alongside this one.

 

PS2Encoder Available for Order

PS2Encoder PCB
PS2Encoder PCB

Just a quick note that I’ve received the first batch of PS2Encoder PCBs and have placed them in the store. Assembled units might take a few weeks, but kits should be available in a week, and PCBs are available now. The firmware might yet have a bug or two, so I encourage initial buyers to be somewhat technically savvy, in case reprogramming is needed.