[Coco] Desired RESET behavior

Barry Nelson barry.nelson at amobiledevice.com
Sat Jan 30 00:15:12 EST 2016


Ahem!

Don't you DARE change the default register layout!

> RETRO Innovations go4retro at go4retro.com 
> Fri Jan 29 23:02:12 EST 2016
> 
> On 1/28/2016 11:22 PM, Mark McDougall wrote:
> > On 29/01/2016 3:05 PM, RETRO Innovations wrote:
> >
> >> I am inclined to do 8kB.
> >> Working on it it.  Looks like it is just a few macrocells, (10-15), so
> >> should be OK
> >
> > Awesome!!! ETA on finish date? ;P
> Well, the board is done and working.  I am *almost" done on the SPI 
> piece you needed, but trying to determine where to put it in the memory map.
> 
> Thinking about register layout now.
> 
> Right now, I have:
> 
> $ff58: WXXX10AL - W=write FLASH, XXX=reserved, 1=switch 1 status, 0 = 
> switch 0 status, A = autostart, L = LED
> $ff59: lo byte of 11 bit bank register
> $ff5a: hi 3 bits of bank register
> $ff5b: ID( $11) (Manufacturer = 1, Device = 1)
> 
> For the moment I have replaced $ff5b wth the SPI R/W, but I really want 
> to keep the ID (and put a version on there as well.  I have 3 options:
> 
> 1): Cloud-9 emulation:
> 
> $ff58 --- nothing, just like Cloud-9 SuperIDE and Cloud-9 Flash
> $ff59: WNXXXXBB: SuperIDE Flash Bank register - W = write ROM, N= Native 
> registers, BB = 2 bit bank value.  Only the bank register values are 
> returned on READ
> 
> I *think* the write to ROM flasg is in bit 7.  I seem to have read that 
> somewhere, but can't find it now.
> 
> And if N is high:
> 
> $ff5a: WXXX10AL - W=write FLASH, XXX=reserved, 1=switch 1 status, 0 = 
> switch 0 status, A = autostart, L = LED
> $ff5b: lo byte of 11 bit bank register
> $ff5c: hi 3 bits of bank register
> $ff5d: SPI
> $ff5e: ID( $11) (Manufacturer = 1, Device = 1)
> $ff5f: VERSION( $10) 1.0
> 
> Incomplete emulation:
> 
> $ff58: WXXX10AL - W=write FLASH, XXX=reserved, 1=switch 1 status, 0 = 
> switch 0 status, A = autostart, L = LED
> $ff59: lo byte of 11 bit bank register
> $ff5a: hi 3 bits of bank register
> $ff5b: SPI
> $ff5c: ID( $11) (Manufacturer = 1, Device = 1)
> $ff5d: VERSION( $10) 1.0
> 
> Or, a 4 register version complete emulation:
> 
> $ff58: Part of the IDE registers on SuperIDE, I assume nothing on the 
> Cloud-9 flash cart.
> $ff59: WNXXXXBB: SuperIDE Flash Bank register - W = write ROM, N= Native 
> registers, BB = 2 bit bank value
> 
> And if N is high:
> 
> $ff58: WEIX10AL - W=write FLASH, E = go back to emulation, I = ID, 
> X=reserved, 1=switch 1 status, 0 = switch 0 status, A = autostart, L = LED
> $ff59: lo byte of 11 bit bank register on read and write
> $ff5a: hi 3 bits of bank register on read and write
> $ff5b: SPI
> 
> If I = 1:
> 
> $ff58: WEIX10AL - W=write FLASH, E = go back to emulation, E = ID, 
> X=reserved, 1=switch 1 status, 0 = switch 0 status, A = autostart, L = LED
> $ff59: lo byte of 11 bit bank register on write, ID on read.
> $ff5a: hi 3 bits of bank register on write, VERSION on read
> $ff5b: SPI
> 
> I rather like the first one, but I know the $ffxx space is very crowded.
> 
> I also need to see how the CocoSDC does it's FLASH, so see how 
> compatible I can be.
> 
> 
> 
> 
> Jim



More information about the Coco mailing list