[Coco] Printing from Disk Extended Color Basic (via Drivewire)

Robert Gault robert.gault at att.net
Fri Dec 23 15:18:40 EST 2016

Arthur Flexser wrote:
> On Fri, Dec 23, 2016 at 8:46 AM, Robert Gault <robert.gault at att.net> wrote:
>> Arthur Flexser wrote:
>>> Robert, it is true that Basic resets the value in $6F to zero when screen
>>> output (like printing OK) is required.  But I'm reasonably sure (though
>>> it's been a long time) that if you include the DIR command on the same
>>> line
>>> as a poke to $6F, the value will remain throughout the execution of the
>>> DIR.
>>> In fact, you could extend the command with POKE&H6F,&HFE:DIR:PRINT
>>> FREE(0);" Free grans" to cause the amount of free space left on the disk
>>> to
>>> print out below the directory.
>>> Art
>> I tried that with my original ml code and it did not work as the Coco
>> froze per the OP's email. It failed for LLIST and also PRINT #-2. It did
>> work with VCC using its own printer routines and probably would work with a
>> Coco and attached printer.
>> Robert
> Perhaps it would work if you poked the printer routine to knock out the
> check for whether the printer is ready that is done before each character
> is printed?  Or, are you bypassing the original print routine entirely?
> Art


I place at $A2BF (start of the line printer code) a JMP Main. There is also at 
$A30A (print to screen) a JMP TstChg so that I flush the DW4 print buffer if 
The entire ROM printer routine is bypassed.

As an update, I have been able to alter my code so that the DW HDBDOS ROM is not 
required. You can write to Drivewire with a standard disk ROM.
Of some interest, I had to set the Coco clock to the fast rate $FFD9 before 
sending to DW4 and back to slow $FFD8 after flushing the DW4 buffer.


More information about the Coco mailing list