[net.micro.6809] Coco III and Level II OS9

rsanderson@watale.UUCP (Roger K. Sanderson P.Eng.) (09/18/86)

In article <1102@ihwpt.UUCP> knudsen@ihwpt.UUCP (mike knudsen) writes:
>
>How well does Level II provide for playing games with the
>memory mapping?  Are such tricks supported, or are Level II
>users just supposed to enjoy the one larger (almost 64K) space?
>Will we have to "poke" the GIME chip's DAT registers "by hand?"
>
Don't quote me, but I believe Level II has syscalls for swapping around the
memory.
>
>PS: Is the Coco III keyboard truly interrupt-driven, or does it
>still go dead while the disk is transferring data?
>It's hard to call Coco OS9 "multi-tasking" until this restriction
>goes away.
> 
It's not the keyboard that is the problem, it's the disk controller.
The disk controllers (all of them, clones etc.) use the 6809's HALT
line to synchronize data transfers. This means that the CPU is  halted
during the time that it is waiting for the next byte from the controller.
This makes it rather hard to run any other tasks while the disk is transfering.
OS9 also turns off interupts during the actual disk transfer. That is why
the keyboard goes dead, since it is scanned on clock ticks.
(Thats also why the clock loses time more when you do more disk accesses.)
The fix, to make both Level I and II work better, is a real DMA disk interface.
Unfortunatly that would probably lead to compatability problems between
the old and new interfaces. (IE the DISK BASIC ROM's probably wouldn't work
with a new controller.) OS9 is still multitasking, its just that one task
(the disk driver) hogs the buss and preempts all the other tasks.


-- 

               Roger Sanderson P.Eng.
               Electrical Engineering Dept.
               University of Waterloo
	       Waterloo Ontario Canada
               N2L 5E6
               519-885-2122 Ex.6184

               {decvax,allegra,ihnp4}!watmath!watale!rsanderson