Commit Graph

9730 Commits

Author SHA1 Message Date
Angelo Salese
5f6ba3ed9c Fixed Toaplan2 VDP mixing in Batsugun [David Haywood] 2010-08-21 19:23:23 +00:00
Aaron Giles
5f174240f1 Fix crash when loading cheats, plus a bit of minor cleanup. 2010-08-21 19:05:14 +00:00
Aaron Giles
e38adf825e Added mask-free versions of read_word/read_dword/read_qword to
address_space. Also added unaligned variants that can read
unaligned values. Rewrote the core handler as a template that
handles all cases, along with a simple unit test to verify that
everything is correct.

Updated 68k, v60, i86, and nec cores to use unaligned read/
write instead of their own stubs for handling misalinged reads.

Fixed memory management of ga2 decryption.
2010-08-21 18:40:01 +00:00
Phil Bennett
71090cf8fa 03718: shdancer: Freeze on stage 2-4 [Phil Bennett]
segaic16.c: Treat unsupported read and write accesses to defined devices/memory as open-bus reads or unmapped writes instead of falling through to the memory-mapping registers [Phil Bennett]
2010-08-21 18:30:19 +00:00
Angelo Salese
2cd0d9ca47 Marked Gold Medalist sound roms with bad dump flag (they comes from a bootleg board), not worth mentioning 2010-08-21 18:20:50 +00:00
Angelo Salese
23f7551cbb Documented unemulated protection in Super Champion Baseball, marked the game with GAME_UNEMULATED_PROTECTION due of that [Angelo Salese] 2010-08-21 18:16:48 +00:00
Angelo Salese
65076ac9d1 added correct GFX roms for Gang Wars, renamed bootleg set as Euro set (and new parent),made note about bootleg GFX roms [David Raingeard] 2010-08-21 18:01:02 +00:00
Angelo Salese
da9712fb52 new clones
----------
Eco Fighters (Phoenix Edition)

