summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/pgm.c2
-rw-r--r--src/mame/includes/pgm.h1
-rw-r--r--src/mame/machine/pgmprot_orlegend.c24
3 files changed, 21 insertions, 6 deletions
diff --git a/src/mame/drivers/pgm.c b/src/mame/drivers/pgm.c
index 3980602c901..66819404782 100644
--- a/src/mame/drivers/pgm.c
+++ b/src/mame/drivers/pgm.c
@@ -4105,7 +4105,7 @@ GAME( 1997, orlegende, orlegend, pgm_asic3, orlegend, pgm_asic3_state, o
GAME( 1997, orlegendc, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 112, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 05/05/97 10:08:21 - runs as World, Korea, China
GAME( 1997, orlegendca, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. ???, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 04/02/97 13:35:43 - runs as HongKong, China, China
GAME( 1997, orlegend111c, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 111, Chinese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0001 no date! - runs as HongKong, China, China
-GAME( 1997, orlegend111t, orlegend, pgm_asic3, orlegend, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 111, Taiwanese Board)", GAME_NOT_WORKING ) // V0001 no date! - needs a different protection sequence
+GAME( 1997, orlegend111t, orlegend, pgm_asic3, orlegendt,pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 111, Taiwanese Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )// V0001 no date! - needs a different protection sequence
GAME( 1997, orlegend105k, orlegend, pgm_asic3, orld105k, pgm_asic3_state, orlegend, ROT0, "IGS", "Oriental Legend / Xi You Shi E Zhuan (ver. 105, Korean Board)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // V0000 no date! - runs as Korea
GAME( 1997, drgw2, pgm, pgm_012_025_drgw2, pgm, pgm_012_025_state, drgw2, ROT0, "IGS", "Dragon World II (ver. 110X, Export)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE )
diff --git a/src/mame/includes/pgm.h b/src/mame/includes/pgm.h
index 1bbbaaa927c..50d72359681 100644
--- a/src/mame/includes/pgm.h
+++ b/src/mame/includes/pgm.h
@@ -471,6 +471,7 @@ ADDRESS_MAP_EXTERN( pgm_base_mem, 16 );
INPUT_PORTS_EXTERN( orlegend );
+INPUT_PORTS_EXTERN( orlegendt );
INPUT_PORTS_EXTERN( orld105k );
MACHINE_CONFIG_EXTERN( pgm_asic3 );
diff --git a/src/mame/machine/pgmprot_orlegend.c b/src/mame/machine/pgmprot_orlegend.c
index 6e98fda279e..a9f96018119 100644
--- a/src/mame/machine/pgmprot_orlegend.c
+++ b/src/mame/machine/pgmprot_orlegend.c
@@ -21,7 +21,6 @@ void pgm_asic3_state::asic3_compute_hold(int y, int z)
m_asic3_hold ^= 0x2bad;
m_asic3_hold ^= BIT(z, y);
- m_asic3_hold ^= BIT(m_asic3_x, 1) << 6;
m_asic3_hold ^= BIT(m_asic3_x, 2) << 10;
m_asic3_hold ^= BIT(old, 5);
@@ -29,19 +28,22 @@ void pgm_asic3_state::asic3_compute_hold(int y, int z)
{
case 0:
case 1:
- m_asic3_hold ^= BIT(old, 10) ^ BIT(old, 8) ^ (BIT(m_asic3_x, 0) << 1) ^ (BIT(m_asic3_x, 3) << 14);
+ m_asic3_hold ^= BIT(old, 10) ^ BIT(old, 8) ^ (BIT(m_asic3_x, 0) << 1) ^ (BIT(m_asic3_x, 1) << 6) ^ (BIT(m_asic3_x, 3) << 14);
break;
case 2:
- m_asic3_hold ^= BIT(old, 10) ^ BIT(old, 8) ^ (BIT(m_asic3_x, 0) << 4) ^ (BIT(m_asic3_x, 3) << 12);
+ m_asic3_hold ^= BIT(old, 10) ^ BIT(old, 8) ^ (BIT(m_asic3_x, 0) << 4) ^ (BIT(m_asic3_x, 1) << 6) ^ (BIT(m_asic3_x, 3) << 12);
break;
case 3:
- m_asic3_hold ^= BIT(old, 7) ^ BIT(old, 6) ^ (BIT(m_asic3_x, 0) << 4) ^ (BIT(m_asic3_x, 3) << 12);
+ m_asic3_hold ^= BIT(old, 7) ^ BIT(old, 6) ^ (BIT(m_asic3_x, 0) << 4) ^ (BIT(m_asic3_x, 1) << 6) ^ (BIT(m_asic3_x, 3) << 12);
+ break;
+
+ case 4: // orlegend111t
+ m_asic3_hold ^= BIT(old, 7) ^ BIT(old, 6) ^ (BIT(m_asic3_x, 0) << 3) ^ (BIT(m_asic3_x, 1) << 8) ^ (BIT(m_asic3_x, 3) << 14);
break;
}
}
-
READ16_MEMBER(pgm_asic3_state::pgm_asic3_r)
{
switch (m_asic3_reg)
@@ -189,6 +191,18 @@ INPUT_PORTS_START( orlegend )
PORT_CONFSETTING( 0x0003, DEF_STR( China ) )
INPUT_PORTS_END
+INPUT_PORTS_START( orlegendt )
+ PORT_INCLUDE ( pgm )
+
+ PORT_MODIFY("Region")
+ PORT_DIPNAME( 0x0007, 0x0004, DEF_STR( Region ) )
+ PORT_CONFSETTING( 0x0000, "Invalid 00?" )
+ PORT_CONFSETTING( 0x0001, "Invalid 01?" )
+ PORT_CONFSETTING( 0x0002, "Invalid 02?" )
+ PORT_CONFSETTING( 0x0003, "Invalid 03?" )
+ PORT_CONFSETTING( 0x0004, DEF_STR( Taiwan ) )
+INPUT_PORTS_END
+
INPUT_PORTS_START( orld105k )
PORT_INCLUDE ( pgm )
'5' class='logmsg'> * Various fruit machine rom updates by Haze (no whatsnew) Miodrag Milanovic2011-09-011-1/+27 | * Cleanups and version bump Angelo Salese2011-08-251-3/+3 | * More updates by Haze (no whatsnew) Miodrag Milanovic2011-08-231-0/+6 | * More fruit sets added by Haze (no whatsnew) Miodrag Milanovic2011-08-211-1/+4 | * Fruit machine WIP by Haze (no whatsnew) Miodrag Milanovic2011-08-171-0/+12 | * Driver for S-PLUS [agemame] Miodrag Milanovic2011-08-171-0/+314 | | | More fruit machine work from Haze (no whatsnew) * Various fruit machine updates by Haze (no whatsnew) Miodrag Milanovic2011-08-161-1/+49 | * Clean-ups and version bumpmame0143u3 Angelo Salese2011-08-141-73/+73 | * Proconn,Ace System 1,sp.Ace System ,more sets in Bellfruit System 85 by Haze ↵ Miodrag Milanovic2011-08-071-0/+27 | | | | (no whatsnew) * - Added more scorpion 1 sets by Haze (no whatsnew) Miodrag Milanovic2011-08-071-0/+9 | | | | - Added some sound roms to a couple of epoch sets * Various fruit emu roms added mostly Maygay, by Haze (no whatsnew) Miodrag Milanovic2011-07-291-4/+2050 | * Fixed NAR timing in OKIM6376 to match datasheet figures. [J. Wallace] Angelo Salese2011-06-191-1/+7 | | | | | | | | | | | | | | | | | | | Fixed behaviour for OKIM6376 samples latched while their respective channel is playing (fixes missing audio in New Magic Card 'Skill Game' when won on first loop), and MPU4 sound test [J. Wallace] Audio interface fix for MPU4. [J. Wallace] Lamping fixes for MPU4 small extender. [J. Wallace] Added support for access of separate LED segments in MPU4. (indexed as 'mpu4ledXXX', where the first display unit takes 0-7, the second 8-15 and so on). [J. Wallace] Various updates on the AWP drivers for JPM IMPACT and Maygay M1 [J. Wallace] Various changes for letting Mating Game boot and run, but there are still issues with timing. [J. Wallace] * Clean up 6821 PIA modernization, removing all trampolines. Some Aaron Giles2011-05-031-2/+2 | | | | grossness remains, to be dealt with in the future. * Collapsed device_config and device_t into one class. Updated all Aaron Giles2011-04-271-2/+2 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | existing modern devices and the legacy wrappers to work in this environment. This in general greatly simplifies writing a modern device. [Aaron Giles] General notes: * some more cleanup probably needs to happen behind this change, but I needed to get it in before the next device modernization or import from MESS :) * new template function device_creator which automatically defines the static function that creates the device; use this instead of creating a static_alloc_device_config function * added device_stop() method which is called at around the time the previous device_t's destructor was called; if you auto_free anything, do it here because the machine is gone when the destructor is called * changed the static_set_* calls to pass a device_t & instead of a device_config * * for many devices, the static config structure member names over- lapped the device's names for devcb_* functions; in these cases the members in the interface were renamed to have a _cb suffix * changed the driver_enumerator to only cache 100 machine_configs because caching them all took a ton of memory; fortunately this implementation detail is completely hidden behind the driver_enumerator interface * got rid of the macros for creating derived classes; doing it manually is now clean enough that it isn't worth hiding the details in a macro * Final bulk rename for 0.142: ensure that all members of Aaron Giles2011-04-011-42/+42 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | driver_device classes have an m_ prefix on them. When we eventually move functions using these into member functions, we will be able to remove the state-> pointers, and having the member variables prefixed will allow them to be distinguished from local variables. Some regex'es used (plus manually fixing the remaining stuff): In src/mame/... state->([a-zA-Z_][^_][a-zA-Z0-9_]*) state->m_\1 state->([^m]_[a-zA-Z0-9_]*) state->m_\1 state->m_save_item state->save_item state->m_save_pointer state->save_pointer (AM_BASE_MEMBER *\( *[a-zA-Z0-9_]+ *, *)([a-zA-Z_][^_]) \1m_\2 (AM_BASE_SIZE_MEMBER *\( *[a-zA-Z0-9_]+ *, *)([a-zA-Z_][^_][a-zA-Z0-9_]* *, *)([a-zA-Z_][^_]) \1m_\2m_\3 (AM_SIZE_MEMBER *\( *[a-zA-Z0-9_]+ *, *)([a-zA-Z_][^_]) \1m_\2 m__ m_ In src/mame/includes/... (\t[a-zA-Z0-9_<>]+[ \t]+[&*]*[ \t]*)([a-zA-Z_][^_][][a-zA-Z0-9_]*;)$ \1m_\2 (\t[a-zA-Z0-9_<>]+[ \t]*[&*]*[ \t]+)([a-zA-Z_][^_][][a-zA-Z0-9_]*;)$ \1m_\2 * BIG update. Aaron Giles2011-03-291-17/+17 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove redundant machine items from address_space and device_t. Neither machine nor m_machine are directly accessible anymore. Instead a new getter machine() is available which returns a machine reference. So: space->machine->xxx ==> space->machine().xxx device->machine->yyy ==> device->machine().yyy Globally changed all running_machine pointers to running_machine references. Any function/method that takes a running_machine takes it as a required parameter (1 or 2 exceptions). Being consistent here gets rid of a lot of odd &machine or *machine, but it does mean a very large bulk change across the project. Structs which have a running_machine * now have that variable renamed to m_machine, and now have a shiny new machine() method that works like the space and device methods above. Since most of these are things that should eventually be devices anyway, consider this a step in that direction. 98% of the update was done with regex searches. The changes are architected such that the compiler will catch the remaining errors: // find things that use an embedded machine directly and replace // with a machine() getter call S: ->machine-> R: ->machine\(\)\. // do the same if via a reference S: \.machine-> R: \.machine\(\)\. // convert function parameters to running_machine & S: running_machine \*machine([^;]) R: running_machine \&machine\1 // replace machine-> with machine. S: machine-> R: machine\. // replace &machine() with machine() S: \&([()->a-z0-9_]+machine\(\)) R: \1 // sanity check: look for this used as a cast (running_machine &) // and change to this: *(running_machine *) * Created new enum type address_spacenum for specifying an address Aaron Giles2011-03-271-1/+1 | | | | | | | | | | | | space by index. Update functions and methods that accepted an address space index to take an address_spacenum instead. Note that this means you can't use a raw integer in ADDRESS_SPACE macros, so instead of 0 use the enumerated AS_0. Standardized the project on the shortened constants AS_* over the older ADDRESS_SPACE_*. Removed the latter to prevent confusion. Also centralized the location of these definitions to memory.h. * Eliminate statics/globals in drivers jpm/kaneko/maygay/meadows/merit/ Aaron Giles2011-02-171-74/+88 | | | | | | | | | | | | | | | metro/midcoin/midw8080/midway/msx/namco. [Atari Ace] Hi mamedev, More driver_device conversions. I also handled some missed variables in earlier conversions (bfcobra/cinemat/segas32/taitowlf), and provided a fix (hopefully correct) for bug "03766: cartfury, roadburn, sf2049 + clones: Crash before OK" in audio/dcs.c so I could at least start drivers\vegas.c to check my changes. ~aa * Reimplemented fruit-machine mechanical meters to use timers [AGEMAME] Phil Bennett2011-02-051-3/+2 | | | | | | | | | | | | | | | | Various MPU4 changes [AGEMAME]: * Revised timing/input system to stop flickering * Tidied up the LED drawing code to remove flicker * Support for all known extenders and reel multiplex boards used in MPU4 H/W * Partial support for OKI sampled sound card, need for some titles * Fixed Old Timer characteriser * Some general tidying up to allow better study of the BwB titles New games added as GAME_NOT_WORKING: ------------------------------------ Reno Reels (20p/10GBP Cash, release A) [AGEMAME] BwB Tetris v 2.2 [AGEMAME] Red Hot Poker (20p/10GBP Cash, release 3) [AGEMAME] * Start of transitioning games already in MAME to 'GAME_MECHANICAL". Adjusted ↵ Scott Stone2011-01-051-1/+1 | | | | UI to show a message when attempting to use a game with this flag. * running_device -> device_t Aaron Giles2010-12-311-3/+3 | | | | | They both already existed. No sense in having two names for the same object type. * MDRV_* -> MCFG_* Aaron Giles2010-12-311-15/+15 | | | | | There hasn't been a machine driver for many years. * Cleaned up many duplicate inputs and fixed others in a number of drivers. ↵ Scott Stone2010-11-111-1/+1 | | | | [Tafoid] * Added templates required_shared_ptr<> and optional_shared_ptr<> which Aaron Giles2010-09-041-2/+3 | | | | | | | | | | | | | | | | | | | | | | work just like required_device<> and optional_device<> for retrieving a pointer by tag from an address space that specifies AM_SHARE("tag"). Also added templates required_shared_size<> and optional_shared_size<> for retrieving the size of the AM_SHARE region. Created a new generic NVRAM device. It can be configured to default to 0-fill, 1-fill, random-fill, or custom fill. In all cases, a same-named memory region overrides the default fill. The address range where the NVRAM can be found is now identified by an AM_SHARE() region of the same tag as the NVRAM device. Drivers can also explicitly configure a separately-allocated NVRAM region via nvram_device::set_base(). Replaced all instances of MDRV_NVRAM_HANDLER(generic_*) with MDRV_NVRAM_ADD_*("nvram"). Replaced all AM_BASE_GENERIC/AM_SIZE_GENERIC(nvram) with AM_SHARE("nvram"). For all remaining drivers that referenced the generic.nvram directly, changed them to hold a required_shared_ptr<UINTx> to the NVRAM in their driver state, and use that instead. Removed nvram and nvram_size from the generic_ptrs. * Changed driver_data objects to be devices. Replaced the driver_data_t