HomeForumsWhat's newResources 
 
 
Project for botting code from expansion port
patroclus02 - Feb 20, 2006
 patroclus02 Feb 20, 2006
I've been working on a rewritable ROM board that connects to expansion port to boot code from there at $000000 when CART isn't grounded, of course.

I finally finisehd it, but it doesn't work. I connected two flash roms in parallel (8 data bits from one, 8 bits from the other), using the same adreess bus and strobes. I use /CAS_0 for /OE and /ROM for /CE.

I went through all joints twice.. I see no errors.

I tested a rom made in C (64Kb size), that has the starting code, as my Genesis has BIOS that checks that thing. Nothing either.

It really confuses me, why a ROM at $000000 does not boot from expansion port when /CART isn't grounded... I suppose it should work for the info I have and read here. All address lines are held high (I think, as I only used a multimeter), so the strobes. It's like freeze.

Any ideas?

 ExCyber Feb 20, 2006
I thought there might be an enable (analagous to /CART) on the expansion port, but /ROM and /ASEL look like outputs judging from what they're grouped with on the schematic. The only thing that looks like an input is /DISK, which is routed to the VDP alongside the /JAP and NTSC signals, and probably at a minimum sets a corresponding bit in the version register. The name doesn't make a lot of sense for enabling ROM mapping given that there seem to be dedicated strobes for talking to an FDC, but I guess you might want to give it a shot (though I'd pull it down with a resistor just to be safe).

 patroclus02 Feb 21, 2006
Well, I took a few captures with a logic analyzer, and it actually does a few ROM acces (/ROM and /CAS_0 asserted), and they seem to be at low addresses like 0,1,2,3,1,2,3,4,5,6..

After a few reads, and some more out of ROM area, all lines go high and Genesis freezess... strange

 ExCyber Feb 21, 2006
Are you sure your TMSS code is correct? In particular, does it check the version register and do the "SEGA" write?

 patroclus02 Feb 21, 2006
I just tested a 256 Kb commercial game. It works. Strange.

I say strange, because I first test a demo coded in XGCC. So, as it uses the sega.s file, the initialization and TMSS code shpuld be correct.

Right?

 ExCyber Feb 21, 2006
The TMSS write code in sega.s looks right as far as I can tell. Does your compiled ROM have "SEGA" (I think " SEGA" works also) at offset 0x100?

 patroclus02 Feb 21, 2006
Yes, SEGA at offset $100. I might try another demo compiled in XGCC, maybe the one I try just doesn't work?? In emulator runs well. Who knows.

 LocalH Feb 21, 2006
Feel free to test this ROM... with your setup. I haven't personally tested it on a TMSS-capable Genesis, but it works flawlessly on my Genesis 1 without TMSS, and I used Sega's official TMSS-handling code.

 patroclus02 Feb 21, 2006
Thank you, I will try see if it work. By the way, is it written in ASM?

 LocalH Feb 21, 2006
Yes, 100%. Other than the TMSS code, it's all mine (although my post-TMSS initialization is heavily based on that found in Sonic 1, but written by me).