From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2002-11-19 23:55:21
On Tue, Nov 19, 2002 at 06:57:06PM +0100, Marc 'BlackJack' Rintsch wrote: > > * Because of limitations of the CBM floppies, you can open a file > > either for reading or for writing, but not for both. Similar, append > > mode is not available. > > The 1541 can open files for appending data, what about other CBM drives? The information I had was this: Append mode (the 'a' flag) is available only for sequential files. So I left it out, because I thought this was too limiting. However, Stefan Haubenthal bugged me because of the append mode, so I looked a bit more into it and found that user ('U') and program ('P') files are actually sequential files, so append mode should work, even if this is not explicitly specified in the manual (BTW: the Commodore manuals are pretty bad in most respects). As a result, append mode is already implemented and seems to work fine. I didn't try other drives than the 1541, but at least the manual for the 1571 states that append mode is possible. I expect it to work with all drives newer than the 1541. BTW, there's a bug in VICE, at least in version 1.9: When not using true drive emulation, append mode will not work. Since it works in true drive emulation, I assume that this is a VICE problem. I've also tested other platforms: The file routines work without problems on the C64, C128 and Plus/4. The current linker config for the VIC20 was too limited for my test program (3.5K), but I do not expect problems on the VC20 either. The biggest problem seems to be the PET because many functions available in the kernal jump table for later machines do not exist on this platform. I'm working on it... Regards Uz -- Ullrich von Bassewitz uz_at_musoftware.de ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo_at_musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2002-11-19 23:55:28 CET