Sony Vaio on the Amiga

Driver development

Since late 2022 I've been working on a new Amiga 1200/600 PCMCIA CD-ROM driver using the Sony Vaio PCGA-CD51. The driver can be found on Aminet as the PcmciaCD package. At the time of writing this the current version is 1.2 and also supports some variations of the Sony CD-ROM drives such as the CRX75A and PCGA-DVD51. 

The PCMCIA on the Amiga 1200 and 600 isn't capable of DMA modes so the transfers are slower than the IDE connected drives. The advantage of PCMCIA is the tidy solution using an external connector built for the machine instead of wires hanging out the sides or the need to cut the case to install a drive. The PCGA-CD51 is also powered directly from the PCMCIA port and doesn't require another external PSU. Note that this draws from the overall supply to the Amiga so the old power bricks may need upgrading. 

If you can get your hands on one of these drives then install this driver and give it a go!

About PCGA-CD51 drives

The drives support about 1kb/sec transfer speeds which is enough for any Amiga CD. An audio jack on the side allows the mixing of audio between the normal Amiga stereo output and the CD audio, which is good for playing CD32 titles.

I've discovered through multiple purchases of these drives (mostly from Japan), that the drives within can be different and this is a potential issue for the driver development.

Although not an extensive test I've found the following drives types
  • Toshiba XM-7002Bc rev 1911, 1910
  • Toshiba XM-1902B rev 1G18, 1624
  • Teac CD-224E rev C.8A 
The Teac has been found to use slightly different timing to the other Toshiba drives. Due to this there's a 1.3 driver in development to rectify this and potentially improve support across other models.

Other PCGA drives by Sony

Sony continued to develop the CD-ROMs for newer laptops. The new drives support faster speeds, DVDs and CDRW.
These drives tend to be newer Cardbus devices and not typically 16-bit compatible with PCMCIA v2 hardware that the Amiga was built for. Luckily Sony has some 16-bit backwards capability built into the drives. 
  • DVD51 - works if plugged in without external power connected
  • CRX75A - works if the 16-bit switch is enabled on the PCMCIA card
I've not tested the DVD51, but have been informed that this works. I do own the CRX75A and it breaks the 1 Kb/sec barrier, which means the CD51 drives are limited by the hardware and not the Amiga bus.

Fudging it for the Amiga OS

The Amiga driver architecture is quite well considered although it wasn't really built for more modern devices such as CD drives. The good feature is the ability of the filesystem driver and most utilities to be able to directly talk to the drive using SCSI commands. This is supported in the driver as well as the more traditional read command used by trackdisk device. 

The issue with this is the playback of audio. This requires a SCSI-II device and the PCGA-CD51 doesn't report full support of this command set. I've not investigated what it does support fully, but mostly it works with CD player apps. The exception was the PlayCD shipped with OS 3.9. This is a later version of the player from Idefix 97. This newer version checks the drive support for SCSI-II and refuses to work if it doesn't support that command set. To work around this the driver fakes SCSI-II support when queried through direct SCSI commands (naughty hack). This may help some CD games that also assume the check is needed.   

New development

The Teac drives do not work with the 1.2 or older drivers. There has been a mix of interrupt code and polling in the current driver versions. 1.3 addresses this by dropping some of the wait timing and using the interrupts better. The reason I didn't fully use interrupts before was due to some circumstances when they didn't fire and the code waited for a timeout instead (making it slower instead of faster). This should be resolved, but more testing needed to ensure it works across all drive types. 

Comments