[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Carte Blanche arrives!
On Sep 25, 5:54 pm, Alex Freed <alex_n...@mirrow.com> wrote:
> Nick Westgate wrote:
> > On Sep 25, 2:37 pm, "Michael J. Mahon" <mjma...@aol.com> wrote:
> >> Would it be possible to just hold off card initialization for a
> >> few more milliseconds, after voltages have stabilized?
>
> This is exactly what Steve did as a retrofit when it became apparent
> that the CB doesn't always initialize with less than perfect power
> supplies - added a cap that delays the initialization till hopefully the
> power is stable. But I'm sure you can find a power supply that takes
> even longer to stabilize.
>
>
>
> > I presume this isn't ideal because a bootable card has to identify
> > itself as such in its ROM when the RESET handler comes a-looking, and
> > whether CB is a bootable card (or even has a ROM) isn't determined
> > until the FPGA is loaded.
>
> > No doubt there is a more convoluted solution ...
>
> We'll have to live with it for now. If there is ever another rev we can
> use the experience to improve the design. Currently you just have to do
> a ctrl-reset after a power-up.
> My personal preferred solution for the next rev would be to add a $1.5
> tiny AVR controller that would hold Apple in reset at power-up,
> initialize the FPGA and release the reset. It would also allow
> reprogramming of the EEPROM even if the FPGA is not initialized.
I havn't looked at the schematic yet as I was waiting for the sources
to be released (and some time to clear other priorities) before having
a looksee.
I did notice this issue though during initial testing last weekend and
figured it could be worked around by placing an open-collector
inverter against whatever output is driving the ready state LED:
simply have the inverters open collector output hold reset low until
the FPGA signals it's ready on that line, and when the inverter
changes state /RESET will again be pulled high by the Apple II.
I don't know what pins are exported to the two I/O expansion planes on
the CB yet, but it might be possible to put this on without a hardware
mod or include it in up and coming expansion boards ?
I actually think this is a sublime little bit of deja-vu. The original
Apple II motherboards did not include a power-up reset, so that
functionality had to be added to the Disk ][ controller such that the
autostart ROM would, well, autostart. There's something really
symmetrical about history repeating itself here :-D
> This prompts me to remind all the new owners of the CB that right now
> you can only re-flash the EEPROM if the current configuration is valid.
> If anything happens during re-flashing you can only restore the
> functionality via a JTAG interface. There is some error checking done -
> CRC is checked on every MMC/SD block and programmed data is verified but
> neither reading MMC nor writing flash EEPROM ever failed in my tests. If
> it works it always works. The problem is that it can instead ALWAYS
> FAIL. If there is any error in the configuration file written to the
> MMC/SD.
> It only works if a file is written to a NEW card because then it is
> written to contiguous blocks. If a file is deleted and written again,
> all bets are off. So only re-flash if you absolutely have to and have
> JTAG handy if things go wrong.
> Also keep in mind that re-flashing only works with MY configuration
> loaded or one with equivalent functionality. If you want to synthesize
> your own configurations having a JTAG cable is a must.
Will let you know how this goes when I get the time. I'll try out the
soft Z-80 on my dev edition card. Any idea when the sources for the
designs will be available for download ?
Thanks,
Matt