(i.e. no credit wanted)
2010-08-21 16:43:50 +00:00
Angelo Salese
3688cae4db Toaplan2: Attempted to implement dual VDP mixing with the equations provided by Quench, doesn't yet work [David Haywood] 2010-08-21 15:59:07 +00:00
Angelo Salese
843e4de54a Fixed unmap writes in core, not worth mentioning, just do any stylistical change if you want it. 2010-08-21 15:53:43 +00:00
Angelo Salese
b57c4c0360 new clones
----------
Legion (bootleg of Legend) [Team Europe]
2010-08-21 15:06:49 +00:00
Angelo Salese
47ec70b9e6 Haze: Made "Input file is for..." warning non-fatal (it crashed MAME before, and it's not really fatal anyway, sets can be renamed, and some inps are compatible across sets)
in this case, I've recoreded an init inp for the igrosoft games, which works with all sets with the same service menu.. it plays fine on them, but because of this fatalerror MAME crashes when i attempt to use it with a set other than the one i recorded with
which isn't good behavior
I see no issue with it.. mame shouldn't crash in that situation, and sometimes you want that behavior.

(not worth mentioning)
2010-08-21 13:21:17 +00:00
Curt Coder
6791eb9adb Expanded the Z80-DART interface to allow future implementation of Z80-SIO features: [Curt Coder]
- added separate clock inputs for channel B
- added SYNC inputs/outputs for both channels
2010-08-21 00:03:37 +00:00
stephh
e5e8a7b4d9 crospang, heuksun, bestri (crospang.c) [stephh] :
- Improved Dip Switches (after verification of the M68000 code)
2010-08-20 23:53:30 +00:00
Roberto Fresca
4bcfb04bb4 Just a little comment about the bad dump from comg080. 2010-08-20 23:36:19 +00:00
Curt Coder
d303a4f17d Imported the Hitachi HCD62121 CPU core from MESS. 2010-08-20 17:32:03 +00:00
Curt Coder
5cfa64098e ARM7 core fix from Aaron. (no whatsnew) 2010-08-20 17:29:10 +00:00
Miodrag Milanovic
8f0fae278c Fix for i286 regression (no whatsnew) 2010-08-20 16:55:22 +00:00
Curt Coder
b5fabb049d Clear Z80 DART interrupts at constructor time. [Curt Coder] 2010-08-20 16:15:41 +00:00
Angelo Salese
4512bc3122 Work-around for too small timers, not worth mentioning 2010-08-20 15:02:39 +00:00
Angelo Salese
eed6b16b3f Enabled PIT irq, not worth mentioning 2010-08-20 14:00:23 +00:00
Roberto Fresca
86b987a9a9 Improvements to CEI 906 III system. [Roberto Fresca]
* Corrected docs about the 906III memory map.
  * Mapped the AY8912.
  * Added AY8912 proper interfase. Tied SW2 to AY8912 port.
  * PIA0, portA is polled constantly. Tied some debug handlers
     to understand how the input system works.
  * Added notes about the PIAs R/W.
2010-08-20 12:57:45 +00:00
Angelo Salese
f487d31c1a Various sm8500 CPU core fixes [Robbbert] 2010-08-20 12:21:17 +00:00
Angelo Salese
0d99de8361 Removed excessive HALT_LINE call, fixes Jag BIOS roar sound (not worth mentioning) 2010-08-20 11:43:07 +00:00
Roberto Fresca
ed48be89c4 Improvements to calomega.c driver [Roberto Fresca]
* Added Game 24.0 (Gaming Draw Poker, hold). The game is playable.
  * Added missing 50/60Hz output frequency selector to systems 903-905.
     However, I dunno how it looks physically (switch/jumper/bridge?)
  * Injected missing start and NMI vectors to comg080 (Arcade Black Jack),
     from an exhaustive program ROM analysis / reverse engineering.
     The game now starts ok and is triggering proper NMI's.
  * Inputs from the scratch for comg080 (Arcade Black Jack).
  * Added workaround to pass the vector-check protection.
  * Reworked the lamps circuitry by system-basis.
  * Updated games list and technical notes.
  * Promoted comg080 (Arcade Black Jack) to working state.

  * Added support for system 906III:
     - Accurate memory map, CRTC, and PIAs mapped.
     - Preliminary PIAs support (no multiplexion yet).
     - Added proper machine driver, with correct R65C02 CPU.
     - Documented the hardware specs.
     - Added Game 51.08 (CEI Video Poker, Jacks or Better),
       running in CEI 906III hardware. The game is not working.


New games added or promoted from NOT_WORKING status
---------------------------------------------------
Cal Omega - Game 8.0 (Arcade Black Jack) [Roberto Fresca]
Cal Omega - Game 24.0 (Gaming Draw Poker, hold) [Roberto Fresca]


New games marked as GAME_NOT_WORKING
------------------------------------
Cal Omega - Game 51.08 (CEI Video Poker, Jacks or Better) [Roberto Fresca, Dave Ormiston]
2010-08-20 08:02:25 +00:00
Andrew Gardner
eb93451a1b [no whatsnew] dsp56k: Further removal of std::strings.
(svn revision #9999 - woot!)
2010-08-20 06:11:12 +00:00
Roberto Fresca
ce02154eb3 I forgot a commentary about the U71 PROM. 2010-08-20 03:00:33 +00:00
Roberto Fresca
9cb44f7f12 Added 3 Bags Full - 5VXFC790 (Victorian). Set is now parent.
Replaced the bad dumped GFX from NZ set with the new ones,
since they match 4 of 6 bitplanes. [Roberto Fresca]


New games added or promoted from NOT_WORKING status
---------------------------------------------------
3 Bags Full - 5VXFC790 (Victorian) [Roberto Fresca, Ogoun]
2010-08-20 02:47:26 +00:00
Angelo Salese
e4770a5783 Changed GP9001 (toaplan VDP device) to use DEVICE_SELF [David Haywood] 2010-08-19 23:09:45 +00:00
Angelo Salese
1f28a09420 Haze: fixed Shaolin's Road (set 2) colors (not worth mentioning) 2010-08-19 22:57:51 +00:00
Phil Bennett
a24f5b8358 Of course not, OG. 2010-08-19 20:17:55 +00:00
Aaron Giles
f5a217442a Fix crasher caused by new astring operators (original code
was buggy, but didn't crash before).
2010-08-19 19:59:16 +00:00
Aaron Giles
05702c5f07 Added basic comparison operators to the astring class. 2010-08-19 16:13:51 +00:00
Phil Bennett
97c9264e2f 03881: minefld, rescue, aponow: Hangs at Post [Phil Bennett] 2010-08-19 16:12:12 +00:00
Aaron Giles
621a2faa2a Remove final set of legacy inlines from memory.h. Mostly affects CPU
cores, which all now cache a copy of space->direct() and use it for
direct accesses.
2010-08-19 16:10:19 +00:00
Andrew Gardner
9bbc2e2f00 [no whatsnew] dsp56k : Weaning the core off std::strings.
(Sorry for jamming this in the middle of some major system changes.
 It shouldn't collide much, if at all.)
2010-08-19 15:40:06 +00:00
Aaron Giles
44c78c4939 Remove most of the temporary inline helpers.
The only one that touched a lot of drivers is this one:

S: memory_set_decrypted_region( *)\(( *)([^,]+)( *),( *)
R: \3->set_decrypted_region\1\(\2
2010-08-19 14:19:38 +00:00
Aaron Giles
a86a4c3684 Remove a level of indirection when calling m68000 memory handlers. 2010-08-19 14:04:49 +00:00
Phil Bennett
98630a96d7 03961: racedriv and clones: Game resets itself before game start [Phil Bennett]
Given that cpu_eat_cycles() doesn't work in this case and the old method of getting icount is deprecated, let's just remove the hack...
2010-08-19 13:30:03 +00:00
Scott Stone
9b55f891e9 Fix 04006: fixeightb: Graphic glitches 2010-08-19 10:46:59 +00:00
Phil Bennett
71059b2a59 [Append to neodrvr.c change list]
* Corrected ROM_REGION "maincpu" for
 . twinspri, ghostlop, aof2, aof2a, fightfev, fightfeva
 * Added correct p1 ROM to irrmaze


That's the last of the external submissions Aaron.

---------- Forwarded message ----------
From: Manuel Carreras <jaybeewip@yahoo.es>
Date: Sun, Aug 15, 2010 at 12:29 PM
Subject: submission 2 for Mame 0.139u1
To: submit@mamedev.org
Cc: jaybeewip@gawab.com


Hi mamedev,

a second small submission for Mame 0.139u1.

ReadMe and diff are in attached .zip

Thx
jb

Submission 2 from Johnboy for Mame v0.139u1

Changed files:
===============
src\mame\drivers\neodrvr.c


Changes:
========
Corrected ROM_REGION "maincpu" for
 . twinspri, ghostlop, aof2, aof2a, fightfev, fightfeva
Added correct p1 to irrmaze
2010-08-19 09:36:40 +00:00
Phil Bennett
50e0cc725a neodrvr.c updates: [Johnboy]
* Renamed the following sets:
    sengokh -> sengokuh,
    fatfursa -> fatfurspa,
    shocktra -> shocktroa
    kof99 -> kof99h,
    kof99a -> kof99
 * Removed wh2j (only diff. C-ROM arrangement; same data)
 * Added correct m1 to sengoku3


---------- Forwarded message ----------
From: Manuel Carreras <jaybeewip@yahoo.es>
Date: Sat, Aug 14, 2010 at 6:03 PM
Subject: submission for Mame 0.139u1
To: submit@mamedev.org
Cc: jaybeewip@gawab.com


Hi mamedev,

a small submission for Mame 0.139u1.

ReadMe and diff are in attached .zip

Thx
jb


Submission from Johnboy for Mame v0.139u1

Changed files:
===============
src\mame\mamedriv.c
src\mame\drivers\neodrvr.c
src\mame\machine\neoprot.c

Changes:
========

Renamed the following clone sets:
. sengokh, fatfursa, shocktra
Removed wh2j (only diff. c-rom arrangement; same data)
Added correct m1 to sengoku3
Renamed kof99 to kof99h and kof99a to kof99
2010-08-19 09:02:12 +00:00
Aaron Giles
0edda6dda2 Remove memory_read/write_byte/word/dword/qword* variants. Again, this is mostly
bulk search & replace:

S: memory_read_([bytewordq]+)_[0-9lbe_maskd]+( *)\(( *)([^,]+)( *),( *)
R: \4->read_\1\2\(\3

S: memory_read_([bytewordq]+)( *)\(( *)([^,]+)( *),( *)
R: \4->read_\1\2\(\3

S: memory_write_([bytewordq]+)_[0-9lbe_maskd]+( *)\(( *)([^,]+)( *),( *)
R: \4->write_\1\2\(\3

S: memory_write_([bytewordq]+)( *)\(( *)([^,]+)( *),( *)
R: \4->write_\1\2\(\3

Gets 99% of the cases.
2010-08-19 08:27:05 +00:00
Aaron Giles
3598b772bc Replace "const address_space" with "address_space" throughout the system.
The purpose of making it const before was to discourage direct tampering,
but private/protected does a better job of that now anyhow, and it is
annoying now.

    s/const[ \t]+address_space\b/address_space/g;

Is basically what I did.
2010-08-19 07:26:14 +00:00
Aaron Giles
dd19e512c0 Massive memory system change. This is another step along the path toward
supporting cleaner implementations of drivers in the explicitly OO world.
Expect a follow-on of several more changes to clean up from this one, which
deliberately tried to avoid touching much driver code.

Converted address_space to a class, and moved most members behind accessor
methods, apart from space->machine and space->cpu. Removed external references
to 8le/8be/16le/16be/32le/32be/64le/64be. All external access is now done via
virtual functions read_byte()/read_word()/etc. Moved differentiation between
the endianness and the bus width internal to memory.c, and also added a new
axis to support small/large address spaces, which allows for faster lookups
on spaces smaller than 18 bits. 

Provided methods for most global memory operations within the new address_space 
class. These will be bulk converted in a future update, but for now there are
inline wrappers to hide this change from existing callers.

Created new module delegate.h which implements C++ delegates in a form that 
works for MAME. Details are in the opening comment. Delegates allow member 
functions of certain classes to be used as callbacks, which will hopefully 
be the beginning of the end of fetching the driver_data field in most 
callbacks. All classes that host delegates must derive from bindable_object.
Today, all devices and driver_data do implicitly via their base class.

Defined delegates for read/write handlers. The new delegates are always
passed an address_space reference, along with offset, data, and mask. Delegates
can refer to methods either in the driver_data class or in a device class.
To specify a callback in an address map, just use AM_READ_MEMBER(class, member).
In fact, all existing AM_ macros that take read/write handlers can now accept
delegates in their place. Delegates that are specified in an address map are
proto-delegates which have no object; they are bound to their object when
the corresponding address_space is created.

Added machine->m_nonspecific_space which can be passed as the required
address_space parameter to the new read/write methods in legacy situations 
where the space is not provided. Eventually this can go away but we will
need it for a while yet.

Added methods to the new address_space class to dynamically install delegates
just like you can dynamically install handlers today. Delegates installed this
way must be pre-bound to their object.

Moved beathead's read/write handlers into members of beathead_state as an
example of using the new delegates. This provides examples of both static (via
an address_map) and dynamic (via install_handler calls) mapping using delegates.

Added read/write member functions to okim6295_device as an example of using
delegates to call devices. Updated audio/williams.c as a single example of
calling the device via its member function callbacks. These will be bulk
updated in a future update, and the old global callbacks removed.

Changed the DIRECT_UPDATE_CALLBACKs into delegates as well. Updated all users
to the new function format. Added methods on direct_read_data for configuring the
parameters in a standard way to make the implementation clearer.

Created a simple_list template container class for managing the common
singly-linked lists we use all over in the project.

Many other internal changes in memory.c, mostly involving restructuring the code
into proper classes.
2010-08-19 06:57:51 +00:00
Angelo Salese
bf9afe4c4b Improved the memory management some more 2010-08-19 03:32:49 +00:00
Angelo Salese
bd5af6aa45 Fixed another memory management bug 2010-08-19 02:48:25 +00:00
Angelo Salese
3d1b853486 Added flyback 2010-08-19 02:28:26 +00:00
Angelo Salese
77e01f0037 ...fixed for good 2010-08-19 01:42:04 +00:00
Angelo Salese
339da06f52 Fixed a crash 2010-08-19 01:39:12 +00:00