G64 export // enhanced G64 support for VICE
Posted: Thu May 24, 2012 9:25 am
You might have noticed it's gotten a bit quiet after adding write support to KryoFlux last summer. The reason is that behind the scenes the next big thing has been prepared. We always felt that the C64 community was lacking a format that would give them the opportunity to feed raw data more or less reliably into emulation. It turned out that G64, a format we had been discussing earlier, was in fact capable of working for an estimated 95% of all scenarios out there, but implementation in many emulators is so bad that things the format has to offer simply don't work in emulation.
It's been a while since we said we'd not touch G64 as G64 was "bad", "not working" and "giving people a false impression about preserving things". While we stand firm that G64 is not the grail of a preservation format, we must apologize for being stubborn in regard to supporting it. Gladly many of you were stubborn, too, requesting G64 being supported, which finally led to the decision to do it right and correct things as needed.
We turned to Pete Rittwage and his C64 Preservation Project. We in fact had been in touch for years and we were happy Pete shared the vision we had and decided to not let us have the fun on our own: "I am more than happy to help push technology forward. I knew the limitations of what I was doing with the old 1541 hardware and was excited to hear that work was being done on the 64 with Kryoflux. I was glad to fill a gap until more high-resolution disk imaging was available." While this is flattering, it would be an understatement to call Pete's work a gap filler - his NibTools are very much appreciated among the C64 community. Another helping hand came from Robert McIntyre who already had helped modifying 5.25" drives to allow for one-pass dumping of flippy disks.
The following months were spent on research and getting things done, which finally led to a few conclusions:
a. C64 preservation is still possible today, but results largely depend on media quality and storage.
b. About 90% of games can be imaged with a 1541, 95% can be imaged with KryoFlux and the last 5% can be imaged with KryoFlux as well, but representation will need a more sophisticated format like our own IPF.
c. Nearly all emulators are "broken" in regard to G64 image support. While some will go beyond the limit of 7928 bytes per track (which seems to be the maximum track size chosen by many programmers), some even don't support half tracks. This protection technique utilises the fact that the 1541 has a head designed for a 40 track drive, but features a stepping mechanism that can address 80 tracks. VICE, the most popular, has several flaws in the floppy support code which makes it impossible to use such images unaltered.
If you take the time to read Pete's pages (http://www.c64preservation.com/) you will find many details on how to modify or alter images to make them work in emulation. While some changes are needed because the 1541 alters data before handing it over to the host computer (which means this also happens with other devices that work directly with it) the other half of changes are needed to work around flaws present in certain emulators.
We decided it would not make much sense to release KryoFlux with capabilities that would go beyond those of the emulators around which is why we decided to also update VICE and give it extended G64 support to load many images properly without any user interaction. While Softpres' István Fábián worked on creating an intelligent conversion algorithm for DTC that would transform stream data into meaningful G64 representations, Robert focussed on exorcising VICE and fix/add the features needed to make the 1541 in VICE behave like the real device. To give the emulation the precision needed to also run the most advanced protection methods, the trio even delved into the schematics and created a logic model that was verified shortly after by Pete by writing special test files back to disk with modified versions of Nibtools and then comparing results. Luckily, the data was seen as predicted.
So, after many months of research and hard work, about 1,000 C64 games dumped, and many many emails later, we are proud to present:
1. DTC with enhanced G64 export. We already released a beta with very simple G64 support. Rated in percent, the preview published had a success rate of 40%, the one published today should be good for 85%. Please make sure to not toss your stream files (which are mandatory for generating G64 files) - you might need them to fix images that won't work when we release the next version. If you get an error telling you there was a problem converting to G64 - be sure there was and the image is bad. DTC will refuse to convert to G64 directly from a floppy disk. You must create STREAM files first, to avoid unnecessary stress applied to the ageing medium. Please read the manual (especially page 19 and 20) about how this new exciting feature works.
2. PREVIEW version of VICE with enhanced G64 support. This is our special gift to the community, and we're sure many users will appreciate it. You won't need a KryoFlux to benefit from it, many images that are floating around and needed to be fixed will now work right away. We'll hopefully be working with the VICE team to get our updates included in the official sources, but until that happens we'll continue to provide a second fork (W32 build as of today) on our site which will have extended G64 support. Please note that this preview does not yet enable half-track support, which will come in an update within the next month. We will also be releasing the source for this modified version at the same time. Please see the README file included with the builds for further limitations, this still is a PREVIEW version.
Attached is a picture of a game that for sure won't run on an unmodified version of VICE: "Defender Of The Crown" by Cinemaware. It features V-MAX! v2 protection and perform a precise density check on the disk as soon as the player goes raiding. This image will not run in the current official build of VICE. To give you a chance to try this new feature, the G64 for "Defender Of The Crown", courtesy of CW Holdings, Inc., is included with the VICE build on our website. The new build of VICE will also run many other G64 files now that did fail before. If you ever tried some of the early Rainbow Arts or Magic Bytes titles (so called BetaSkip protection by MWS), like Giana Sisters, Turrican or Blue Angel 69... all of these should work flawlessly now.
All of the above is available as of today. Just head over to http://www.kryoflux.com and grab the download of your choice. We'd love to hear your thoughts on this.
It's been a while since we said we'd not touch G64 as G64 was "bad", "not working" and "giving people a false impression about preserving things". While we stand firm that G64 is not the grail of a preservation format, we must apologize for being stubborn in regard to supporting it. Gladly many of you were stubborn, too, requesting G64 being supported, which finally led to the decision to do it right and correct things as needed.
We turned to Pete Rittwage and his C64 Preservation Project. We in fact had been in touch for years and we were happy Pete shared the vision we had and decided to not let us have the fun on our own: "I am more than happy to help push technology forward. I knew the limitations of what I was doing with the old 1541 hardware and was excited to hear that work was being done on the 64 with Kryoflux. I was glad to fill a gap until more high-resolution disk imaging was available." While this is flattering, it would be an understatement to call Pete's work a gap filler - his NibTools are very much appreciated among the C64 community. Another helping hand came from Robert McIntyre who already had helped modifying 5.25" drives to allow for one-pass dumping of flippy disks.
The following months were spent on research and getting things done, which finally led to a few conclusions:
a. C64 preservation is still possible today, but results largely depend on media quality and storage.
b. About 90% of games can be imaged with a 1541, 95% can be imaged with KryoFlux and the last 5% can be imaged with KryoFlux as well, but representation will need a more sophisticated format like our own IPF.
c. Nearly all emulators are "broken" in regard to G64 image support. While some will go beyond the limit of 7928 bytes per track (which seems to be the maximum track size chosen by many programmers), some even don't support half tracks. This protection technique utilises the fact that the 1541 has a head designed for a 40 track drive, but features a stepping mechanism that can address 80 tracks. VICE, the most popular, has several flaws in the floppy support code which makes it impossible to use such images unaltered.
If you take the time to read Pete's pages (http://www.c64preservation.com/) you will find many details on how to modify or alter images to make them work in emulation. While some changes are needed because the 1541 alters data before handing it over to the host computer (which means this also happens with other devices that work directly with it) the other half of changes are needed to work around flaws present in certain emulators.
We decided it would not make much sense to release KryoFlux with capabilities that would go beyond those of the emulators around which is why we decided to also update VICE and give it extended G64 support to load many images properly without any user interaction. While Softpres' István Fábián worked on creating an intelligent conversion algorithm for DTC that would transform stream data into meaningful G64 representations, Robert focussed on exorcising VICE and fix/add the features needed to make the 1541 in VICE behave like the real device. To give the emulation the precision needed to also run the most advanced protection methods, the trio even delved into the schematics and created a logic model that was verified shortly after by Pete by writing special test files back to disk with modified versions of Nibtools and then comparing results. Luckily, the data was seen as predicted.
So, after many months of research and hard work, about 1,000 C64 games dumped, and many many emails later, we are proud to present:
1. DTC with enhanced G64 export. We already released a beta with very simple G64 support. Rated in percent, the preview published had a success rate of 40%, the one published today should be good for 85%. Please make sure to not toss your stream files (which are mandatory for generating G64 files) - you might need them to fix images that won't work when we release the next version. If you get an error telling you there was a problem converting to G64 - be sure there was and the image is bad. DTC will refuse to convert to G64 directly from a floppy disk. You must create STREAM files first, to avoid unnecessary stress applied to the ageing medium. Please read the manual (especially page 19 and 20) about how this new exciting feature works.
2. PREVIEW version of VICE with enhanced G64 support. This is our special gift to the community, and we're sure many users will appreciate it. You won't need a KryoFlux to benefit from it, many images that are floating around and needed to be fixed will now work right away. We'll hopefully be working with the VICE team to get our updates included in the official sources, but until that happens we'll continue to provide a second fork (W32 build as of today) on our site which will have extended G64 support. Please note that this preview does not yet enable half-track support, which will come in an update within the next month. We will also be releasing the source for this modified version at the same time. Please see the README file included with the builds for further limitations, this still is a PREVIEW version.
Attached is a picture of a game that for sure won't run on an unmodified version of VICE: "Defender Of The Crown" by Cinemaware. It features V-MAX! v2 protection and perform a precise density check on the disk as soon as the player goes raiding. This image will not run in the current official build of VICE. To give you a chance to try this new feature, the G64 for "Defender Of The Crown", courtesy of CW Holdings, Inc., is included with the VICE build on our website. The new build of VICE will also run many other G64 files now that did fail before. If you ever tried some of the early Rainbow Arts or Magic Bytes titles (so called BetaSkip protection by MWS), like Giana Sisters, Turrican or Blue Angel 69... all of these should work flawlessly now.
All of the above is available as of today. Just head over to http://www.kryoflux.com and grab the download of your choice. We'd love to hear your thoughts on this.