Simpsons/TMNT2 Knowledge Base
In my humble opinion, these two machines are worth putting the effort
into learning how to emulate them.
Although I can't promise I'll be able to make an emulator straight away (I'm v. busy :-))
I will try and keep you all up to date with what is known about these two machines.
And if someone else wants to go and write an emulator or a MAME driver they are more than welcome to all I know!
6th Feb '99: MAME TMNT2 in progress (very early)
Go to https://www.mame.retogames.com/ and click on MAME W.I.P - scroll down, and there's a piccy of TMNT2! (It must be TMNT2, because TMNT1 is 1989, not 1991.)
Oh well, looks like I'm really lagging behind now!
(I'd be curious to know how they got funny ram 15B to work...!)
6th Feb '99: fixed tile viewer link (below)
3rd Feb '99: Tile viewer
Okay - so it doesn't look like we are going to be able to emulate the Simpsons game, but you can look at some of the graphics and sound. (Little consolation I admit!)
Here's the tile viewer by Brennan: showchar.zip about 120k
And if you get GoldWave, load roms 1D and 1F (16-bit signed byteswapped, and 8-bit signed) you here lots of sound effects and stuff.
And that's about all I can do with the Simpsons... the only thing I can suggest is keep your eyes on MAME because they are gods and are bound to sort it out eventually.
2nd Feb '99: Woe woe woe is us... Simpsons cpu almost certainly encrypted 6809
I've had an e-mail from a guy who tried to write a MAME driver (and who knows his stuff a lot!) and he says the processor is certainly a custom M6809, encrypted using a method which even the MAME team can't decode.
So just briefly (because I can't stay on the Internet long) - I'm not likely to be able to emulate it in the forseeable future. Which is a big shame.
Here's a bit about the M6809 code roms:
As the schematics indicate the code ROMs are U11, U12, U96 and U97 (page 13 on the schematics ). Those roms translate to the following roms in your set: U11 = simp_012.rom U12 = simp_013.rom U96 = simp_g02.rom U97 = simp_p01.rom Just like the schematics denotate, there are 0x2000 (8k) banks in each one of them. The bank containing the M6809 vectors is the last bank of U11, so I guess its safe to assume it's fixed at $e000 for the M6809.No-one is more disappointed than me that I can't emulate it. The MAME team may be able to do better as they've done encrypted 6809s before (apparently). But I don't stand a chance!
1st Feb '99 for the last time: Simpsons files
Okay we need to sort out a) Which files are what on the PDF (which is here simp.pdf about 870k by the way), b) where they map into memory, and c) Are there any more naming systems out there.
code? I've tried putting them in obvious and not so obvious combinations (just like I did with TMNT 1 and 2) through StarScream 68000 emu a bit and they just crash. simp_p01.rom 128k (072g01?) simp_g02.rom 128k (072g02?) simp_012.rom 128k (072j12?) simp_013.rom 128k (072j13?) tiles - someone made a tile viewer for these simp_16h.rom 512k simp_18h.rom 512k simp_12n.rom 1024k more graphics? simp_16l.rom 1024k more graphics? simp_1d .rom 512k sound? simp_1f .rom 1024k (loads of sound effects and speech - last bit 8-bit signed perfect, first bit similar but not perfect) simp_3n .rom 1024k simp_8n .rom 1024k simp_g03.rom 128k May be musicOkay - that's enough for one day....!
1st Feb '99 yet again: TMNT2 memory test, but that's it
I was thinking - there's not really much point my uploading a TMNT2 emulator that doesn't work is there?
I might as well just tell you what it does!
It's exactly like TMNT1's boot up with different rom names: Here it is (as exciting as it gets as the mo!):
ROM RAM CHECK VER=UAA 13D OK 14D OK 18J OK 18H OK 12F OK 12G OK 2G OK 3G OK 2F OK 3F OK 1J OK 15B BAD 8E OK 8G OK 10E OK 10G OKThis just cycles over and over.
//EEPROM ? 1c0000 to 1c04ff ?????! (to do with 15B) //Read/Write 1c0500 to 1c05ff IJ- only uses some (odd) addresses? //Read/Write 104000 to 107fff //Read/Write 140000 to 140fff //Read/Write 180000 to 183fff //Read/Write 600000 to 602fff (This is the memory it accesses) Write 5a0000 to 5a00ff : 0x7 ( highest 0xf4 ) Write 5c0600 to 5c06ff : 0x3 ( highest 0xff ) Read 5c0600 to 5c06ff : 0x3c9 Write 5c0700 to 5c07ff : 0x9 ( highest 0x34 ) part of 600000-604000 area Write 603000 to 6030ff : 0x2 ( highest 0x0 ) Write 603400 to 6034ff : 0x4 ( highest 0x0 ) Write 603a00 to 603aff : 0x1 ( highest 0x0 ) Write 603b00 to 603bff : 0x3 ( highest 0x20 ) Write 603d00 to 603dff : 0x1 ( highest 0x1 ) Write 603e00 to 603eff : 0x3 ( highest 0x0 ) Write 60b800 to 60b8ff : 0x1 ( highest 0x13 )
1st Feb '99 again: Summary
Someone wrote to say they had a snapshot of the real simpsons arcade machine booting up (I guess similar to the TMNT boot up showing all the rom names). I lost his e-mail, but I would be interested to find out the results when they are developed! Please send me all the numbers/letters along with their rough positions on the screen, as there may be checksums which may provide valuable clues.
This info might be useful for associating the roms with their position in memory. I'm more and more convinced that it's a pretty similar machine to TMNT1/2.
Also I forgot that you guys haven't seen the (very small) progress I originally had with TMNT2. The emulator is a text only emulator and only shows the rom check at the start. Because one of the TMNT2 rams is not emulated properly, the rom/ram test failed and the machine resets.
I don't have the early emulator binary on me at the mo but I'll let you guys see it when I do, and hopefully someone can offer advice on the mystery chip, as I was completely stuck.
I don't think we have TMNT2 schematics yet unfortunately.
Here's a quick summary:
TMNT1: 68000/z80 everything emulated... blah blah speech scratchy.
TMNT2: 68000 cpu only emulated, but one of the chips isn't because I don't know how it works, so the thing won't run past the ram/rom check. As a result none of the graphics/sound/input can be guessed as there is nothing to work with. Emulator is text only.
Simpsons: Nothing. Probably a 68000, but we don't know the memory map, so there is nothing to work with. Someone made a tile graphics viewer for it - anyone want me to put that on this page?
1st Feb '99: 68000s can be square
I've received a few more e-mail saying roughly the same thing, that the 68000-series can come in a square box. Also I think someone said that the chip actually has 68000 written on it in the schematics (I haven't looked at them myself recently since I don't always have Acrobat Reader around!).
I'm fairly convinced that that the CPU is a 68000, so let's go ahead and try to emulate it as one. If it isn't we'll know soon enough!
I now need to know it's memory map. I haven't got the rom file listings on me at the moment. (I'd also be curious to know if there are any different naming systems out there). So the ultimate question is, what files go where in memory?
(With TMNT it was something like J15/K15 J17/K17 interleaved into the first part of memory.)
29th Jan '99: another cpu?
Part of an e-mail I got the other day:
"Something that I didn't see before was when I traced the part number of the cpu on the schematic to the part number of the cpu on the motherboard drawing, it was a square shaped cpu. I have never seen a square shaped 68000 or 6809. Then I looked at the address lines on the cpu (there were 24). There are 2 cpus that I know of have 24 address lines and are square, they are the Intel 286 and the Intel 386sx. I doubt that the 386sx was used because it was making its debut around the time of the Simpsons arcade but the 286 was in pretty wide spread usage and was available in a square package and was a little bit more powerful than the 68000. Which could help in the zooming effects in the game."
For some reason I doubt that it's a 286 as it doesn't seem Konami's style - but I don't know. Anyone know? 6809/68000/intel? If anyone can figure the memory map of the cpu and can refer it back to the rom files I'll run it though StarScream and see what happens.
I think the TMNT schematics (for comparison) are on Geocities still: (They are big - watch out, about 300k 1000x1000 jpgs)
color.jpg, cpu.jpg, io.jpg, obj.jpg, snd.jpg, voice.jpg, vram.jpg
12th Dec '98: 68000 or not?
Okay - I've had lots of e-mails to the effect of "I can help with the schematics, please e-mail them to me" - but there's no need as they are on this site (see below). (Also I'm afraid I can't really e-mail files larger than 100k to people as it would take too long).
I guess Dave of Dave's Classics didn't put a link to this page.
Anyway - one person says its CPU is an encrypted 6809 (or something), and another says it's a 68000 (and is so certain that he says he can distinguish it from a 68010!). What does everyone else think? (It's pretty important!)
Next step after confirming the 68000 (fingers crossed!) is figuring out the memory map. If you can help, don't e-mail straight away - have a look at the below schematics, then e-mail and let me know what you discovered!
8th Dec '98: The schematics!
Simpsons Schematics - simp.pdf about 870k
These are in PDF format - you'll need a PDF reader (Acrobat Reader).
Original schematics site (with loads more!)
I had a quick look at it, and it's seems to have all the code roms labelled.
Thing is, we need to know which files correspond to which roms (the naming system seems a bit ropey).
8th Dec '98: What Dave knows...
Okay well on the surface it's damn similar to TMNT, but what about under the lid? Well hopefully it's similar too...
May OR MAY NOT be a 68000 - I hope to god it is(!)
Not the 007-whatever that was in TMNT, but a higher version (8-bit not 7-bit). I forget the number but it might be 05-something. I think we can emulate this. I've seen code which attempt to emulate the Simpsons's sound - unfortunately it seems to have bank-switching and other nasty stuff...
I imagine it'll be a YM2151/30-whatever combo again, which means the MAME fm.c code should do.
The speech/effects - well if you load file 1F (I think) into Goldwave (8-bit signed I think) you'll hear a mass of sound effects and speech. Second half of it is crystal clear, but the other half is a bit dodgy (so probably not 8-bit signed but something similar).
TMNT was a bit of a fudge so I guess The Simpsons will be too. It probably resembles the TMNT methods, but remember that TMNT2 and The Simpsons both had sprite scaling in x and y (e.g. the clown end of level boss, and the balloons sub-game) - that's going to be a nightma- um - a challenge :)
The tile screens won't necessarily be in 0x100000 like it was in TMNT1 (in TMNT2 it seems to be at 0x600000).
With TMNT2 I ground to a halt because of nasty chips and memory accesses that I didn't have a clue about, so let's try and figure out all the chips!
Next Step after this
Which files go where, and how many different naming systems are there out there?