f15se: MAME ROM Information. History:
F-15 Strike Eagle (c) 1990 Microprose.
A 3-D flight combat simulator game.
- TECHNICAL -
Main CPU : 68000 (@ 12 Mhz), TMS34010 (@ 5 Mhz), I8051 (@ 11.059 Mhz)
Sound Chips : UPD7759 (@ 640 Khz), YM2151 (@ 3.579545 Mhz), (2x) DAC
Players : 1
Buttons : 4
- TRIVIA -
Released in February 1991.
This was the first coin-op game from Microprose.
F-15 SE is the world's first real 3-D flight combat simulator game.
- PORTS -
* Consoles :
Atari 7800 (unreleased prototype)
* Computers :
Sharp X68000 (1991)
Nintendo Game Boy (1992)
Nintendo NES (1992)
Sega Game Gear (1993)
- SOURCES -
Game's rom.
Machine's picture.
MAME Info:
0.107u4 [R. Belmont]
0.79u2 [David Haywood]
WIP:
- 0.136u2: Phil Bennett fixed F-15 Strike Eagle - Game now playable. Added Am29000 (16MHz) CPU3 and 2x Microprose Custom sound.
- 16th Janary 2010: Phil Bennett - I finally wrote the Am29000 CPU core needed by F-15 Strike Eagle, Battle of the Solar System and Tank Battle. Emulation of the math unit and 3D hardware soon followed. The 3D performance of the system is a step above Hard Drivin' and co given that the 3D pipeline is implemented mostly in hardware. The average framerate is ~30fps as opposed to 15. Worth mentioning is the extra sound hardware that is used to generate LOUD explosions. It's like something from an analog synthesiser - there's two channels of white with pink noise passed through an SSM2047 VCF. I've included a slightly fudged but reasonable sounding simulation of it. F-15 and BOTSS play ok but they're shameless quarter suckers, regularly pestering the player to pump in more credits to buy weapons, repairs, fuel etc. Tank Battle (aka Super Tank Attack and Tank 3D) is a prototype game. It supports two players via split-screen. I can't find a way to disable the split-screen for single player though.
- 0.129u2: Changed 68000 CPU1 clock speed to 16MHz and I8051 CPU3 to 11059200 Hz. Removed 2x DAC sound. Changed palettesize to 4096 colors. Fixed rom loading.
- 0.107u4: R. Belmont added F-15 Strike Eagle (rev. 2.2 02/25/91). Changed 'F-15 Strike Eagle (rev. 2.1)' to clone 'F-15 Strike Eagle (rev. 2.1 02/04/91)'. Renamed (f15se) to (f15se21).
- 12th August 2006: R. Belmont - Picked up a cheap "unknown" PCB at an auction and it turned out to be a newer version of Microprose's F-15 Strike Eagle. Now if only the driver worked.
- 0.92: Philip J. Bennett improved the Microprose 3D driver. Games not playable, but still a big improvement over the skeleton driver. Changed description to 'F-15 Strike Eagle (rev. 2.1)'.
- 17th April 2004: Phil Bennett - Improved the 2D video emulation. The difference isn't noticeable in screenshots, but believe me, it runs a lot smoother now.
- 12th April 2004: Phil Bennett - Cleaned up the memory maps slightly and managed to get the TMS/68000 monitor modes running. I haven't had much of a chance to work on the games recently. Hopefully that should change in a couple of weeks time...
- 3rd April 2004: Phil Bennett - I've hastily transferred Steve Ellenoff's i8051 PinMAME core over to MAME. As a result, F-15SE and B.O.T.S.S start up with some DAC humming and what sounds like FM machine-gun fire and bell chimes. Given that the 68000 and 8031 aren't communicating properly, that's the extent of the current sound emulation. As an interesting aside, the TMS34010, 68000 and Am29000 each have their own UART device for serial communication with a computer connected to one of the three 'monitor' ports. Diagnostic/status text sent via the ports prints out quite nicely to the command prompt. There's code in the ROMs for some comprehensive system tests initiated presumably via the computer. They should prove rather useful once I bother to get them running.
- 1st April 2004: Phil Bennett - With a few minor adjustments, the remaining 2D graphics have in F-15 Strike Eagle appeared. After patching out its 68000<->Am29000 communications code, B.O.T.S.S makes an appearance... I've been informed (thanks Thomas!) that there's an i8051 core in PinMAME, supporting the i80C31 MCU. Sound emulation *may* follow soon. I'm expecting thumping FM techno soundtracks from both games.
- 30th March 2004: Phil Bennett - Working on F-15 Strike Eagle for the past few weeks. Currently, the 68000 and TMS34010 are hooked up. The game starts with a bit of high kludgery, but without an Am29000 core (a 32-bit RISC CPU responsible for generating the 3D objects) it's far from playable. In addition, an 80C31 MCU core is needed for sound emulation. Battle of the Solar System and Super Tank Attack run on similar hardware, but there's not a lot to show from them at the moment. I've began writing an Am29000 core (it disassembles code at the moment), but with the sheer amount of academic work I'm lumbered with at the moment progress will be slow.
- 0.79u2: David Haywood added F-15 Strike Eagle (Microprose 1990).
Recommended Games (Airforce 3D):
Sky Raider
Red Baron
M.A.C.H. 3
Fire Fox
Future Spy
Us vs. Them
Zero Target
Lock-On
Top Gunner
After Burner II
After Burner (Mega-Tech)
Vs. Top Gun
Captain Sky Hawk (PlayChoice-10)
Air Inferno
G-LOC Air Battle
F-15 Strike Eagle
Strike Fighter
Air Combat
Air Combat 22
Wild Pilot
Wing War
Sky Target
Sega Strike Fighter
Romset: 3360 kb / 32 files / 1.48 zip
MAME XML Output:
   | <game name="f15se" sourcefile="micro3d.c"> |
   |    | <description>F-15 Strike Eagle (rev. 2.2 02/25/91)</description> |
   |    | <year>1991</year> |
   |    | <manufacturer>Microprose Games Inc.</manufacturer> |
   |    | <rom name="host.u67" size="131072" crc="8f495ceb" sha1="90998ad67e76928ed1a6cae56038b98d1aa2e7b0" region="maincpu" offset="1"/> |
   |    | <rom name="host.u91" size="131072" crc="dfae5ec3" sha1="29306eed5047e39a0a2350e61ab7126a84cb710b" region="maincpu" offset="0"/> |
   |    | <rom name="host.u68" size="131072" crc="685fc355" sha1="5bfe015a8deccb66e3317154d715f490f00ace74" region="maincpu" offset="40001"/> |
   |    | <rom name="host.u92" size="131072" crc="8f7bb2eb" sha1="1923d55d66da0fbc158b4f90bcc98c88955953ea" region="maincpu" offset="40000"/> |
   |    | <rom name="004.hst" size="131072" crc="81671ce1" sha1="51ff641ccbc9dea640a62944910abe73d796b062" region="maincpu" offset="80001"/> |
   |    | <rom name="005.hst" size="131072" crc="bdaa7db5" sha1="52cd832cdd44e609e8cd269469b806e2cd27d63d" region="maincpu" offset="80000"/> |
   |    | <rom name="host.u70" size="131072" crc="251e92d2" sha1="a20279089af1f738ba912f90a4d048d4e58795fe" region="maincpu" offset="c0001"/> |
   |    | <rom name="007.hst" size="131072" crc="36e06cba" sha1="5ffee5da6f475978be10fa5e1a2c24f00497ea5f" region="maincpu" offset="c0000"/> |
   |    | <rom name="008.hst" size="131072" crc="d96fd4e2" sha1="001af758da437e955b4ee914eabeb9739ebc4454" region="maincpu" offset="100001"/> |
   |    | <rom name="009.hst" size="131072" crc="33e3b473" sha1="66deda79ba94f0ed722b399b3fc6062dcdd1a6c9" region="maincpu" offset="100000"/> |
   |    | <rom name="122.dth" size="32768" crc="9d2032cf" sha1="8430816756ea92bbe86b94eaa24a6071bf0ef879" region="drmath" offset="0"/> |
   |    | <rom name="125.dth" size="32768" crc="7718487c" sha1="609106f55601f84095b64ce2484107779da89149" region="drmath" offset="1"/> |
   |    | <rom name="123.dth" size="32768" crc="54d5544f" sha1="d039ee39991b947a7483111359ab245fc104e060" region="drmath" offset="2"/> |
   |    | <rom name="124.dth" size="32768" crc="7be96646" sha1="a6733f75c0404282d71e8c1a287546ef4d9d42ad" region="drmath" offset="3"/> |
   |    | <rom name="118.dth" size="32768" crc="cc895c20" sha1="140ef47536914fe1441778e759894c2cdd893276" region="drmath" offset="4"/> |
   |    | <rom name="121.dth" size="32768" crc="392e5c43" sha1="455cf3bb3c16217e58d6eea51d8f49a5bed1955e" region="drmath" offset="5"/> |
   |    | <rom name="119.dth" size="32768" crc="b1c966e5" sha1="9703bb1f9bdf6a779b59daebb39df2926727fa76" region="drmath" offset="6"/> |
   |    | <rom name="120.dth" size="32768" crc="5fb9836d" sha1="d511aa9f02972a7f475c82c6f57d1f3fd4f118fa" region="drmath" offset="7"/> |
   |    | <rom name="014.dth" size="131072" crc="5ca7713f" sha1="ac7b9629684b99ecfb1945176b06eb6be284ba93" region="vertex" offset="1"/> |
   |    | <rom name="015.dth" size="131072" crc="beae31bb" sha1="1ab80a6b99eea6d5bf9b1bce58ecca13042c77a6" region="vertex" offset="0"/> |
   |    | <rom name="016.dth" size="131072" crc="5db4f677" sha1="25a6fe4c562e4fa4225aa4687dd41920b614e591" region="vertex" offset="40001"/> |
   |    | <rom name="017.dth" size="131072" crc="47f9a868" sha1="7c8a9355893e4a3f3846fd05e0237ffd1404ffee" region="vertex" offset="40000"/> |
   |    | <rom name="vgb_u101.bin" size="131072" crc="e99fac71" sha1="98d1d2134fabc1bad637cbe42cbe9cdc20b32126" region="tms34010" offset="0"/> |
   |    | <rom name="vgb_u097.bin" size="131072" crc="78b9b7c7" sha1="4bce993dd3aea126e3a9d42ee8c68b8ab47fdba7" region="tms34010" offset="1"/> |
   |    | <rom name="005.vgb" size="131072" crc="7b1852f0" sha1="d21525e59b3112313ea9783ac3dd988a4c1d5f87" region="tms_gfx" offset="0"/> |
   |    | <rom name="006.vgb" size="131072" crc="9d031636" sha1="b7c7b57d547f2ce2eeb97126e961f3b5f35823f7" region="tms_gfx" offset="1"/> |
   |    | <rom name="007.vgb" size="131072" crc="15326070" sha1="ec4484d4515694742d3fd3b944f342f052463988" region="tms_gfx" offset="40000"/> |
   |    | <rom name="008.vgb" size="131072" crc="ca0e86d8" sha1="a7b4b02d100a7875d5a184cdb76d507e926d1ca3" region="tms_gfx" offset="40001"/> |
   |    | <rom name="003.vgb" size="131072" crc="4d8e8f54" sha1="d8a23b5fd00ab919dc6d63fc72824d1293073813" region="tms_gfx" offset="80000"/> |
   |    | <rom name="002.vgb" size="131072" crc="f6488e31" sha1="d2f9304cc59f5523007592ae76ddd56107cc29e8" region="tms_gfx" offset="80001"/> |
   |    | <rom name="4-001.snd" size="32768" crc="705685a9" sha1="311f7cac126a19e8bd555ebf31ff4ec4680ddfa4" region="audiocpu" offset="0"/> |
   |    | <rom name="3-001.snd" size="262144" crc="af84b635" sha1="844e5987a66e9e3ab2d2fe05b93a4da3512776bb" region="upd7759" offset="0"/> |
   |    | <chip type="cpu" tag="maincpu" name="68000" clock="16000000"/> |
   |    | <chip type="cpu" tag="vgb" name="TMS34010" clock="40000000"/> |
   |    | <chip type="cpu" tag="drmath" name="Am29000" clock="16000000"/> |
   |    | <chip type="cpu" tag="audiocpu" name="I8051" clock="11059200"/> |
   |    | <chip type="audio" tag="lspeaker" name="Speaker"/> |
   |    | <chip type="audio" tag="rspeaker" name="Speaker"/> |
   |    | <chip type="audio" tag="upd7759" name="UPD7759" clock="640000"/> |
   |    | <chip type="audio" tag="ym2151" name="YM2151" clock="3579545"/> |
   |    | <chip type="audio" tag="noise_1" name="Microprose Custom"/> |
   |    | <chip type="audio" tag="noise_2" name="Microprose Custom"/> |
   |    | <display tag="screen" type="raster" rotate="0" width="576" height="400" refresh="60.003840" pixclock="20000000" htotal="768" hbend="0" hbstart="576" vtotal="434" vbend="0" vbstart="400" /> |
   |    | <sound channels="2"/> |
   |    | <input players="1" buttons="4" coins="2" service="yes"> |
   |    |    | <control type="stick" minimum="1" maximum="255" sensitivity="100" keydelta="25" reverse="yes"/> |
   |    | </input> |
   |    | <dipswitch name="Unused" tag="INPUTS_A_B" mask="1"> |
   |    |    | <dipvalue name="Off" value="1" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unused" tag="INPUTS_A_B" mask="2"> |
   |    |    | <dipvalue name="Off" value="2" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Shared Memory Handshake Test" tag="INPUTS_A_B" mask="4"> |
   |    |    | <dipvalue name="Off" value="0" default="yes"/> |
   |    |    | <dipvalue name="On" value="4"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Dr. Math Monitor Mode" tag="INPUTS_A_B" mask="8"> |
   |    |    | <dipvalue name="Off" value="0" default="yes"/> |
   |    |    | <dipvalue name="On" value="8"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Burn-in Tests" tag="INPUTS_A_B" mask="16"> |
   |    |    | <dipvalue name="Off" value="0" default="yes"/> |
   |    |    | <dipvalue name="On" value="16"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Manufacturing Tests" tag="INPUTS_A_B" mask="32"> |
   |    |    | <dipvalue name="Off" value="0" default="yes"/> |
   |    |    | <dipvalue name="On" value="32"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Unused" tag="INPUTS_A_B" mask="64"> |
   |    |    | <dipvalue name="Off" value="64" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Host Monitor Mode" tag="INPUTS_A_B" mask="128"> |
   |    |    | <dipvalue name="Off" value="0" default="yes"/> |
   |    |    | <dipvalue name="On" value="128"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Service Mode" tag="INPUTS_A_B" mask="1024"> |
   |    |    | <dipvalue name="Off" value="1024" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="VGB Monitor Mode" tag="VGB_SW" mask="8"> |
   |    |    | <dipvalue name="Off" value="8" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <adjuster name="Volume" default="100"/> |
   |    | <driver status="imperfect" emulation="good" color="good" sound="imperfect" graphic="good" savestate="unsupported" palettesize="4096"/> |
|
|