plasmo wrote:
During serial bootstrap, CPLD is a DMA device taking over 6502 bus; all these signals need to be tri-statable when 6502 resumes control.
Is 4K ROM enough for a decent monitor? Does ROM typically swapped out and replaced with RAM? I don't have ROM, but if ROM are typically swapped out and replaced with RAM, then I also need to swap out the boot-able RAM page and replace with another RAM page, so I don't have to serially bootstrap every time. I can memory map 0xEF00 to 0xEFFF to I/O devices; below that is nearly 60K of RAM.
The same serial port for bootstrap function is also normally a simple serial port with 2 memory locations (data, status). It is hardwired to 115200, N81 so there is no configuration/control registers. Additional I/O expansion is possible through the RC2014 connector. Is there a well-known disk OS (like CP/M) that interface to compact flash? Is banked memory normally done in the 6502 world? I imagine a real-time clock is a good thing to have even if it is just a DS1302 with bit-bang interface.
Bill
The choice is yours...
4K? Woz did his original monitor in under 256 bytes... (google WozMon) My little OS stub is currently 2.5K but it has a lot of text and code to emulate enough of a BBC Micro to make BBC Basic work. What do you want out of a "monitor"?
ROM swapped for RAM - some systems can do that, some simply copy ROM into RAM (typically RAM can be faster if you need to generate wait states for old/slow ROM) However you don't have ROM, so not sur why you're even worrying about it.
There is a 6502 CP/M lookalike OS - although I don't think anyone actually uses it. See:
http://www.z80.eu/dos65.htmlBanked memory? Sure - google for BBC Micro + sideways RAM/ROM. RTC? If you need it... The BBC has 32K RAM, then 16K of ROM which was stacked up to 8 ROMs high, so you could switch in any one of those ROMs - so Basic would reside in one, the disk filing system in another, wordprocessor in the next, Logo, etc. and so on. The Operating System (in the top 16K minus some for hardware IO) managed the ROMs and communication between them. Latterly RAM boards came on the scene and you could load images from disk, and the last revision (the BBC Master) had side-ways RAM as standard.
In the laste 70's/early 80's, there were also plug-in cards for the Apple II to give more RAM and the (ill-fated) Apple /// also had banked RAM, so it's not a new concept.
Soooooo.... I think you may need to sit down and work out what you really want and what you're going to do with it... I' d suggest starting with as simple a system as possible. Run some code on it (ie. get that serial bootloader going) then make plans...
FWIW: My Ruby 6502 system is so-called because it's a bit of a nostalgia trip - I first wrote code for the 6502 40 years ago and back then I built several small 6502 SBC type systems for industrial control, so it's a bit of nostalgia for me, although I'm looking at retro style hardware but with todays knowledge re. software and applications.. And while I have something that might resemble a "monitor" it's really just a debugging aid and will be replaced by a more operating system-ey thing when I get more time.
Cheers,
-Gordon
_________________
--
Gordon Henderson.
See my
Ruby 6502 and 65816 SBC projects here:
https://projects.drogon.net/ruby/