Re: Switchless ROMs

From: silverdr_at_wfmh.org.pl
Date: Thu, 29 Dec 2016 18:20:30 +0100
Message-Id: <78167377-E006-4DA2-8754-8B9B68391D9E@wfmh.org.pl>
> On 2016-12-29, at 14:30, David Wood <jbevren@gmail.com> wrote:
> 
> All are very good points.  I even momentarily considered counting any transition on any address bit but that would be triggered by DMA refresh. What an interesting challenge!
> 
> Pardon my ignorance if this has been brought up, but have we considered using a method similar to a no-slot clock chip?  They use a sort of serial interface where two address lines provide a clock and data in, and a data bit provides a data out.  /cs enables the serial interface state machine so that the processor can run code outside of the rom without resetting the overall machine.
> 
> As I remember, the smartwatch IC uses a 64-bit key that must be shifted in to enable the device, after which it's basically a SPI style I/O device.  If we're not interested in data feedback for just changing banks up, it would be possible to do this with just a few input lines (/cs, a2, a6 or some other arbitrary address bits).
> 
> With that configuration, the bank could be switched by clocking the key in, and then the new bank address.  At that point the state machine would go back offline.  The key and address bits would be carefully chosen to make the chance of spurious activation incredibly small.

As I understand, that's basically the "magic sequence" approach. It should work but is it really worth it to do it this way? What I bugged Michau for (I didn't have any PLD experience at that time) and took on my bench recently was inspired in a way by DolphinDOS KERNAL[*]:

- upon cold start the hardware presents its own KERNAL, which in turn checks for a key combination being pressed
- if the key combination was not found it enables the last stored KERNAL and jumps off its reset vector
- if the key combination was found it presents the menu to choose KERNAL [**]
- when chosen it stores the choice, enables the chosen KERNAL and jumps off its reset vector

The _good_ part is that only cold start brings temporary incompatibility. No switches are needed, no fly-wires, etc.

* - which uses various key combinations upon reset to activate non-standard functionalities

** - in case of my adapters it is not only KERNAL
-- 
SD!


       Message was sent through the cbm-hackers mailing list
Received on 2016-12-29 18:00:02

Archive generated by hypermail 2.2.0.