[Coco] 6309 microprocessor project 01-16-2004

John Collyer johncollyer at zoominternet.net
Sat Jan 17 08:14:27 EST 2004


Yea, your probably right about moving the 8k blocks
of memory being to slow for OS-9 Level 2.  My
first scheme did it the way you suggested but I
did not like having to do the extra work inside
of getbyte and putbyte of finding the 8K offset
from the [byte at address].  All I had to do was
shift the [byte at address] and I would have a
8K offset instead of a 64K offset, but as I
said that will only permit the special opcodes
to work on 8K boundaries.  That is sort of the
way these worked in the original emulator anyway.

John Collyer

----- Original Message ----- 
From: "Roger Taylor" <rtaylor at bayou.com>
To: "CoCoList for Color Computer Enthusiasts" <coco at maltedmedia.com>
Sent: Friday, January 16, 2004 11:42 PM
Subject: Re: [Coco] 6309 microprocessor project 01-16-2004


> At 05:26 PM 1/16/2004 -0600, you wrote:
> 
> >For RAM access:
> >
> >64k CPU address= is naturally $0000-$FFFF
> >task#= bit 0 of 65425, write only
> >block# = int((64k CPU address) / 8192)
> >offset= (64k CPU address) modulas 8192
> >address= [(65448+task#*8)+block#*8192+offset
> 
> 
> something happened to my example... the right bracket got deleted somehow
> 
> It should be:
> 
> >address= [(65448+task#*8)+block#]*8192+offset
> 
> the brackets mean "the 8-bit value at"
> 
> So [65456] would mean the value at address 65456.
> 
> 
> ----------
> Roger Taylor
> 
> 
> 
> 
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
> 



More information about the Coco mailing list