>In any case, I don't think the VZ sees any difference between a ROM >and a RAM, except that it will fail to write to a ROM because the >ROM's write line is not connected (and wouldn't work if it was, >anyway.). This being the case, using a larger RAM chip will give you >an extra bank WITHOUT DIP switch selectors for extra address lines, >because you can use RA15, which is disconnected on the RAM card, but >is utilised on the ROM, being 2x larger than the RAM. For even more >banks, you will need DIP switch selectors though. This may be the case, and I notice on mine that it does appear to try to write to the ROM card before giving an error message. But I was thinking that this might not be a great idea- the ROM chip doesn't have the WE pin, and what are I/O pins on a RAM chip are just outputs. I would assume that the VZ just blindly tries to write the data by asserting WE and then sending the data (if it hasn't got any way to tell), but on a ROM chip this results in output connected to output, basically a short circuit. There are 1K resistors on the I/O lines, but it still seems like it's not the best way to do things, and I think any decently-engineered product wouldn't do that. But regardless.. how, then, would it give an error message after trying to write to a ROM card? If the VZ doesn't differentiate between RAM and ROM cards, there's no way to reliably detect a write error. Even comparing the data on the card with the internal VZ RAM after the write isn't a foolproof way to do it. However, now that I think about it a little more, there are ways to detect the difference in software. If there's some unused portion of the memory space, it's easy to tell if the highest address bit actually does something: If ROM card address 0x0000 (bank 1) contains the value "10101010" and address 0x4000 (bank 2) contains "01010101", 0x0000 XOR 0x4000 = "11111111". On a RAM card, it would simply refer to the same byte, so 0x0000 XOR 0x4000 = "00000000" (regardless of what data is present). Whether the VZ does it on start up or just before attempting to write is a different issue, but it would thwart the 2-bank RAM card idea. At any rate, if a RAM card indicates CARD (1) and CARD (2), this would confirm that the highest address bit is being used, just not connected to anything, and that RAM and ROM cards are indeed detected the same, at least on startup (and thus a 2-bank RAM card can probably be used, unless it detects before attempting to write). _________________________________________________________________ Get a preview of Live Earth, the hottest event this summer - only on MSN http://liveearth.msn.com?source=msntaglineliveearthhm
Message
RE: [CZsynth] Re: Make your own Casio VZ/PG RAM card!!
2007-06-06 by Scott Nordlund
Attachments
- No local attachments were found for this message.