Yahoo Groups archive

Casio CZ/ VZ/ FZ - Pro Series

Index last updated: 2026-04-28 22:42 UTC

Message

RE: [CZsynth] Re: Make your own Casio VZ/PG RAM card!!

2007-06-06 by Scott Nordlund

>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

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.