Path: utzoo!utgpu!watmath!clyde!att!pacbell!ames!mailrus!cornell!uw-beaver!microsoft!w-colinp From: w-colinp@microsoft.UUCP (Colin Plumb) Newsgroups: comp.sys.amiga.tech Subject: Re: "IO Question" & "BUG IN AUDIO.DEVICE" Message-ID: <237@microsoft.UUCP> Date: 11 Jan 89 16:43:00 GMT References: <8901092219.AA05714@postgres.Berkeley.EDU> <3243@amiga.UUCP> Reply-To: w-colinp@microsoft.uucp (Colin Plumb) Organization: very little Lines: 23 bader+@andrew.cmu.edu (Miles Bader) wrote: > kodiak@amiga.UUCP (Robert R. Burns) writes: >> 2. DoIO will write IOF_QUICK to io_Flags, SendIO will clear io_Flags. We >> investigated changing these to only affect the IOB_QUICK bit itself. >> Unfortunately, some disk-based Commodore supplied devices counted on >> the fact that the other flags were clear, so changing the behavior of >> DoIO and SendIO would break old programs. You must therefore use >> BeginIO to access the flags for robust audio & trackdisk use. > > Surely it must be easy to fix commodore supplied programs in > conjunction with new os releases. Maybe you could change the behavior > in the next "lots of things break anyway" release... I must agree. As it is now, it's a wart, and fixing it is very little problem. Just fix the buggy code! If you absolutely can't fix the devices, but they are intended to be called through Dos, you can just fix Dos to always pass 0, and nobody will notice the shift of responsibility... except audio.device programmers. Or add two new entry points to Exec.library and make them DoIO and SendIO for 1.4 and beyond. A bit ugly to have the old entry points hanging around so long, but at a cost of about 20 bytes of memory, it's not very objectionable. -- -Colin (uunet!microsof!w-colinp)