[Coco] Thought

Benoit Bleau benoit.bleau at verizon.net
Fri Sep 24 13:54:24 EDT 2004


Actually, IIRC, I think it's goes like this:

Read sector:
	set NMI return address to instruction after loop
	mask IRQ and FIRQ
	send read 'Single-Record' command to floppy controller
	wait until byte received
Loop: read byte
	Send an fdc command to get next byte 
!HALT done by controller. CPU is stopped until data available.
	Goto loop


This repeats until there are no more bytes to read. The controller will then
send an NMI when the last byte is read. At that point IRQ and FIRQ are
unmasked. The write loop is basically the same.


-Ben

The loop is exited by an NMI sent by the

> -----Original Message-----
> From: coco-bounces at maltedmedia.com [mailto:coco-bounces at maltedmedia.com]
> On Behalf Of Neil Morrison
> Sent: Friday, September 24, 2004 1:24 PM
> To: msmcdoug at optushome.com.au; CoCoList for Color Computer Enthusiasts
> Subject: Re: [Coco] Thought
> 
> 
> ----- Original Message -----
> From: "Mark McDougall" <msmcdoug at optushome.com.au>
> 
> > I'm not sure how the CoCo drive works - I'm guessing from your comments
> it
> > doesn't interrupt the 6809 when data is ready?!?
> 
> IIRC the drive HALTs the processor until the buffer is transferred. That's
> why the OS-9 clock gets off time when you do disk I/O.
> 
> NM
> 
> 
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco




More information about the Coco mailing list