Konami SCC Mapper implementation

صفحة 1/3
| 2 | 3

بواسطة Erikie

Champion (324)

صورة Erikie

18-03-2009, 10:18

I am trying to implement an SCC mapper so that I don't need to use real SCC chips for the SD interface from sharksym. This will save some roms in the future Smile
The basis for this mapper is Jipes schematic posted at HansO site
It works fine for some roms but not for all. I can get Space Manbow to work but not Metal Gear 2 or even worse the MMC bios rom does not work either.
As an SCC mapper looks at address 5000, 7000, 9000 and b000
A15 and A13 are used to select register address in the ls670 and A11 and /A12 are used to enable the write to the ls670. D0-D5 are used for bank selecting. In theory it looks right but my msx thinks otherwise. Am I missing something?

I have a more thorough design now ready to test tonight to see if that works better.
It only enables the write to the ls670 when data is written to addresses:
5000 - 57ff, 7000 - 77ff, 9000 - 97ff and b000 - b7ff

Can someone help me in implementing a full working SCC mapper so I can make cheap SD interfaces for everyone interested in this device?

Login أوregister لوضع تعليقاتك

بواسطة mth

Champion (507)

صورة mth

18-03-2009, 11:24

Metal Gear 2 has a 512K ROM, which means it uses 64 8K banks, so the highest bank number is 0x3F. This is also the bank that contains the SCC registers. So it is important that SCC register writes do not trigger a bank switch. Restricting the address range like you wrote is likely to solve the issue.

You can use the openMSX implementation of the SCC mapper as a reference. It also triggers on 0x5000-0x57FF etc (see line 93).

بواسطة Erikie

Champion (324)

صورة Erikie

18-03-2009, 15:45

I found a document on HansO site that states that bank switching can be done by also writing a value to 4000, 6000, 8000 and a000 for scc mapper. Is this true or is this document too old Smile
msx.retro8bits.com/msxdocs/sccmem.txt

بواسطة Guillian

Prophet (3516)

صورة Guillian

18-03-2009, 16:14

That is not right.

بواسطة Manuel

Ascended (19273)

صورة Manuel

18-03-2009, 18:55

This is the most accurate info available: http://bifi.msxnet.org/msxnet/tech/megaroms.html#konamiscc

بواسطة Erikie

Champion (324)

صورة Erikie

18-03-2009, 21:02

I hate this, made a restriction on the A15-A11 so it only accept mapper addresses and still no luck.
128 Mb and 256 Mb works fine but the 512 Mb roms do not work in this mapper.
Is there any difference between 256 and 512 mbit otherwise then adding the D5 for ma18?
I also used romdump from the mmc utils directory to compare the dump from mgear2 with the original file I flashed the rom with and they are not identical
Does someone have a schematic from a working mapper for 512 Kb roms? Preferrably for scc mapping ...

بواسطة cax

Prophet (3740)

صورة cax

18-03-2009, 22:29

1) Where the original and fetched roms differ ?
2) if you flash the AT chip correctly (externally), will mg2 start ?

بواسطة Manuel

Ascended (19273)

صورة Manuel

18-03-2009, 23:42

512Mb roms! Wink

بواسطة Guillian

Prophet (3516)

صورة Guillian

18-03-2009, 23:45

Try to make a simple test to check if the mapper is working fine. Just write #00 and #20 to a mapper address to check if the banks are changed correctly. If bank #00 and #20 are the same, then there is a problem with MA18.
What are the differences between the original ROM and the flashed one?

بواسطة Erikie

Champion (324)

صورة Erikie

19-03-2009, 09:22

There are a lot of differences. Too much to list.
I will write a simple program to select all banks and read the first couple of bytes of each bank. That should give some insight in the problem I hope.

بواسطة mth

Champion (507)

صورة mth

19-03-2009, 13:22

Are there also differences in bank 0? If so, maybe the mapper is not the problem, but some of the address lines are mixed up.

صفحة 1/3
| 2 | 3