Commit Graph

731 Commits

Author SHA1 Message Date
Zsolt Vasvari
345a0c470b machine->pens lookup removal 2008-02-22 14:37:10 +00:00
Roberto Fresca
a7ce6cec63 Switched the color decoding routines to use resnet code. 2008-02-22 08:06:24 +00:00
Zsolt Vasvari
ec82c37570 Mr.Do fixed the positioning of the laser beam based on the test mode. 2008-02-22 07:52:33 +00:00
Zsolt Vasvari
422de34a3f - Adds the layout file created by Mr. Do
- Clean-up and reorg
2008-02-22 07:32:08 +00:00
Zsolt Vasvari
5fa2c2c76c machine->pens lookup removal 2008-02-22 03:45:50 +00:00
Zsolt Vasvari
bc69380af9 machine->pens lookup removal 2008-02-22 01:51:36 +00:00
Zsolt Vasvari
8c409c07df Cloak & Dagger video code cleanup:
- resnet conversion - colors are now signficantly less saturated because of the 1K pull-ups.
  This is noticable in the agent's coat and the sky color, for example.  As far as I can tell this
  correct from the schematics.
- Added bitmap palette selection based on the 128H line.  Not sure where this is actually used in
  the game
2008-02-22 01:32:05 +00:00
Couriersud
504337cfb1 Followup to r767:
* submit changes to makefile omitted in r767
2008-02-22 00:17:36 +00:00
Couriersud
9c460a6248 Makefile & build system update:
* verinfo: New syntax.
	verinfo now uses the following syntax: verinfo.exe -b windows|winui|mess. 
	Does not depend on compile time defines any longer.

* makefile will include - if it exists - src/osd/$(CROSS_BUILD_OSD)/build.mak.
	This was necessary to enable cross builds for winui. winui adds mkhelp to build tools and the rules for mkhelp thus had to be moved outside src/osd/winui/winui.mak

* Tested on Linux 64bit, Linux 32bit, Windows 32bit mingw, Windows 32bit MSVC

* Cross build environment to be posted to the list
2008-02-21 23:53:29 +00:00
Brian Troha
885d66e31a remove redundant lines used to test changes 2008-02-21 23:35:37 +00:00
Brian Troha
a9d8713a91 Adds 7MHz XTAL to xtal.h
Corrects clock speeds for the megasys1.c boards.

Yes... the games actually are _THAT_ slow!
2008-02-21 23:29:51 +00:00
Brian Troha
2e217896e8 selling corrections 2008-02-21 22:03:51 +00:00
Aaron Giles
8436bec1e3 Cleanups and version bump for 0.123u2. 2008-02-21 17:43:00 +00:00
Zsolt Vasvari
e619861862 - Added void state_save_combine_module_and_tag(char *dest, const char *module, const char *tag);
Its purpose is to create a unique name for state saving purposes in modules that are tag based (no index)

- Updated MC6845 to make use of this
2008-02-21 12:00:00 +00:00
Zsolt Vasvari
0ab1b992b7 - Pen lookup removal
- With my previous update, some of the games in cave.c asserted out -- this fixes it
- seta.c employs the same pattern as cave.c
2008-02-21 11:43:45 +00:00
Zsolt Vasvari
2e595362d8 - Some more machine->pen lookup removal
- Changed Beathead driver to use partial updates instead of caching scanline level information
2008-02-21 09:12:53 +00:00
Aaron Giles
b7c4a537cd Most important thing to note about this change:
ALL DRIVERS MUST NOW EXPLICITLY DECLARE THEIR SCREENS.

Read on for more detail....

Added device tag as a parameter to the start function for devices.
Updated MC6845 to accept this tag.

Added new functions for iterating through the device list and 
counting devices of a given type. Updated search and iteration
functions to accept DEVICE_TYPE_WILDCARD to work across all
devices.

Added new macro MDRV_DEVICE_CONFIG_DATA() which is used to set a
single item in an inline data structure.

Removed the per-screen palette_base. This was an idea that never
really worked out, nor have we really needed it.

