It is currently Tue Oct 16, 2018 12:26 am

All times are UTC - 7 hours



Forum rules





Post new topic Reply to topic  [ 76 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: Sun Mar 29, 2015 2:37 pm 
Offline

Joined: Sun Dec 02, 2012 8:17 am
Posts: 499
Location: East Texas
MaarioS wrote:
Hey there people, I've read the entire topic but I still have not found the exact plain solution how to make Star Ocean cart. Well maybe there were some theories and debates but nothing 100% confirmed to be working on real hardware so.... has anyone figured out which portions of the code goes where?? How EXACTLY roms should be connected on the cart and which part of the code goes where?? Which part should be connected like normal and which part should be interleaved or connected different?? How about if I want to use combination of 8MB+4MB memories or even one 16MB memory?? I got kind of lost and now I have no idea what I'm supposed to do after reading all of this. I'd be so grateful if anyone made it very clear how to do the cart and provided me with confirmed & verified information. That would be so much appreciated!! Many thanks in advance!!



The decompressed star ocean is a combination of lo rom and extended Hi rom mappers. Roms 1&2 are extended hi rom mapped just like Crimson echos and tales of phantasia. Rom 3 is mapped as lo rom where A15 is skipped. A22 determines when the decoder is active for the ex hi rom and lo rom mappings. When A22 is low, it activates the decoder (139) to enable rom 3 and when it's high, it deactivates rom 3 and enables the decoder to run as extended hi rom where A23 determines which rom is selected between Rom1 and Rom2.

Here are some examples:

Star ocean using the "cart creation" pcb. http://youtu.be/vMVl1shH_50

Star ocean using donor snes cart http://youtu.be/_gnYuvCplE4

You could have star ocean in 1 big rom but you'd need to do some address shifting (because of A15). It it could fit in a single rom, but without additional circuitry, it wouldn't work.


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 12:46 am 
Offline

Joined: Wed Jul 22, 2009 8:53 am
Posts: 129
That really helped me a lot and now it is much easier to do. Many thanks!!

So as I can see this configuration is still correct where 64Mb is the first 8MB of code (as ExHIROM) and 32Mb is the last 4MB of code connected different??
http://www.cs.umb.edu/~bazz/snes/96MbCart/derp.html

But what really makes me wonder- how did you manage to make Star Ocean to work with only MAD-1 and without using any decoder (at least I didn't see anything)??


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 4:41 am 
Offline

Joined: Sun Dec 02, 2012 8:17 am
Posts: 499
Location: East Texas
MaarioS wrote:
That really helped me a lot and now it is much easier to do. Many thanks!!

So as I can see this configuration is still correct where 64Mb is the first 8MB of code (as ExHIROM) and 32Mb is the last 4MB of code connected different??
http://www.cs.umb.edu/~bazz/snes/96MbCart/derp.html

But what really makes me wonder- how did you manage to make Star Ocean to work with only MAD-1 and without using any decoder (at least I didn't see anything)??


If you are referring to the donor star ocean build, I have very tiny decoders built on the TSOP boards. So they are there, you just can't see them.

Yes, the last 4mb (3rd rom) is wired just as if it was a lo rom mapper. I reorganized my star ocean rom data in rom3 to reduce my wiring which is why you don't see a bunch of wires running around....

Referring to the link you posted, that's not how my decoder is connected but if you had 2 flash roms (1 64mbit and 1 32mbit) then that decoder configuration woukd work. That decoder diagram doesn't show how A23 is used in a exhirom decoding. If you are using a donor, then I wouldn't use that diagram becuse the sram enabling is already handled by the mad1. All you need to be concerned about is how to handle all 3 roms' OE lines and wiring rom3 as if it was a lo rom (skip A15).
Good luck! I'm sure you'll get there. :)


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 7:25 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20656
Location: NE Indiana, USA (NTSC)
I did some work on the 96 Mbit cart in another topic. I discovered that the 96 Mbit cart from infiniteneslives.com takes a ROM image in the order $400000-$7DFFFF, 128 KiB of padding, $C00000-$FFFFFF, top halves of banks $00-$3F, and top halves of banks $80-$BF. Is this true of your cart as well?


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 9:09 am 
Offline

Joined: Wed Jul 22, 2009 8:53 am
Posts: 129
tepples wrote:
I did some work on the 96 Mbit cart in another topic. I discovered that the 96 Mbit cart from infiniteneslives.com takes a ROM image in the order $400000-$7DFFFF, 128 KiB of padding, $C00000-$FFFFFF, top halves of banks $00-$3F, and top halves of banks $80-$BF. Is this true of your cart as well?


I'm not sure if I understand that completely at all. Either way I made my cart this way: 8MB memory is configured as ExHIROM and as far as I'm concerned ExHIROM games have to be kind of swapped: SECOND 4MB of code goes to the FIRST half of the memory and FIRST 4MB of code goes to the SECOND part of the memory. After that I interleaved data of ROM3 (last 4MB of code) and connected it to my board. After all that I connected my memories to PCB and added a 74LS139 decoder and connected everything this way:

16-5V
15-MAD-1 pin #04
14-MAD-1 pin #12 (SNES con. pin#47-A22)
13-GND
12-/OE of 4MB memory (ROM3)
11-/OE of 8MB memory (ROM2+ROM1)
10-
09-
(and pin#08 is of course GND)

Either way it is not working :? .....


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 9:14 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20656
Location: NE Indiana, USA (NTSC)
Load the test ROM Holy Striker Batman (12 MiB) onto your card, run it on your Super NES, and tell me what numbers you get.


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 9:31 am 
Offline

Joined: Sun Dec 02, 2012 8:17 am
Posts: 499
Location: East Texas
MaarioS wrote:
tepples wrote:
I did some work on the 96 Mbit cart in another topic. I discovered that the 96 Mbit cart from infiniteneslives.com takes a ROM image in the order $400000-$7DFFFF, 128 KiB of padding, $C00000-$FFFFFF, top halves of banks $00-$3F, and top halves of banks $80-$BF. Is this true of your cart as well?


I'm not sure if I understand that completely at all. Either way I made my cart this way: 8MB memory is configured as ExHIROM and as far as I'm concerned ExHIROM games have to be kind of swapped: SECOND 4MB of code goes to the FIRST half of the memory and FIRST 4MB of code goes to the SECOND part of the memory. After that I interleaved data of ROM3 (last 4MB of code) and connected it to my board. After all that I connected my memories to PCB and added a 74LS139 decoder and connected everything this way:

16-5V
15-MAD-1 pin #04
14-MAD-1 pin #12 (SNES con. pin#47-A22)
13-GND
12-/OE of 4MB memory (ROM3)
11-/OE of 8MB memory (ROM2+ROM1)
10-
09-
(and pin#08 is of course GND)

Either way it is not working :? .....



Your decoder is wrong....

139 pinout should be as follows:

1 mad1 pin 4 or you can take the OE signal from PIN 33 of the mask rom.
2 A22
3 gnd
4 ROM3 OE
5 pin 15 of 139 (this is where A22 controls WHICH decoder is active - the 139 is 2 decoder in 1 package)
6 n/c
7 n/c
8 gnd

9 n/c
10 n/c
11 exhirom ROM1 OE
12 exhirom ROM2 OE
13 gnd
14 A23 (this is what controls which rom is used WITHIN the exhirom mapping - Rom1 or Rom2)
15 from pin 5 of 139
16 VCC

SO when A22 is low, it outputs a OE on output1 and output2 is high (which deactivates the second decoder side)
when A22 is high, it outputs OE on output2 and output1 is high. So Rom3 is deactivated and 2nd decoder of the 139 is now enabled wherein A23 decides which of the 2 roms will be activated in the EXhiRom configuration.

Remember, ONLY 1 rom can ever be active at any one time.

have fun!


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 10:32 am 
Offline

Joined: Wed Jul 22, 2009 8:53 am
Posts: 129
This is actually the same thing as I did. I put ROM2+ROM1 (in this order) into 8MB memory and connected it as I described below. Still it doesn't work...

But perhaps I should program my 8MB as tepples suggests: ROM1+ROM2??


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 10:41 am 
Offline

Joined: Sun Dec 02, 2012 8:17 am
Posts: 499
Location: East Texas
MaarioS wrote:
This is actually the same thing as I did. I put ROM2+ROM1 (in this order) into 8MB memory and connected it as I described below. Still it doesn't work...

But perhaps I should program my 8MB as tepples suggests: ROM1+ROM2??



Ok, since you are using 1 8mbyte rom, then A23 would connect to the highest address line and the OE would connect to 2nd decoder output1 and then you would ground the decoder pin 14.

This is of the cuf, though.... you might not need to use both sides of the decoder....

edit: yeah, I went back and re-read your decoder connections - you need A23 on your high address line.


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 10:58 am 
Offline

Joined: Wed Jul 22, 2009 8:53 am
Posts: 129
Are you sure settings you provided are 100% correct and confirmed?? This would mean either something must be wrong on my board (some trace is broken??) or the ROM I'm using is bad. Here are checksums of the 12MB decompressed deinterleaved ROM I'm using (with removed header):

CRC32: B1D82240
MD5: 8AC766702BE51975FAAB7A431C89D9B2
SHA-1: 7DBAA0265BB5D33422808BAD1041CDC8F9585EB4

Is this correct??


Top
 Profile  
 
PostPosted: Mon Mar 30, 2015 11:06 am 
Offline

Joined: Sun Dec 02, 2012 8:17 am
Posts: 499
Location: East Texas
MaarioS wrote:
Are you sure settings you provided are 100% correct and confirmed?? This would mean either something must be wrong on my board (some trace is broken??) or the ROM I'm using is bad. Here are checksums of the 12MB decompressed deinterleaved ROM I'm using (with removed header):

CRC32: B1D82240
MD5: 8AC766702BE51975FAAB7A431C89D9B2
SHA-1: 7DBAA0265BB5D33422808BAD1041CDC8F9585EB4

Is this correct??



My settings are correct as they are in use in my pcb's shown in the youtube links.
My check sums would be different since I reorganized my rom data.


Top
 Profile  
 
PostPosted: Tue Mar 31, 2015 9:46 am 
Offline

Joined: Wed Jul 22, 2009 8:53 am
Posts: 129
Alright I tried this test: I wrote an ExHIROM game on my 8MB memory (Crimson Echoes) and launched it using 2 configurations:

1st:
/OE of ROM goes directly to MAD-1 pin #04
74LS139 connected like this:
16-5V
15-MAD-1 pin #04
14-MAD-1 pin #12
13-GND
12-NC
11-NC
10-NC
09-NC
(pin#08 to GND)

So in this configuration LS139 is not involved at all but I thought it was worth a try anyway. Either way this configuration works perfectly fine

2nd:
/OE of ROM goes ONLY to LS139 pin#11
74LS139 connected like this:
16-5V
15-MAD-1 pin #04
14-MAD-1 pin #12
13-GND
12-NC
11-/OE of ROM
10-NC
09-NC
(pin#08 to GND)

This configuration does NOT work. I think I know now where the problem is located. Do you think this configuration should work with regular ExHIROM game?? If it should then I have no idea why this one doesn't work :?

Oh and by the way if this is important: I'm using S29GL064N90TFI04 memory (I switch 8bit mode for SNES) which is 8MB and I use stepdown converter 5V->3,6V by using 2x 1N4148 diodes


Top
 Profile  
 
PostPosted: Tue Mar 31, 2015 9:20 pm 
Offline

Joined: Sun Dec 02, 2012 8:17 am
Posts: 499
Location: East Texas
MaarioS wrote:
Alright I tried this test: I wrote an ExHIROM game on my 8MB memory (Crimson Echoes) and launched it using 2 configurations:

1st:
/OE of ROM goes directly to MAD-1 pin #04
74LS139 connected like this:
16-5V
15-MAD-1 pin #04
14-MAD-1 pin #12
13-GND
12-NC
11-NC
10-NC
09-NC
(pin#08 to GND)

So in this configuration LS139 is not involved at all but I thought it was worth a try anyway. Either way this configuration works perfectly fine

2nd:
/OE of ROM goes ONLY to LS139 pin#11
74LS139 connected like this:
16-5V
15-MAD-1 pin #04
14-MAD-1 pin #12
13-GND
12-NC
11-/OE of ROM
10-NC
09-NC
(pin#08 to GND)

This configuration does NOT work. I think I know now where the problem is located. Do you think this configuration should work with regular ExHIROM game?? If it should then I have no idea why this one doesn't work :?

Oh and by the way if this is important: I'm using S29GL064N90TFI04 memory (I switch 8bit mode for SNES) which is 8MB and I use stepdown converter 5V->3,6V by using 2x 1N4148 diodes


The first decoder example is completely pointless. It does nothing. The outputs aren't even connected.
I don't know what's going on in the second one. Using the ExHiRom game as an example, and using a 64mbit flash rom (the 3volt aspect is a WHOLE other topic) you shouldn't need any decoders at all. It should be how your rom is programmed and using A23 (mask rom pin 35, cart edge 48) as the highest address connection. It's because of the different mapping between the ExHirom and lo rom is why you have a need for a decoder because you most likely will use 2 separate roms and thus, the need for a decoder to control the 2 devices. How your rom works with Crimson Echos as exhiRom is a mystery to me. You haven't mentioned how you've connect A23 or how you built your rom with the data. Your second decoder example as an ExHiRom -- a22 isn't used to decode a ExHiRom and because you are using a 8m flash rom, deciding isn't needed. That make sense?


Top
 Profile  
 
PostPosted: Wed Apr 01, 2015 12:50 am 
Offline

Joined: Wed Jul 22, 2009 8:53 am
Posts: 129
A22 of ROM goes directly to SNES A23, nothing was changed. By doing the 2nd configuration I wanted to confirm that ExHIROM game is read ONLY when SNES A22 is high. So if this doesn't work, this means this is NOT true. This means SNES must read ExHIROM game when SNES A22 is also low...


Top
 Profile  
 
PostPosted: Wed Apr 01, 2015 4:29 am 
Offline

Joined: Sun Dec 02, 2012 8:17 am
Posts: 499
Location: East Texas
MaarioS wrote:
A22 of ROM goes directly to SNES A23, nothing was changed. By doing the 2nd configuration I wanted to confirm that ExHIROM game is read ONLY when SNES A22 is high. So if this doesn't work, this means this is NOT true. This means SNES must read ExHIROM game when SNES A22 is also low...


A22 isn't actively driven in ExHiRom games except for sram conditions. The converted star ocean drives that line for reading the additional eprom. Generally speaking, lines that aren't being driven are held low. This why most games (lots of exceptions) can run without mirroring. Example. You can put mario in a much bigger rom without mirroring. Mario is a small game that a high address line of A18. so what happens if A21 (and A20 or A19) is driven high? All the mario game data will vanish because it would be banked-out. For the snes to even see the Mario game in a big rom, it has to hold the higher address lines low. If you mirrored the mario data then it would still be seen even if A21 was driven high. My point, unused lines are generally held low. Games like Megaman X, even though it's a small game, has to be mirrored if you put it in a big rom -- cause every now and then, it drives the A21 line high for whatever reason... Super Bonk is the same way too.

These are my observations anyway..... I have zero electronics training so I may have butchard the terminology.

In the decompressed star ocean, if A22 goes high, it's looking for data from Rom3, when it's low, it's looking for the ExHiRom data. This is how my decoder works.

Edit-- shouldn't your pin 13 be connected to something on your 2nd example decoder?

Edit 2: well, I shouldn't post from memory -- got the A22 high/low backwards after looking at my documentation. Sorry. When A22 is LOW, it's looking for Rom3, when A22 is HIGH, it's looking for the ExHiRom data.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 76 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: Erockbrox and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group