Cartridge bigger than 32Mbits ?

Ask anything your want about the 32X Mushroom programming.

Moderator: BigEvilCorporation

ob1
Very interested
Posts: 468
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Cartridge bigger than 32Mbits ?

Post by ob1 »

The 32X Hardware Manual states, in 3.1, ROM Access when using the 32X,
The MEGA Drive has a bank set register (A1 30F1h - A1 30FFh odd numbered addresses) for coping with a cartridge ROM that exceeeds 32Mbits. The RV bit should be set to "1" beforehand when accessing here.
So, does a 32x cartridge be bigger than 32MBits ? Up to how much ? How to access it ?
Fonzie
Genny lover
Posts: 323
Joined: Tue Aug 29, 2006 11:17 am
Contact:

Post by Fonzie »

I saw (by disassembling the SRAM of one 32x game, was NFL maybe?) that they were a second ChipSelect...
If it is confirmed, it could mean that the 32x can access 2*4MB instead of 4MB with mininal hardware added in the cartridge.
The RV bit should be set to "1" beforehand when accessing here.
The RV bit seems only for use when you want to do a DMA from cartridge to VRAM... It halt the 32x and get the mapping back to original state?
ob1
Very interested
Posts: 468
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 »

ob1
Very interested
Posts: 468
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 »

Sur devster :
yea, any cartridge can be bigger than 32mbits, but only through external bankswitching. a game rom can also allocate itself to $000000-$7FFFFF, but i never seen any carts that do this, nor do i think it'll work on genesis systems released after the model 2.

any read/write to $A13000 - $A130FF pulses the /TIME signal on the cartridge port -> handy for external bankswitching hardware
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef »

ob1 wrote:Sur devster :
yea, any cartridge can be bigger than 32mbits, but only through external bankswitching. a game rom can also allocate itself to $000000-$7FFFFF, but i never seen any carts that do this, nor do i think it'll work on genesis systems released after the model 2.

any read/write to $A13000 - $A130FF pulses the /TIME signal on the cartridge port -> handy for external bankswitching hardware
As far i know only one official game this bankswitch method : Super Street Fighter 2. It access A130F1 to A130FF to reprogram rom banking. I guess it work exactly in the same way for 32X as 32X rom are exactly the same as Genesis rom
ob1
Very interested
Posts: 468
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 »

Bart Trzynadlowski made a document on it :
http://www.trzy.org/files/ssf2.txt
Fonzie
Genny lover
Posts: 323
Joined: Tue Aug 29, 2006 11:17 am
Contact:

Post by Fonzie »

But does setting RV bit temporary reset the megadrive mapping to its original state while the 32x continue to run?
It is why i'm understanding by reading the doc... or i'm misunderstooding?
SONIC3D
Newbie
Posts: 9
Joined: Fri Dec 28, 2007 6:05 am
Location: Shanghai

Post by SONIC3D »

Stef wrote:
ob1 wrote:Sur devster :
yea, any cartridge can be bigger than 32mbits, but only through external bankswitching. a game rom can also allocate itself to $000000-$7FFFFF, but i never seen any carts that do this, nor do i think it'll work on genesis systems released after the model 2.

any read/write to $A13000 - $A130FF pulses the /TIME signal on the cartridge port -> handy for external bankswitching hardware
As far i know only one official game this bankswitch method : Super Street Fighter 2. It access A130F1 to A130FF to reprogram rom banking. I guess it work exactly in the same way for 32X as 32X rom are exactly the same as Genesis rom
aother game title using this rom banking feature is Phantasy Star 4.Bank switch ROM/SRAM by writing value at $A130F1.....

Anothor game maybe megaman
HardWareMan
Very interested
Posts: 753
Joined: Sat Dec 15, 2007 7:49 am

Post by HardWareMan »

SONIC3D wrote:aother game title using this rom banking feature is Phantasy Star 4.Bank switch ROM/SRAM by writing value at $A130F1....
I have the "Beyond Oasis" (aka "Story of Thor") cartrige, wich do this too.
TmEE co.(TM)
Very interested
Posts: 2452
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) »

This SRAM things are standard, all carts that use SRAM work by writing to $A13000 - $A130FF. Bit0 controls if $200000...$3FFFFF is ROM or RAM.
My EEPROM mapper is entirely controlled by reading and writing $A13000 - $A130FF address range. How many mega bits of cart you have is limited by your imagination and the size of your wallet.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
Snake
Very interested
Posts: 206
Joined: Sat Sep 13, 2008 1:01 am

Post by Snake »

ob1 wrote:Sur devster :
yea, any cartridge can be bigger than 32mbits, but only through external bankswitching. a game rom can also allocate itself to $000000-$7FFFFF, but i never seen any carts that do this, nor do i think it'll work on genesis systems released after the model 2.

any read/write to $A13000 - $A130FF pulses the /TIME signal on the cartridge port -> handy for external bankswitching hardware
Yup, this is official sega banking hardware. It annoys me slightly that this stuff has become known as "SF2 banking" or "PS4 banking" when its clearly documented (and well enough that it didn't need to be redocumented) in sega manuals as standard hardware.

Also RE accessing $400000-$7fffff - is a bad idea, which is why this banking stuff was created in the first place. It works on some models but not others. If you're wondering why "Beggar Prince" had problems on some systems - this is it. For 32X, I doubt this will work at all.
TmEE co.(TM)
Very interested
Posts: 2452
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) »

Using my "alternate" address decoding for ROM (which makes 000000-7FFFFF as ROM area) works in all conditions, with or without 32X and on MD1, MD2, Xeye, Wondermega and Nomad. Only things you will not be able to access when "alternate" addressing is enabled is MCD (as the 400000-7FFFFF is ROM now) and TMSS ROM. BTW, TMSS is bypassed then when you start the system :)

The A130xx area is universal, and calling it bank register is wrong IMO, (though it was used for nothing more than banking)... if you want, you could have 512 bytes of memory in that area with minimal fuzz in the cartridge. !Time is really handy signal
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
HardWareMan
Very interested
Posts: 753
Joined: Sat Dec 15, 2007 7:49 am

Post by HardWareMan »

TmEE co.(TM) wrote:The A130xx area is universal, and calling it bank register is wrong IMO, (though it was used for nothing more than banking)... if you want, you could have 512 bytes of memory in that area with minimal fuzz in the cartridge. !Time is really handy signal
256 bytes, not 512. Or 128 16-bit words. Also, we have another 256 bytes at A120xx, it is !FDC signal at MegaCD slot.
Jorge Nuno
Very interested
Posts: 374
Joined: Mon Jun 11, 2007 3:09 am
Location: Azeitão, PT

Post by Jorge Nuno »

Isn't from 0xA13000 thru 0xA130FF? Then it's 256 unique locations, which can directly select 1 of 256 16-bit words (512Bytes).

Wait, the 68K doens't have A0... :( :? so it's only 128 locations...
HardWareMan
Very interested
Posts: 753
Joined: Sat Dec 15, 2007 7:49 am

Post by HardWareMan »

Jorge Nuno wrote:Isn't from 0xA13000 thru 0xA130FF? Then it's 256 unique locations, which can directly select 1 of 256 16-bit words (512Bytes).

Wait, the 68K doens't have A0... :( :? so it's only 128 locations...
Exactly. Do not be confused with the x86.
Post Reply