lordgun: MAME ROM Information. History:
Lord of Gun (c) 1994 IGS.
A light gun shooter similar to "Lethal Enforcers", but with animated graphics. There are 10 stages here.
- TECHNICAL -
Main CPU : 68000 (@ 10 Mhz), Z80 (@ 5 Mhz)
Sound Chips : YM3812 (@ 3.579545 Mhz), OKI6295 (@ 7.575 Khz)
Players : 2
Control : lightgun
Buttons : 2
- TRIVIA -
Released in August 1994.
- STAFF -
Story by: Wu Szu Chiang, Anthony
Directed by: Anthony
Pictures: Wang Film Productions Co Ltd, IGS Graphics Department
Music: Julie Shen
Programs: Jackie, Liou Ching Nan, Chen Shi Fu, Anthony
Mechanism: Chang Li Sheng, Lee Ping
Hardware: Jang Jon Whay, Lee Long Light
Consultants: Lee, Jang, Chen, Lee, Jang, Chen, Lin, Chen, Siau, Wang, Loo, Liou
- SOURCES -
Game's rom.
MAME Info:
0.81u4 [David Haywood]
Bugs:
- Gun crosshairs do not line up with shots. MAMEBase (ID 02712)
WIP:
- 0.142: Brian Troha corrected dipswitch names and added DIP Locations to Lord of Gun.
- 0.139u1: Return to type safety. Changed address maps back into functions that build up the definition, rather than the whole tokenizing system, which lost type checking. Added a new module addrmap.c which implements the address map classes, and changed the macros to call methods on the address_map and address_map_entry classes which are strongly typed. Fixed a few incorrectly specified memory map entries along the way in LordOfGun driver [Aaron Giles].
- 0.138u2: IGS Lord Of Gun driver update [Luca Elia]: Implemented RAM based priorities. Added multi-sprite and fixed sprite list end. Corrected tilemap 2 size (wrong backgrounds in the final stage). Fixed crosshair position.
- 22nd May 2010: Luca Elia - I've figured out and implemented RAM based priorities in Lord of Gun. Before, sprites were drawn above all tilemaps, and tilemaps were incorrectly ordered with respect to each other. The way priorities work on this hardware, lordgun.c, i.e. how the order of the various layers of graphics is decided, is similar to that of the blitter based IGS games in igs011.c. There are 64k of priority RAM. Each 16-bit word contains one of five values, that map to the five layers (4 tilemaps + sprites). For each screen pixel, the opacity of the layers and their priority are translated to an address in priority RAM, and the pixel of the layer specified by priority RAM at that address is sent to the screen. This is the most flexible solution as it allows for rather funky priority schemes and masking effects. Also note that sprite-sprite priorities are decided according to the sprite list order, and are thus orthogonal to sprite-tile and tile-tile priorities, allowing for even more flexibility. To form the priority RAM address, first the opacity of each layer is stored in one of the 5 low order bits (0 = opaque, 1 = transparent). Then, and this is where it gets more complicated than on the other hardware, three of the layers, and sprites, also specify a per tile priority level (0-7), thus contributing 3 additional bits * 4 layers, that go in the remaining high order bits of the priority RAM address. Actually, that's too many address bits for 64k of RAM, so one of those layers is limited to only 1 bit of priority level instead of 3. With this scheme in place, graphics are correct AFAICT, and some scrolling levels, like the jungle one above, exhibit a nice layered parallax effect now.
- 0.131u1: Cananas fixed P1 Button2 is really P2 Button1 in Lord of Gun.
- 0.104: Luca Elia fixed Lord of Gun - Game now playable. Changed description to 'Lord of Gun (USA)'. Added Z80 (5Mhz) CPU2, YM3812 (3579545 Hz) and OKI6295 (7575 Hz) sound. Fixed gfx1/gfx2/sound1 rom loading and visible area to 448x224. Added dipswitches 'Game Mode', 'Guns', 'Ranking Music' and 'Coin Slots'.
- 22nd January 2006: Luca Elia - I've rewritten the skeleton driver in MAME (showing a black screen) of Lord of Gun, a 1994 light gun game by IGS. It was already decrypted but hitting the protection. That was easy to circumvent, so I could concentrate on the rest of the hardware: Z80 + oki + fm for sound, EEPROM, light guns, inputs through 2 x 8255, 4 tilemaps, sprites, line scroll. At the moment priorities are all wrong. They should work somewhat similarly to those in the IGS_Blit driver, in that there is some priority ram filled with layers indexes. Only, this time there are 64k of values with two indexes per word. Elsemi, master of the later IGS games, among many other things, points out there is at least another game running on this hardware, Huang Fei Hong, of which a partial dump exists (without graphics roms). So I may look at that one next.
- 0.81u6: Minor improvement to Lord of Gun driver (still doesn't work) [Pierpaolo Prazzoli]. Changed palettesize to 2048 colors.
- 0.81u4: David Haywood added Lord of Gun (IGS 1994). Known issues: The program roms are slightly encrypted. Protection? Ends up going wrong and writing to rom areas etc. All frequencies are checked by Guru with his frequency counter (i.e. they are not guessed).
- 7th April 2004: David Haywood sent in a preliminary driver for Lord of Gun which doesn't work because of protection.
- 12th January 2003: Guru - Arrived and dumped Lord of Gun (IGS 1994). Thanks to Brian Troha.
LEVELS: 10
Recommended Games (Shooting 3):
Operation Wolf
Operation Wolf 3
Operation Thunderbolt
Cabal
Beast Busters
Beast Busters 2nd Nightmare
Dynamite Duke
Guts n' Glory (Machine Gun)
Line of Fire
Mechanized Attack
Rambo III
NAM-1975
Space Gun
Spinal Breakers
Steel Gunner
Steel Gunner 2
Rail Chase
Rail Chase 2
Terminator 2 - Judgment Day
G.I. Joe
Lethal Enforcers
Lethal Enforcers II: Gun Fighters
Riot
Alien3: The Gun
Born To Fight
Dragon Gun
Jurassic Park
Jurassic Park 3
Under Fire
Locked 'n Loaded
Lord of Gun
Revolution X
Target Hits
Virtua Cop
Virtua Cop 2
Crypt Killer
Mobil Suit Gundam Final Shooting
Time Crisis
Zombie Raid
Area 51
Maximum Force
Area 51 / Maximum Force Duo
Area 51: Site 4
Crazy Fight
Lethal Justice
Police Trainer
House of the Dead
House of the Dead 2
The House of the Dead III
Behind Enemy Lines
CarnEvil
Teraburst
Flame Gunner
Golgo 13
Golgo 13 Kiseki no Dandou
Invasion - The Abductors
OutTrigger
Confidential Mission
Death Crimson OX
Gun Spike
Silent Scope
Silent Scope 2
Silent Scope EX
The Typing of the Dead
Gun Survivor 2: Bio Hazard Code Veronica
Lupin The Third - The Shooting
Ranger Mission
Romset: 23104 kb / 16 files / 9.16 zip
MAME XML Output:
   | <game name="lordgun" sourcefile="lordgun.c"> |
   |    | <description>Lord of Gun (USA)</description> |
   |    | <year>1994</year> |
   |    | <manufacturer>IGS</manufacturer> |
   |    | <rom name="lordgun.10" size="524288" crc="acda77ef" sha1="7cd8580419e2f62a3b5a1e4a6020a3ef978ff1e8" region="maincpu" offset="0"/> |
   |    | <rom name="lordgun.4" size="524288" crc="a1a61254" sha1="b0c5aa656024cfb9be28a11061656159e7b72d00" region="maincpu" offset="1"/> |
   |    | <rom name="lordgun.90" size="65536" crc="d59b5e28" sha1="36696058684d69306f463ed543c8b0195bafa21e" region="soundcpu" offset="0"/> |
   |    | <rom name="igst001.108" size="1048576" crc="36dd96f3" sha1="4e70eb807160e7ed1b19d7f38df3a38021f42d9b" region="tiles0" offset="0"/> |
   |    | <rom name="igst002.114" size="1048576" crc="816a7665" sha1="f2f2624ab262c957f84c657cfc432d14c61b19e8" region="tiles0" offset="100000"/> |
   |    | <rom name="igst003.119" size="1048576" crc="cbfee543" sha1="6fad8ef8d683f709f6ff2b16319447516c372fc8" region="tiles0" offset="200000"/> |
   |    | <rom name="igsb001.82" size="2097152" crc="3096de1c" sha1="d010990d21cfda9cb8ab5b4bc0e329c23b7719f5" region="tiles1" offset="0"/> |
   |    | <rom name="igsb002.91" size="2097152" crc="2234531e" sha1="58a82e31a1c0c1a4dd026576319f4e7ecffd140e" region="tiles1" offset="200000"/> |
   |    | <rom name="igsb003.97" size="2097152" crc="6cbf21ac" sha1="ad25090a00f291aa48929ffa01347cc53e0051f8" region="tiles1" offset="400000"/> |
   |    | <rom name="igsa001.14" size="2097152" crc="400abe33" sha1="20de1eb626424ea41bd55eb3cecd6b50be744ee0" region="sprites" offset="0"/> |
   |    | <rom name="igsa004.13" size="2097152" crc="52687264" sha1="28444cf6b5662054e283992857e0827a2ca15b83" region="sprites" offset="200000"/> |
   |    | <rom name="igsa002.9" size="2097152" crc="a4810e38" sha1="c31fe641feab2c93795fc35bf71d4f37af1056d4" region="sprites" offset="400000"/> |
   |    | <rom name="igsa005.8" size="2097152" crc="e32e79e3" sha1="419f9b501e5a37d763ece9322271e61035b50217" region="sprites" offset="600000"/> |
   |    | <rom name="igsa003.3" size="2097152" crc="649e48d9" sha1="ce346154024cf13f3e40000ceeb4c2003cd35894" region="sprites" offset="800000"/> |
   |    | <rom name="igsa006.2" size="2097152" crc="39288eb6" sha1="54d157f0e151f6665f4288b4d09bd65571005132" region="sprites" offset="a00000"/> |
   |    | <rom name="lordgun.100" size="524288" crc="b4e0fa07" sha1="f5f33fe3f3a124f4737751fda3ea409fceeec0be" region="oki" offset="0"/> |
   |    | <chip type="cpu" tag="maincpu" name="68000" clock="10000000"/> |
   |    | <chip type="cpu" tag="soundcpu" name="Z80" clock="5000000"/> |
   |    | <chip type="audio" tag="mono" name="Speaker"/> |
   |    | <chip type="audio" tag="ymsnd" name="YM3812" clock="3579545"/> |
   |    | <chip type="audio" tag="oki" name="OKI6295" clock="1000000"/> |
   |    | <display tag="screen" type="raster" rotate="0" width="448" height="224" refresh="60.000000" /> |
   |    | <sound channels="1"/> |
   |    | <input players="2" buttons="1" coins="2" service="yes"> |
   |    |    | <control type="lightgun" minimum="60" maximum="224" sensitivity="35" keydelta="10"/> |
   |    | </input> |
   |    | <dipswitch name="Stage Select" tag="DIP" mask="1"> |
   |    |    | <dipvalue name="Off" value="1" default="yes"/> |
   |    |    | <dipvalue name="On" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Guns" tag="DIP" mask="2"> |
   |    |    | <dipvalue name="IGS" value="2" default="yes"/> |
   |    |    | <dipvalue name="Konami" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Ranking Music" tag="DIP" mask="4"> |
   |    |    | <dipvalue name="Exciting" value="4" default="yes"/> |
   |    |    | <dipvalue name="Tender" value="0"/> |
   |    | </dipswitch> |
   |    | <dipswitch name="Coin Slots" tag="DIP" mask="8"> |
   |    |    | <dipvalue name="1" value="0"/> |
   |    |    | <dipvalue name="2" value="8" default="yes"/> |
   |    | </dipswitch> |
   |    | <driver status="preliminary" emulation="good" color="good" sound="good" graphic="imperfect" protection="preliminary" savestate="unsupported" palettesize="16384"/> |
|
|