Defined a new device type VIDEO_SCREEN. Currently this has no
live functionality, but merely serves as a placeholder/identifier
for video screens. Eventually some of the screen management code
may move into the start/stop/reset functions.

Changed MDRV_SCREEN_* macros to build up VIDEO_SCREEN devices
rather than storing values in the screen[] array.

Changed MDRV_SCREEN_ADD to specify a screen type (RASTER, VECTOR,
LCD for the moment).

Removed the older VIDEO_TYPE_RASTER and VIDEO_TYPE_VECTOR; this
information is now determined by walking the screen list.

Removed the screen[] array from machine_config. Modified all code 
referencing Machine->config->screen[] and changed it to iterate 
over the devices using the new video_screen_first() and 
video_screen_next() functions.

(The next step will be to add video_* functions that accept a tag
instead of screen index, and then move systems over to always
referencing screens by tag instead of index.)

Removed implicit screen #0. This means that ALL DRIVERS MUST
EXPLICITLY DECLARE THEIR SCREENS. Updated all drivers to do
so. While there, grouped all MDRV_SCREEN_* parameters together.
Also removed unnecessary VIDEO_TYPE_RASTER and VIDEO_TYPE_VECTOR.
Also removed VBLANK and bitmap format information from vector
games. This was painful and very tedious.

Changed game information to display info about all screens.
2008-02-21 08:50:36 +00:00
Zsolt Vasvari
10d9982716 Removed some unneccassary lookups through machine->pens 2008-02-21 03:22:33 +00:00
Zsolt Vasvari
e5bcee449d Removed the pen array lookup from some INDEXED16 drivers 2008-02-21 02:00:11 +00:00
Zsolt Vasvari
288a0adbe1 Adds video\gameplan.c 2008-02-21 00:47:22 +00:00
Zsolt Vasvari
4606ca9dc2 - Reorganized Gameplan driver
- Changed Trivia Quest use the Gameplan video code
- Added crystal for Gameplan pixel clock
2008-02-21 00:46:44 +00:00
Brian Troha
930f6ecac0 Document regions by color code 2008-02-20 23:12:54 +00:00
Brian Troha
12088331a5 correction to documentation as pointed out by the Guru 2008-02-20 23:04:55 +00:00
Zsolt Vasvari
10e5c35068 - Changed all drivers using the MC6845 chip to use the device interface
- Removed mc6845_config
- Minor changes to the Qix driver
2008-02-20 13:17:06 +00:00
Zsolt Vasvari
72a9167032 - Added running_machine* as first parameter to mc6845_config and all callbacks. Updated all users.
- Reorganized Qix driver.  Driver state, decoupled audio section, etc.
2008-02-20 08:39:22 +00:00
Aaron Giles
85112f6f1c Removed clock and flags as fundamental device parameters. 2008-02-20 06:08:30 +00:00
Aaron Giles
99675196a8 Added support for inline device configuration. 2008-02-20 06:06:13 +00:00
R. Belmont
8c4a6a2d2a Removed unnecessary debug stub. 2008-02-20 05:27:11 +00:00
Zsolt Vasvari
df91564d03 - Complete memory map
- Cyrsals
- Driver state structure
- Text layer is rendered at the same time as the background
2008-02-20 05:25:29 +00:00
R. Belmont
cc998eae3a Missed a few things in the last commit. 2008-02-20 05:13:17 +00:00
R. Belmont
5f4c195fe6 [SH4] Added missing SH4 instructions and bugfixed the FPU
[NAOMI] Improved I/O board emulation and added working controls

