Tweet |
SD2PET Future: An SD card storage solution for the Commodore PET
(A Review)
Introduction
Here is the computer I would grab first if there was ever a fire in my computer shack. To me, the Commodore PET/CBM's “all-in-one” appearance embodies the ethos of a late 1970s “Personal Computer”.
Figure 1. The handsome CBM 3032 (aka PET 2001/N)
One thing a vanilla 1978 PET lacks is reliable and fast offline storage. The late 1970s were a time when disk drives were a costly luxury. PET disk drives in particular were clunky and heavy. These days working ones are as rare as hen’s teeth! Thank goodness then for hardware hackers, who have designed solid-state storage solutions for PETs and made these solutions available to others.
One example of the above is PETdisk by Mike from bitfixers.com (Figure 2). I purchased one of these in 2011 when the kit first appeared. PETdisk is great, and performs just as it should. However recently two other “retro-solutions” builders, U.K.-based Dave Curran (Tynemouth Software) and Rod Hull (thefuturewas8bit) teamed up to produce a similar product. This is the SD2PET Future (Figure 3), a device based on the earlier PetMicroSD built by Dave.
Figure 2. bitfixer.com's PETdisk
Figure 3. The SD2PET Future ordering page
My interest was piqued by this alternative SD solution. Like the PETdisk. the SD2PET Future plugged into the IEEE-488 interface and was powered by the cassette port. However it looked a tidier package than PETdisk and seemed to have more features. Since I was buying some other gear from TFW8b.com, I thought why not grab an SD2PET Future too. I could take advantage of bundled shipping. Lastly, I remember the words of Earl Evans, of Retrobits and RetroComputing Roundtable fame who said (more or less) “when things of interest appear you should buy them, because the manufacturing runs are likely to be limited and they may only be available for a short time”.
Ordering and delivery
Ordering on-line was painless. Delivery however hit a bump with COVID-19. When I ordered the product, lockdowns were ramping up both in the U.K. and New Zealand. I paid for the more expensive express courier delivery, but the package got stuck at Heathrow airport looking for a plane to deliver it to New Zealand at a time when flights were being cancelled all over the place. Anyway, it eventually arrived on my doorstep after two weeks, which is no big deal in the grand scheme of things.
The product came in an attractive robust case and was bundled with a double-sided sheet with instructions, an SD card with software and a complementary PET-themed mouse pad (Figure 4).
Figure 4. The SD2PET future package
The instructions showed how to quickly get up and running. However, it wasn’t just a matter of plug and play for me as the SD card, rather than having PET software, had a file which seemed to be related to the BBC? Just a mistake when packaging methinks. It was not serious as using the links provided in the instruction sheet, I’d soon downloaded and populated the SD card with PET software and was ready to put it through its paces.
Figure 5. The SD2PET Future in situ
Testing
The main reason I wanted this product was so I could load my favourite PET games painlessly and quickly. However, I was interested to know just how faithfully the device emulated a real disk drive. How would it handle data files for example?
To check this, I ran the device through a series of tests, not just of interactive-mode commands but also ones used for data read/write in programs. For the latter I used examples given in "The PET/CBM Personal Computer Guide (2nd edition)" by Adam Osborne and Carrol S. Donahue from Osborne/McGraw Hill 1980. I checked these routines first in the VICE emulator version 3.4 configured as a PET 3032 with BASIC 4.0 and CBM 2031 drive. For those interested, a D64 disk image containing the routines I used can be found here.
Figure 6. Program examples from Osborne and Donahue (1980) used to test the SD2Pet Future disk drive emulator
The SD2Pet Future can be used in two ways. Either files can be accessed directly from the SD card directory or a D64 disk image can be mounted, and the files accessed in that image. That being the case, I tested the commands and functions under both scenarios. As a PET with the SD2PET Future attached assumes just one drive is present, parameters like D0 and D1 were ignored as was the command BACKUP.
I didn't try everything. There are some things I DIDN'T test or explore:
- the use of subdirectories, which the device also supports
- BASIC 2. My machine is fitted with BASIC 4.0 so I only tested the commands and functions in the BASIC 4.0 environment
- The DOS WEDGE operating environment (http://petsd.net/wedge.php) which came with the package
- Random access routines
Results
Table 1 shows the results:
Commands/Functions tested |
Works direct from SD card |
Works in D64 image |
Comments and/or the example programs used from Osborne and Donahue (1980) |
COPY "oldfile" TO "newfile" |
✓ |
✓ |
|
DIRECTORY/CATALOG |
✓
|
✓ |
|
DLOAD "filename" |
✓ |
✓ |
|
DSAVE "filename" |
✓ |
✓ |
|
HEADER "name",D0,Ixx |
Not applicable |
✓ |
|
RENAME "oldfilename" TO "newfilename" |
✓ |
✓ |
|
SAVE "@D0:filename",8 |
✓ |
✓ |
Saves over an existing filename |
SCRATCH "filename" |
✓ |
✓ |
|
VERIFY "filename",8 |
✓ |
✓ |
|
Writing and reading numbers and strings into a Sequential Data File using PRINT# AND INPUT# |
✓ |
✓ |
SEQ.NUM.B4 and SEQ.MAIL.B4 were used for testing. |
Appending numbers onto a Sequential Data File using APPEND# |
✓ |
✓ |
SEQ.APPEND was used for testing. |
Concatenating Sequential Data Files using CONCAT |
X |
X |
CONCATEST was used for testing. No error was shown but files were not concatenated. Osborne and Donahue (1980) do say that DOS 2.0 is needed for this statement to work. |
Writing and reading numbers and strings into a Relative Data File using PRINT#, INPUT#, GET# and RECORD |
✓ |
X |
REL.NUM.B4, REL.MAIL.B4 and REL.MAIL.GET# (with and without the RECORD command) were used for testing. Running the routines from the D64 image resulted in Disk Error 31 occurring (Invalid Command) after the OPEN# command when a length was specified. However, these routines work when run directly from the SD card. |
Table 1. Test results with BASIC 4.0 commands and routines
The COLLECT command was tried. It's hard to know if this worked or not (or even if it's relevant under these circumstances) but no error was shown.
Discussion
The SD2PET Future handled nearly all the commands the PET could throw at it. The BASIC 4.0 CONCAT statement is not supported and there seems to be a problem using Relative Data files within D64 disk images in this particular release. However, the accessory is sold as an SD storage solution rather than a complete disk drive emulator. The issues detected are minor and may well be addressed in a future update. The vast majority of users will just want to load, play and organise those good old PET games. The device certainly makes that easy!
As an aside, I did try one Random Access routine. This is the "Block Read" routine on page 355 of Osborne and Donahue (1980). I got no errors but I found the returned values differed between the three environments I was using, namely the VICE emulator, directly from the SD2PET Future SD card and the SD2PET Future but using a D64 image (on the SD card). None of these environments were using REAL disks so different results should perhaps be expected.
How does SD2PET Future stack up with PETdisk? The comparison is not really fair, as the former was an earlier one-off project which was great in the day but Mike has moved onto other things. One thing I do like about the PETdisk is that it includes standard 3.5mm jacks for audio I/O. However, one important feature the SD2Pet Futures has over the PETdisk is support for standard BASIC 4.0 disk commands which makes using the disk environment a lot less painful. PETdisk only provides support for BASIC 2 commands even if BASIC 4.0 is fitted. SD2PET Future also supports standard D64 disk images which PETdisk does not.
Last word
If you have a working PET and don’t already own an SD solution, do yourself a favour and buy an SD2PET Future. Thanks to Dave and Rod for producing this. There are far fewer PETS in circulation than Spectrums, Vic-20s and Commodore 64s so the return on investment for a PET accessory is less that those others. Kudos for supporting the PET user community.
Time to play some Space Invaders!
Figure 7. Space Invaders on the Commodore Pet
Terry Stewart
22nd April, 2020
Postscript: A reader on the Commodore PET / CBM Enthusiasts Facebook group made a good point regarding this device which is worth noting. When the SD2PET Future is in place, nothing else can be connect to the IEEE port. There is no card edge extension. While this is of no consequence for most, it might be an important limitation if you want to connect up a printer or a real disk drive while using SD storage. In this case an alternative is the petSD+.
Tweet |