Sorry, in your earlier thread, I promised to write up some of my work, but there have been rather too many other commitments and distractions in the intervening period. Gary's (Ramtop's) response is useful, but it is worth pointing out that although you don't get access to A14 and A15, and with the intention that the cartridge is really meant to support access to sideways memory, the ability to handle memory accesses to pages &FC and &FD, plus the paging register at &FC73 means that there is a lot of flexibility in what kind of memory or storage you can provide within these apparently limited regions.I've seen that breakout board before and that was definitely where I was planning to start as it looks like it will make breadboarding with the cartridge interface easy. I've read the descriptions of what the pins are, and while I understand some of them (for example data and address pins make sense to me and I feel like I understand what those are for) what I don't quite get is how you figure out when you can read or write from/to these, and other stuff like what memory addresses can be used, and whether I can do things like "overriding" memory locations that already exist.
The Electron did get a sound expansion cartridge, and a speech cartridge would probably be implemented along the same lines, with dedicated control registers in page &FC, most likely, and then a ROM providing the necessary OS support to handle sound commands in a modified fashion. The ROM could conceivably be provided by a Pico doing the necessary logic to operate on the processor buses. Various projects have been done to this effect with microcontrollers on the Electron.
The cartridge interface was also used to provide second processor and 1MHz bus capabilities, so those options are always there in case you wish to pursue them in cartridge form. And they serve as further reminders that cartridges are not just for ROMs.I know it's possible to do all this kind of stuff on a second processor but that's actually less interesting to me, as it's just using the Beeb as an I/O terminal, I'm more interested in being able to extend the native system's capabilities.
Statistics: Posted by paulb — Sat Dec 21, 2024 7:01 pm