(Credit Samuele Zannoli, I just tweeked it to cooperate with my changes).
2008-02-20 05:11:31 +00:00
R. Belmont
4ba34771dc [AICA] Fixed ADPCM looping. 2008-02-20 05:08:58 +00:00
Brian Troha
a1d920d679 Adds Excellent Co, Ltd Redhawk to nmk16.c
minor whitespace clean up in ddragon3.c
slighty more verbose description of proms in jedi.c
2008-02-19 22:54:57 +00:00
Curt Coder
bbc76a1e46 Added PROM type information. 2008-02-19 21:53:52 +00:00
Curt Coder
9c82aa0f11 Removed BAD_DUMP flags from the highly controversial background smoothing PROMs. 2008-02-19 18:20:48 +00:00
Aaron Giles
671afc2661 Updated validity.c to current core style. 2008-02-19 18:02:59 +00:00
Curt Coder
949599e0ff Added some XTALs for MESS. 2008-02-19 17:59:06 +00:00
Curt Coder
1424fce298 Added i8749 CPU type for MESS. 2008-02-19 17:54:47 +00:00
Aaron Giles
aad4c81ac4 Pulled remaining vestiges of old-style colortables:
* PALETTE_INIT no longer has a colortable parameter
 * removed game_colortable and remapped_colortable from machine_config
 * updated a few stragglers that still referenced these fields
 * removed tile_draw_colortable from tilemap.c

(From Zsolt): Added support for the new colortable object in the palette viewer

Changed the input port tokens to use a union instead of casting everything to FPTR.
In the future, C99-enabled compilers will be able to achieve type safety with
designated initializers.
2008-02-19 17:52:21 +00:00
Zsolt Vasvari
3d8658108f - Added video_screen_update_now(int scrnum) to force a screen update up to the current beam position
- Changed Qix driver to use this function
2008-02-19 12:27:00 +00:00
Aaron Giles
ccb9e852f9 From: keshbach@comcast.net [mailto:keshbach@comcast.net]
Subject: Assorted dumps and other fixes

Hi,
 
I have enclosed a patch file that:

* Fixed some of the rom dumps for Double Dragon 3 (Some of the dumps were based of the bootleg and not the original.) and updated the name and location to actually match that of a real board
* Updated the dip switches for Combatribes to actually show their position on the physical board.
* Dumped the six GAL's on Battletoads and updated the existing rom names to make their locations easier to understand.
* Updated the dip switches of Battletoads to actually show their position on the physical board.
* Added placeholders for pals that need to be dumped for the various games in mcr68 driver.  I got the information by looking at the manuals except I couldn't find a manual for Arch Rivals or Pigskin 621AD though I'm sure they probably have pals that need to be dumped.
* Added placeholders for the two pals that are on the bootleg version of Hyper Olympics and corrected the rom names to match their location on the board.

Kevin Eshbach
2008-02-19 09:37:04 +00:00
Aaron Giles
cf861dda68 From: Corrado Tomaselli [mailto:corrado.to@tiscali.it]
Subject: clock frequencies diff

Verified clocks on Rainbow Islands and Rambo 3 and Raiden 2. Reverted 
sound OSC of Truxton 2 to 27mhz/8 since the original OST runs at this 
speed. The pcb I measured the previous clock was 28mhz/8 and it's a 
different pcb version from the common one. Since mame doesn't support 
multiple OSC I prefer to use the 27mhz one.
2008-02-19 09:29:15 +00:00
Aaron Giles
f391dd8ed4 From: KO Myung-Hun [mailto:komh@chollian.net]
Subject: _mul_32x32_hi() and _mulu_32x32_hi() patch

Hi/2.

I've attached patches to fix validation fail of '_mul_32x32_hi()' and
'_mulu_32x32_hi()' inline function when compiled GCC v3.3.5 with I686
optimization in according to advice of 'Vas Crabb'
2008-02-19 09:27:39 +00:00
Aaron Giles
08c3ff61e0 From: JEA Wallace [mailto:jeaw100@york.ac.uk]
Subject: Various little changes from the last month

I've been meaning to send these in for ages, but the day job has been 
insane for a while now, so it's been hard to keep these up to date.

Firstly, I've fixed a few corner cases I've noticed in the 6840 
emulation based on running the MPU4 test ROMs, and added the ability to 
dynamically alter the external clock frequencies in game (since these 
pins can be connected to other timing devices in a daisy chain, this may
well prove handy for speech chips and the like).

The 6850 core has also been changed to allow dynamic RX and TX clock 
alteration, to at least try to remove a few of the MPU4 timing problems 
(the ACIA clocks are triggered by the output pin of one of the 6840 
timers, so the clock rate will vary according to what has been 
programmed into the counter, rather than a fixed value).

