BigEd wrote:
BTW Jac I'm quite happy with the Propeller idea - it is one of several approaches to implement magic glue. One needs an EEPROM with the code in it, which is the usual bootstrapping problem. (Or can the Propeller be driven by serial port, upload and then program the EEPROM?)
I know you like the Propeddle, I posted my previous message for the others who didn't "see the light" yet
Yes, the Propeller can be programmed via serial port regardless of what's in the EEPROM so it's possible to get a Propeller-based system such as Propeddle to boot without the need to pre-program the EEPROM.
The built-in bootloader of the Propeller (which is in mask ROM and cannot be changed) tries booting from the serial port first. If there's nothing on the serial port within a short timeout, it downloads the code from a serial EEPROM via I2C. The code that gets downloaded from the EEPROM into the Propeller is initially up to 32KB but it's easy to install a bigger EEPROM instead of the standard 24C256. Many Propeller-based computers use a 24C512 to provide 32K extra non-volatile storage; the difference in price is negligible even in low quantities.
Quote:
(My SD card idea gets around the bootstrapping by assuming that everyone has a laptop with an SDcard slot - not quite true of course. The friendly 6502.org person who sells kits of parts can of course sell EPROMs, SDcards or EEPROMS in pre-programmed states.)
With all due respect, an SD card really only makes it easier to download code from a PC if you can't (or don't want to) deal with wires between the 6502 system and the PC/Mac/Whatever. It doesn't get around the problem that you still need a ROM (or something that behaves like a ROM) to boot a 6502 system.
Also, while you're trying to debug the firmware of your 6502 system, getting it to download its firmware from SD card would not be my first choice. Taking an SD card out of one system and mounting it in another one can be quite a hassle when you have to do it a couple dozen times to find out why your code isn't working. Especially when you want to be careful and turn the 6502 system's power off while the card isn't in the reader, and use the proper commands to detach it from the Windows / MacOS system without corrupting data. You could say that SD cards have excellent bandwidth but awful ping times.
A serial port to a host system is much easier for debugging and (in case of the Propeddle) can also be used to make changes to the firmware as long as the firmware itself isn't powerful enough to change itself. And it can be used as an I/O device if you don't feel like setting up (or buying) a keyboard and video device.
If it's really such a big deal that there's a "magic chip" such as the Propeller on board, maybe we should consider using some hard-wired glue logic that connects an RS-232 serial port straight to some serial-to-parallel shift registers that control the EEPROM to make it possible to use a serial port to flash a program into a clean EEPROM. Oh wait... oops... now you built an EEPROM burner with a 6502 attached, and you still have to write the software to do it from the host.
===Jac
PS: Bootstrapping from SD card straight to RAM via an FPGA only moves the problem: users would have to get a pre-programmed FPGA or a pre-programmed EEPROM that gets loaded to the FPGA (not sure how that works, sorry)