Developing CDVDBurn 3 – Ready For Test

The first Release Candidate has been sent out to my helpful beta testers to widen testing on different drive-machine configurations, especially with drives that I don’t have access to myself. As I mentioned in my earlier post The Testing Challenge CDVDBurn is a bit of a special case concerning a proper testing strategy. Working with a variety of different hardware is always a challenge, and the additional variety of machines and media makes it extra-difficult.

My “point of no return”, i.e. the moment of confidence when a version of a software reaches the “ready for test” state was when I did a final test run of all media types (CD-R, CD-RW – both Audio and Data, DVD-R, DVD-RW, DVD+R, DVD+RW, DVD-RAM) on the three newest drives I have. Lite-On EBAU108-01 (this drive unfortunately does not support DVD-RAM, but has the lowest price point), Asus ZenDrive U7M and LG GP57ES40 – all of them quite cheap (20€ to 35€) and of the slimline USB type which get their power exclusively via USB, which allows easy external connection to all target machines from the classic IYONIX to the very latest Raspberry Pi 4 – and everything in between. So all looked good, which meant “Ready For Test”.

While the testers are busily (and hopefully happily!) beavering away, I did some further tests in different scenarios to get a better feeling for overall drive and machine compatibility. The LG BH16NS55 which is inside my ARMX6 (and therefore connected with an S-ATA-USB adapter) works fine. Its older brother, the LG BH16NS40, works fine on the Pi 4 connected with an S-ATA-USB adapter and an external powered USB3 hub (only working in USB 2.0 mode of course!). One of the big external USB Blu-Ray writers, the Asus BW-16D1H-U Pro, successfully wrote several types of media connected to the ARMX6.

Then, I started to get adventurous and resurrected my old IYONIX (RISC OS version flashed: 5.16, that’s 2010 vintage…), put RISC OS 5.28 in softload and connected one of my oldest USB drives that still work, a Samsung DVD writer named SE-S084C (manufactured July 2009) and it wrote a data CD-RW with only one minor problem (eject of disc at the end of the write did not work, but the disc was written OK). A very promising result. To try to extend that streak of luck, I quickly tested the Pioneer DVR-109 IDE writer which is stuck in my IYONIX since perhaps 2007 when I last tried to get it to work properly. And…without hesitation, it burned a DVD-R.

So all in all, it looks fairly good. My original goal was to come up with at least 3 compatible drives – internal S-ATA, external slimline USB, external “big box” USB, if possible all of the Blu-Ray type. “Compatible” in the sense of “works at least with CDFS as a reader and writing CD-R, CD-RW, DVD+R, DVD+RW, DVD-RAM”. Now there are a lot more drives that seem to work faultlessly, and additionally DVD-R and DVD-RW now also work quite reliably.

Of course, the TODO list is not empty yet – all effort has currently been focused on “USB” to cater for all new RISC OS 5 machines since the IYONIX. But it would be nice to also have well-tested IDE support for the IYONIX and S-ATA support for the Titanium. Additionally, there are a few known niggles that make CDVDBurn sometimes a bit confusing especially for the new user without a lot of knowledge about drives, media and their capabilities. The only critical error found to date, a real crash because of a wrongly translated German window template, has already been fixed.

Developing CDVDBurn 3 – Finally…Success!

Sometimes, success comes to those who wait.

Sometimes, it helps to pick up a lost cause from 2005.

Sometimes, it helps to re-read the documentation aka “The MMC Standard”. Yes, all six variants.

Sometimes, it helps to think about a problem for more than 15 years.

Sometimes, it helps to come back to develop in programming language A after spending fifteen years almost exclusively developing in programming language B.

Sometimes, it helps to start early in the morning and do one of those classic hardcore coding session until late at night (i.e. until ten minutes ago).

Sometimes, it helps to pre-think possible variants of command sequences with endless combinations, externally configurable of course, just to find out that the very first combination you test works.

Sometimes, it helps to just throw out the old stuff and start from scratch.

I won’t disclose further details – the end result is that I have, for the first time ever, successfully written both DVD-RW and DVD-R media with CDVDBurn. Ironically, it happened on a Blu-Ray writer. You might remember that DVD-RW already worked before, but that was sheer luck and was possible only on very few drives. I am now confident that the new writing routine will work with most drives. The next few days will tell.

Current state of play (unfortunately not for all drives yet, but for many of them):

  • Audio CD: check.
  • Data CD: check.
  • Data DVD-R: check.
  • Data DVD-RW: check.
  • Data DVD+R: check.
  • Data DVD+RW: check.
  • Data DVD-RAM: check.