] 
] My question is: why the data behavior is symmetric (pages even and pages
] odd) and the block-switching isn't, I mean, why in Konami Megaroms the
] block number can't be selected via pages 0 and 3?
This mystery can be solved quite simply if you look at the specifications of 
the MSX slot. In a cartridge slot, you have three signals, just for the 
convenience of the hardware designer:
CS1: This signal becomes active if the Z80 addresses memory in page 1
CS2: This signal becomes active if the Z80 addresses memory in page 2
CS12: This signal becomes active if the Z80 addresses memory in page 1 or 2

If you design a game cartridge (which is supposed to start at 0x4000) with a 
ROM of 16 kB, you have two options. The first option is that you ignore the 
CS1, CS2 and CS12 signals. In that case, your ROM will be visible in all four 
pages. The other option is that you use CS1 to select your rom only if the 
Z80 addresses page 1. In that case your rom is only visible in page 1.

If you design a basic cartridge (which is supposed to start at 0x8000) with a 
ROM of 16 kB, you have two options. The first option is that you ignore the 
CS1, CS2 and CS12 signals. In that case, your ROM will be visible in all four 
pages. The other option is that you use CS2 to select your rom only if the 
Z80 addresses page 2. In that case your rom is only visible in page 2.

If you design a cartridge of 32kB, you don't have much choice anymore if you 
want to be sure that the cartridge starts at address 0x4000. The same if you 
build a megarom. For both cartridge types you simply have to use the CS12 
signal, to make your cartridge only visible in page 1 and page 2.  Ofcourse, 
you might decide to ignore the CS12 signal. In that case, your cartridge will 
be 'mirrored' as follows: Page 1 to 3 and Page 2 to 4.

Now you may wonder what is the advantage of ignoring the CSx signals. The 
advantage is very simple: it is cheaper as you need less logical circuits in 
your cartridge. You may also wonder what is the advantage of using the CSx 
signals: I haven't got a clue. Though, when you are designing a megarom chip 
anyway, you can give it a pin to connect it to the CS12 signal. Then it won't 
cost you any extra penny but you do have a 'cleaner' design.


As you might understand, the cartridges which are 'mirrored' all over the 
place simply ignore the CSx signals. While the megarom cartridges, which can 
only be addressed in page 1 and 2, use the CS12 signal.

Funny to realize that all these amazing discoveries are well documented. We 
should definetely get a good site up and running with all technical 
documentation available about the MSX. It will save a lot of people a lot of 
time with tracing and disassembling the MSX ROMS.


Kind regards,
Alex Wulms

-- 
Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever
See my homepage for info on the  *** XSA *** format
http://www.inter.nl.net/users/A.P.Wulms



****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****

Reply via email to