MPU4 has been changed to document the Video board a bit better, and to 
change a game name to match what is actually on the marquee. Other names
have changed, to better describe the program nature (AMLD versions are 
legally speaking not SWPs, as there is no capacity for payout, so AMLD 
SWP is an oxymoron).

Lastly, since I was smoketesting 6840ptm using cchasm anyway, I've added
some documentation of the Cosmic Chasm crystals, and merged the memory
maps.
2008-02-19 09:26:23 +00:00
Aaron Giles
787b37d60e From: Edward Swiftwood [mailto:payphoneed@gmail.com]
Subject: Puzzle Club Vol.2/4/5 DIP Switch Fix

Here it is, done by me so you don't have to! Enjoy!
2008-02-19 09:24:34 +00:00
Aaron Giles
62754695d7 From: Atari Ace [mailto:atari_ace@verizon.net]
Subject: [patch] Fix namcos2 multisession crash

Hi mamedev,

If you run a namcos2 game multi-session (say marvland), it may crash
due to an inappropriate use of auto_malloc.  Fix attached.

~aa
2008-02-19 09:23:43 +00:00
Aaron Giles
1f7c87ec68 From: RansAckeR [mailto:RansAckeR@pandora.be]
Subject: port definitions/DIP improvements
Simplified port definitions in armedf.c, artmagic.c & asteroid.c.

Added DIP locations to: cclimbr2 , legion, terraf, ultennis, cheesech,
stonebal, stoneba2,  scessjoe, ashnojoe, asteroid, llander, llander1,
astdelux.

(This is the follow-up submission with stephh's complaint addressed.)
2008-02-19 09:19:32 +00:00
Aaron Giles
8024faaa6d From: Corrado Tomaselli [mailto:corrado.to@tiscali.it]
Subject: Shadow Warriors inputs diff

Connected the buttons like they are wired on the original pcb (which is
jamma):
Button 1: Grab
Button 2: Attack
Button 3: Jump
2008-02-19 09:11:02 +00:00
Aaron Giles
64c7a0c4bd From RansAckeR:
Reviewed the following drivers:

alpha68k.c
actfancr.c
aeroboto.c
aerofgt.c
aliens.c
ambush.c
amidar.c
amspdwy.c
angelkds.c
appoooh.c
arabian.c
argus.c
arkanoid.c

Improved some DIP switches.
Added some DIP locations.
Replaced IPT_COINx with IPT_SERVICE1 where appropiate.
Simplified some control definitions.
2008-02-19 09:09:02 +00:00
Aaron Giles
3accee936b New module: devintrf.c/.h. Implements a generic device interface similar
to the sound and CPU interfaces. This is still a bit WIP, but works at
a fundamental level. Currently the only example of usage is in qix.c for
the MC6845 CRTC.

New module: mconfig.c/.h. Moved all machine_config and MDRV_* macros here, 
out of driver.c/.h. Added MDRV macros for adding/removing/configuring
devices.

qix.c: Moved video part of machine driver to video/qix.c. Added MC6845
as a device in the machine driver. Removed explicit MC6845 initialization
from VIDEO_START in favor of simply retrieving the token from the device
interface code.

mc6845.c: Updated all callbacks to pass the mc6845_t * object. Updated
all drivers accordingly. Added a minimal device interface.

Deprecated the following constants because global constants that pretend
to document things but which are only guesses are dumb:

  - DEFAULT_60HZ_VBLANK_DURATION
  - DEFAULT_30HZ_VBLANK_DURATION
  - DEFAULT_REAL_60HZ_VBLANK_DURATION
  - DEFAULT_REAL_30HZ_VBLANK_DURATION
  - DEFAULT_60HZ_3S_VBLANK_WATCHDOG
  - DEFAULT_30HZ_3S_VBLANK_WATCHDOG

Updated all drivers to explicitly specify the equivalent bogus times.
Added comments for the "REAL" VBLANK durations to indicate that they are
not accurate.
2008-02-19 08:49:59 +00:00