Project for botting code from expansion port

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?
 
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).
 
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
 
Are you sure your TMSS code is correct? In particular, does it check the version register and do the "SEGA" write?
 
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?
 
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?
 
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.
 
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.
 
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).
 
Back
Top