Commit Graph

1129 Commits

Author SHA1 Message Date
Aaron Giles
ae4002a56d From: Corrado Tomaselli [mailto:corrado.to@tiscali.it]
Subject: ghost and goblins (italian bootleg, harder)

this is an italian bootleg with a really hard gameplay. it's quite 
impossible to say the truth ;)
pics of the board:
http://www.citylan.it/gngitaly/main%20PCB%20component%20side.jpg
http://www.citylan.it/gngitaly/roms%20PCB%20component%20side.jpg

New clones added:
Ghosts'n Goblins (Italian bootleg, harder)
2008-04-21 00:11:19 +00:00
Aaron Giles
e91eb4007c Flipped the damn mem_mask. It is no longer inverted when passed to
read/write handlers. Updated all drivers accordingly. Hope I didn't
miss anything important!

Blame OG and smf for goading me into it. :)
2008-04-20 02:38:35 +00:00
Aaron Giles
9dd3f691ba Expanded the set of memory accessor functions. In addition to
direct byte, word, dword, and qword accessors for all bus sizes,
there are now masked word, dword, and qword accessors for all
bus sizes.

IMPORTANT: masks that are passed to the _masked_* functions are
NOT inverted. Although inverted masks are still passed to callback
functions, when you request a masked read or write the masks should
represent the bits you want.

Updated the various MIPS cores that use these functions to invert
their masks.
2008-04-19 19:09:24 +00:00
Roberto Fresca
4b86e644f9 65C02/65CE02 CPUs and variants:
Fixed the 6502 family of disassemblers to show the correct bit to operate for BBR, BBS, RMB and SMB instructions.
2008-04-18 06:06:04 +00:00
Aaron Giles
b35c15fef5 Cleanups and version bump to 0.124u3. 2008-04-17 05:26:05 +00:00
Aaron Giles
2028ecc2f7 Removed ancient 720 kludge.
Added support in the T-11 core for an external vector via irq_callback.
Apparently the hardware actually did support this and it is necessary
for emulating the BK 0010/11 computer in MESS.
2008-04-17 02:58:24 +00:00
Aaron Giles
ffc326f8be Converted the IDE controller to a device. Updated all drivers
accordingly.

Added new functions for dynamically installing device memory 
read/write handlers.

Updated install_memory_XXX_handler() functions to take a machine
parameter. Updated all drivers accordingly.

Merged installation of read and write handlers where appropriate.

Simplified memory.c code for dynamic installation so that a single
function handles all the work; a NULL read or write handler 
indicates not to install anything for reads or writes.
2008-04-15 16:49:50 +00:00
Curt Coder
e7cfe56749 [CDP1802] Added machine parameter and macros for the callback functions. This seems to have fixed the player sprite flashing in Destroyer/Altair/Draco. 2008-04-14 18:06:56 +00:00
Nathan Woods
f9766f2052 Changes from MESS:
src/emu/cpu/m68000/m68kmame.c:
src/emu/cpu/minx/minx.c:
	- Fixed compilation errors on CPU cores not enabled in MAME
	
src/emu/inptport.c:
src/emu/inptport.h:
	- Readded input_port_set_digital_value() (which is needed for natural
          keyboard inpout in MESS)
	- Added a running_machine parameter to inputx_update()
2008-04-14 11:12:42 +00:00
smf-
59b480f561 fixed calculation of bit 31 of GTE FLAG register, when writing to it directly.
added lm mode to OP and fixed the calculation.
added lm mode to SQR.
2008-04-13 16:02:16 +00:00
Wilbert Pol
4725e2fa8e Fixed DA A instruction when A is > 0xF9. 2008-04-13 15:09:06 +00:00
Roberto Zandona
dfe1952883 fix an opcode in quizf1
fix dasm for bp+ix+offset8 and bp+it+offset8
2008-04-13 09:22:07 +00:00
smf-
6d87810b1f added sf/lm support to INTPL, improved flag calculation & calculates correct rgb
tidied up DPCS a bit.
2008-04-12 21:51:38 +00:00
smf-
d713e9cce6 tidied up DPCS, improved flag calculation and added support for lm/sf fields. 2008-04-12 18:08:27 +00:00
smf-
303caf3f8b removed casts and removed unnecessary decoding from NCLIP.
added signed values to PAIR & PAIR64.
renamed PAIR64.lw to PAIR64.q
2008-04-12 10:47:39 +00:00
Aaron Giles
439dbe872a Cleanups and version bump to 0.124u2. 2008-04-12 05:16:26 +00:00
smf-
5f75c62fb9 fixed avsz3 & avsz4 flag & otz calculation. 2008-04-11 23:10:07 +00:00
smf-
5ed8b1252b fixed flag calculation in F macro. 2008-04-11 21:42:05 +00:00
Aaron Giles
dbb98c5473 Reduced the number of save state callback types from 3 to 1. The
only remaining form is the one that takes a pointer parameter.

Added macros for STATE_PRESAVE and STATE_POSTLOAD to define common
functions. Added machine parameter to these functions.

Updated all drivers and CPU/sound cores  to use the new macros 
and consolidate on the single function type. As a result pushed
the machine parameter through a few initialization stacks.

Removed unnecessary postload callbacks which only marked all tiles
dirty, since this is done automatically by the tilemap engine.
2008-04-11 05:41:46 +00:00
Roberto Zandona
e1a8ab0d1b fix dasm for rep instruction 2008-04-10 21:50:31 +00:00
Aaron Giles
b4e4b1d3f0 Oops, remove accidentally checked-in makefile changes. 2008-04-09 13:23:25 +00:00
Aaron Giles
eeee1cb437 Rewrote core memory handlers as inline functions. These should be easier to
trace through in a debug build, yet should operate the same as before.

Created a complete set of functions for all databus sizes (8,16,32,64) and
all endiannesses. A few functions are redundant, but it is now very clear
which functions to use in which scenarios. It is also now possible to rely
on being able to access values of 8, 16, 32 or 64 bits via the built-in
accessors without fear of crashing.

Updated all cores using 8-bit handlers to explicitly call the 8-bit handlers
with the appropriate endianness.

Fixed a few games which were calling n-bit handlers directly to use the
generic forms. In the future, this is all the access drivers will have.
2008-04-09 07:31:47 +00:00
Roberto Zandona
7800d2bb70 fix dasm for two code and prefix opcode in real time encryption 2008-04-08 22:39:28 +00:00
smf-
ee9ce122a9 removed useless casts in BLEZ/BGTZ 2008-04-07 23:49:48 +00:00
smf-
af97c741b3 fixed OTZ sign extension
fixed reading from SXYP
fixed reading from IRGB
fixed writing to LZCR
fixed sign extension of GTE control registers
fixed writing to FLAG

New games added or promoted from NOT_WORKING status
---------------------------------------------------
1 on 1 Government (JAPAN)
2008-04-07 23:20:31 +00:00
Roberto Zandona
486cdcb6b5 1) fix nec v30 dasm when a "real-time encrypted cpu" is used
2) fix Execution Clocks for add,addc,and,or,xor,cmp,sub,subc instruction
2008-04-07 22:30:52 +00:00
smf-
4d21cff799 added IR1/IR2/IR3 saturation when calculating ORGB
fixed spelling mistake.
2008-04-06 22:48:25 +00:00
smf-
be21ac9e08 fixed IRGB truncation and conversion to IR1/IR2/IR3 2008-04-06 21:38:25 +00:00
smf-
3d05dc8d91 fixed SZ0 truncation. 2008-04-06 21:12:02 +00:00
smf-
d485e8ed3c Fixed the SR masks for MTC0.
Added ability to test the instruction/data cache ram. The scratchpad and BIU register are now handled internally to the CPU.

All writes are performed with masks. SWL/SWR used to be implemented with two writes ( one byte and one word ) when writing three bytes, now it only ever performs one. Byte and Word writes use masks as they leave the rest of the register on the bus, which can be picked up by larger registers.

The read/write functions to use are cached when the SR bits are updated, as are the bad address masks.

Added coprocessor 1 & 3 support, though they don't do anything useful.

All loads now go through the delay pipeline, a lwl/lwr will grab the value out of the pipeline if it's updating the same register.

Added undocumented behaviour of BLEZ/BGTZ. The comparison for zero can be changed by specifying an alternate register in the RT field ( the documentation says you should always use register 0 ).

Restricted to 16 COP0 registers & generate an exception if any of the 5 for the MMU are used.

Added BCF/BCT instructions, although I have found no conditions that affect them yet.

Generates an exception if any MMU instructions are executed.

Sets the CE instruction for all exceptions, not just those involving a coprocessor. The bits of the opcode that specify the coprocessor are grabbed no matter what the instruction.

Added TAR register and BT bit in SR. When an exception occurs during a branch, BT determines whether it was taken or not. The TAR register gets set to the destination of the branch.

Fixed the BD bit when you are in a branch delay slot and you didn't take the branch, this shows up in the pipeline as !pc.

Fixed branches within a branch delay slot.

Multiply & divide instructions can be aborted if you write to HI/LO before reading the result.
Added data breakpoints, you don't appear to be able to set breakpoints on any of the addresses internal to the CPU.

Multiply/divide/GTE instructions can execute when an exception is taken, although the EPC indicates that it hasn't. The BIOS avoids rerunning GTE instructions as they are destructive, so you have to make sure they run.

Added bus error handling, PSXCPU is limited to 8mb of ram & any access outside this range will trigger an exception. I believe this is to be an internal limit.

Added CXD8611R as a specific CPU type, System 12 appears to allow more than 8mb of ram & it's possible that this is different.

Mapped out all instructions to either generate an exception or ignore bits.

Updated the disassembler to match the decoding.

Fixed disassembling of branch instructions in a branch delay slot.

Lui checks for a ori/addiu following and will show you the result.

Added step over/out support.

Fixed standalone disassembler.
2008-04-06 16:42:10 +00:00
Aaron Giles
31336e491e Cleanups and version bump to 0.124u1. 2008-04-03 07:57:25 +00:00
Aaron Giles
efbe64428a Switched from ACCESSING_BYTE_*, ACCESSING_WORD_*, ACCESSING_DWORD_*
macros to ACCESSING_BITS_*_* macros.
2008-04-03 07:36:23 +00:00
Curt Coder
12589d9abd More COP400 fixes:
- fixed serial timer
- fixed clocks
- fixed COP410 RMB3, XAD instructions
- general cleanup
2008-04-02 14:36:50 +00:00
smf-
ad4ef5d256 New macros added for checking mem_mask. ACCESSING_BYTE_n, ACCESSING_WORD_n & ACCESSING_DWORD_n. These check for any access within the bounds, currently the pattern for checking whether both bytes of a word is written is to make two byte checks ( this pattern existed before because there was no macro for testing a 16 bit word, though you could have used ACCESSING_LSW32 ).
All occurrences of ACCESSING_LSB, ACCESSING_MSB, ACCESSING_LSB16, ACCESSING_MSB16, ACCESSING_LSB32, ACCESSING_MSB32, ACCESSING_LSW32, ACCESSING_MSW32 & simple mem_mask checks have been replace with the new macros.
The old macros are gone.
2008-03-30 09:19:23 +00:00
Curt Coder
e241656170 Reverted to old execute, new broke more than it fixed. 2008-03-29 14:13:09 +00:00
Curt Coder
6bdcdb0769 Removed debugging code. 2008-03-29 12:18:41 +00:00
Curt Coder
d23a72d1cd Rewrote the COP400 execute function. 2008-03-29 12:17:59 +00:00
Aaron Giles
c5335ee5d4 Fixed compile error in MSVC. 2008-03-28 18:32:09 +00:00
Curt Coder
cb38b8b0d5 - implemented interrupt
- implemented serial input/output
- fixed XAD/LDD, XIS1, RMB3 opcodes
- fixed clock divider
- fixed internal memory map size
- added some cpu variants

As a result, Draco at least initializes the AY-8910 now.
2008-03-28 16:10:23 +00:00
Aaron Giles
126d821654 From: Atari Ace [mailto:atari_ace@verizon.net]
Subject: [patch] Minor static/const/include fixups

Hi mamedev,

Another batch of minor static/const/include fixes.  Very boring, very
pedantic.  ;)

~aa
2008-03-24 01:51:12 +00:00
Aaron Giles
4a5001927c Cleanups and version bump. 2008-03-19 08:52:53 +00:00
Aaron Giles
4967410073 From: Oliver Stoeneberg [mailto:oliverst@online.de]
Subject: SH-4 debugger output fix

This patch fixes "garbage" (newlines) in the debugger window when 
debugging the SH-4 CPU.

It also conatins a small comment fix in video/playch10.c and the 
removal of some yet unused or just obsolete macros in emu/cpuint.h.
2008-03-19 08:38:01 +00:00
Nicola Salmoria
23a0601055 Alpha Denshi major update
This is still WIP bug I've been working on it for sveral weeks and I want to get it out before leaving for holidays.

- Fixed Alpha 8201/830x MCU simulation.
  - all hacks from the equites driver removed
  - fixed equites restart position after going underground
  - fixed hvolume, splndrbt 2 players
  - removed hacks from exctsccr2
  - fixed CPU gameplay in shougi

- Gekisou promoted to working

- added dump of Alpha 8201 MCU to games that use it (the ROM isn't used yet, HMCS44 CPU core needs to be written first)

- major cleanup of the mess in equites.c:
  - many thanks to Corrado Tomaselli for precious hardware info.
  - implemented bg perspective scrolling using PROMs
  - fixed sprite flip & disable
  - fixed bg color
  - converted bg to tilemaps
  - fixed fg banking
  - fixed screen flip
  - removed meaningless banking of player inputs
  - added UI adjuster for MSM5232 frequency
  - MSM5232 volume control

- fixed MSM5232 noise LFSR formula (done by Jarek Burczynski; thanks to Corrado Tomaselli for samples)

- changed MSM5232 emulator to output channels separately

- added output of SOLO channels to MSM5232 emulator.

- mametesters bugs fixed:
  - 00217 splndrbt: On boot the pcb displays a clean light blu screen while in mame there is a black road. 
  - 00220 splndrbt: Concerning the gfx, on the pcb the background is not linear as shown in mame.
  - 00223 splndrbt: On the first level when you pass the asteroid belt the star road should be light blue instead of black like mam 

- fixed champbas inputs

- merged talbot with champbas, some driver clenaup

- fixed shougi inputs

- switched exctsccb to use the correct gfx ROMs (matches screenshot found in 01058 exctsccb: Exciting soccer bootleg should be placed in champbas.c.)

- fixed sprite bpp in exctscrr, removed the horrible hacks that were used to fix colors and transparency.

- fixed sound clipping in exctsccr
2008-03-17 19:07:23 +00:00
Aaron Giles
e4e17a4fcd Fix 00150: alpinr2b, alpinesa : Assertion with -debug 2008-03-17 16:51:19 +00:00
Pierpaolo Prazzoli
0895d395a9 Added missing prototype for get_info function. It didn't compile. 2008-03-16 10:43:36 +00:00
smf-
5d52f08b7e fixed collision of TIMER define 2008-03-14 21:53:19 +00:00
smf-
a0afb4c516 fixed collision of TIMER define 2008-03-14 21:50:22 +00:00
Aaron Giles
4d5014585a From: Fabio Priuli
Subject: small fix to cpu.mak

Attached please find a small patch to include M68000 CPU only when you're 
compiling a build with the M68K. this is needed to e.g. compile tiny 
builds .
2008-03-13 15:45:39 +00:00
Aaron Giles
3a082a644f From: notaz [mailto:notasas@gmail.com]
Subject: patch for SVP (Sega Virtua Processor) emulation

hello,

this patch adds support for Sega Virtua Processor, to run
Genesis/MegaDrive version of Virtua Racing, intended to be used by
MESS. It consists of a CPU core SSP1601, and updates in megadriv.c:
* SSP1601 replaces SSP1610, as it has been confirmed by Stiletto and
other sources that SVP actually contains SSP1601. The current SSP1610
is placeholder only (nearly completely unimplemented) anyway.
* Changes in megadriv.c add a new driver for Genesis/MegaDrive+SVP
combination, also add SVP memory controller logic and memory map.

The diff has already been reviewed by Reip and SSP1610 removal was one
of his suggestions (SSP1610 is not used by any drivers).
2008-03-13 15:35:17 +00:00
Aaron Giles
dbd6e5e93e Fixed 68000 prefetching operation.
Changed slapstic management to always install an opbase handler to more
aggressively catch code executing in the slapstic region. Updated all
drivers to separate the slapstic region of ROM into a different ROM
section from the fixed ROM.
2008-03-13 08:09:58 +00:00
Zsolt Vasvari
d146f7dabc Removes the scrnum parameter from VIDEO_UPDATE, updates all drivers to use the screen device instead.
render.c now uses screen devices
2008-03-10 14:30:21 +00:00
Nathan Woods
43c2c2a002 Changed how the PowerPC MMU is enabled at compile time, to cut down on the
amount of unused functions in MAME.
2008-03-10 13:10:44 +00:00
Aaron Giles
0862cce453 Replaced the following macros (SMH == static memory handler)
MRA*_BANK*/MRA*_BANK* -> SMH_BANK*
   MRA*_RAM/MRA*_ROM     -> SMH_RAM
   MRA*_ROM/MWA*_ROM     -> SMH_ROM
   MRA*_NOP/MWA*_NOP     -> SMH_NOP
   MRA*_UNMAP/MWA*_UNMAP -> SMH_UNMAP

This removes the silly need for a bunch of redundant constants
with faux type definitions that didn't buy anything.

Moved some memory system constants into memory.c.
2008-03-10 02:29:15 +00:00
Zsolt Vasvari
198f401cf5 Changes TMS34010 to take a screen tag instead of the screen number
Everything appears to work, except X The Ball, which sets horz the resolution twice as wide as it should -- no clue why
2008-03-10 02:16:06 +00:00
Aaron Giles
ddfc0c3259 WIP check-in. Things work now, but I'm still working on the code.
Converted address maps to tokens. Changed the address_map structure
to house global map-wide information and hung a list of entries off
of it corresponding to each address range. Introduced new functions
address_map_alloc() and address_map_free() to build/destroy these
structures. Updated all code as necessary.

Fixed several instances of porttagtohandler*() in the address maps.
Drivers should use AM_READ_PORT() macros instead.

ADDRESS_MAP_EXTERN() now is required to specify the number of 
databits, just like ADDRESS_MAP_START.

Removed ADDRESS_MAP_FLAGS() grossness. There are now three new macros
which replace its former usage. ADDRESS_MAP_GLOBAL_MASK(mask)
specifies a global address-space-wide mask on all addresses. Useful
for cases where one or more address lines simply are not used at
all. And ADDRESS_MAP_UNMAP_LOW/HIGH specifies the behavior of
unmapped reads (do they come back as 0 or ~0).

Changed internal memory mapping behavior to keep only a single
address map and store the byte-adjusted values next in the address
map entries rather than maintaining two separate maps. Many other
small internal changes/cleanups.
2008-03-09 21:59:57 +00:00
Zsolt Vasvari
ac9778cdb0 Changes first argument of video_screen_* functions to take a device_config
All callers that used 0 for the screen number now use machine->primary_screen
As a gap meassure, Where necessary, create a parallel set of video_screen_*_scrnum functions that take scrnum
All callers that specified a specific screen number now call the *_scrnum versions
Changed game info screen and overlay UI to display the screen tag instead of screen number
2008-03-09 15:41:17 +00:00
Zsolt Vasvari
48f7d189e6 Changes VIDEO_UPDATE signature to
typedef UINT32 (*video_update_func)(const device_config *screen, int scrnum, bitmap_t *bitmap, const rectangle *cliprect);

Adds const device_config *primary_screen to running_machine (not yet used)
2008-03-08 15:57:43 +00:00
Aaron Giles
fb26ec7c01 Cleanups and version bump. 2008-03-06 07:31:20 +00:00
Nicola Salmoria
3a22b93b59 Fix 8085 RST75 not working with PULSE_LINE
According to datasheet, RST7.5 is latched on rising edge, while the other maskable interrupts are sampled.
2008-03-06 06:51:05 +00:00
Aaron Giles
ee0a5642ab Added running_machine * parameter to the front of all read/write handlers.
Updated all call-through handlers appropriately. Renamed read8_handler to
read8_machine_func, replicating this pattern throughout. 

Defined new set of memory handler functions which are similar but which
pass a const device_config * in place of the running_machine *. These are
called read8_device_func, etc. Added macros READ8_DEVICE_HANDLER() for
specifying functions of this type. Note that some plumbing still needs to
happen in memory.c before this will work.

This check-in should remove the need for the global Machine and in turn
"deprecat.h" for a lot of drivers, but that work has not been done. On
the flip side, some new accesses to the global Machine were added in the
emu/ files. These should be addressed over time, but are smaller in
number than the references in the driver.
2008-03-05 07:45:34 +00:00
Aaron Giles
e31f9a6313 Normalized function pointer typedefs: they are now all
suffixed with _func. Did this throughout the core and
drivers I was familiar with.

Fixed gcc compiler error with recent render.c changes.
gcc does not like explicit (int) casts on float or
double functions. This is fracking annoying and stupid,
but there you have it.
2008-03-03 01:51:31 +00:00
Zsolt Vasvari
05702939cd Removed used srcnum from ccpuRegs
State saves more stuff -- wasn't 100% sure if they are all needed saved, but it appears they do.
2008-03-03 01:22:21 +00:00
Aaron Giles
8042e50f87 Added video_screen_get_time_until_vblank_end() and
video_screen_get_time_until_update().

Fixed CCPU and QB3 to no longer rely on cpu_scalebyfcount().
Fixed busted timing in the CCPU core. Changed watchdog to
count internally rather than using external watchdog support.
Altered CCPU to accept interrupt signals from the driver.
Updated clocks in the cinemat driver to be derived from the
clock crystal.
2008-03-03 01:02:16 +00:00
Couriersud
7df031fb4f Rewrote some potentially compiler specific code:
* added ATTR_FORCE_INLINE to osdcomm.h
* added ATTR_NONNULL
* moved U64 S64 fram mamecore.h to osdcomm.h
* define SETJMP_GNUC_PROTECT() in osdcomm.h for use in ppc602, ppc603
2008-03-02 00:35:58 +00:00
Couriersud
492612b6c9 Various clean ups:
* remove more unreachable code
* identify more functions not being used
* Changed a number of global functions to being static
2008-03-01 16:54:52 +00:00
Zsolt Vasvari
7198a00e65 - Moves all video timing logic from cpuexec.c to video.c
- Added a video_screen_register_vbl_cb() function for registering VBLANK callbanks
- Changed inptport.c and debugcpu.c to make use the VBLANK callbacks
- Added video_screen_get_time_until_vblank_start()
- CCPU and anything using cpu_scalebyfcount() are currently broken
- I did some fairly extensive testing, but this is a very signficant internal change,
  so some things may have broke
2008-03-01 15:50:12 +00:00
Couriersud
16547714e4 Fix compile issues introduced with r844 2008-03-01 01:47:47 +00:00
Couriersud
76847517a4 Identified code not used and marked with "#ifdef UNUSED_FUNCTION" 2008-03-01 01:34:43 +00:00
R. Belmont
8bd8e97051 [SH4] Fixed refresh ticks value of 0, makes awbios not blow up the timer system. 2008-02-29 20:40:24 +00:00
Zsolt Vasvari
f8cbcafd5e Replaces mame_bitmap with bitmap_t
Removes mame_bitmap
2008-02-29 04:01:09 +00:00
Aaron Giles
b96aa2fb5c Spacing and version bump. 2008-02-28 06:20:19 +00:00
Aaron Giles
0104d6ff63 From: Wilbert Pol [mailto:wilbert@jdg.info]
Subject: uPD7801, uPD78C05, and uPD78C06 cpu cores added to the uPD7810
cpu core

This patch adds basic support for the NEC uPD7801, uPD78C05, and  
uPD78C06 cpus to the uPD7810 cpu core.
2008-02-28 03:22:38 +00:00
Zsolt Vasvari
2b1192dec8 - Backs out BITMAP8 removal from most places.
- I still left drawgfx.c as is, the only piece of code that used any of the functions in drawgfx
  was s2636.c -- everything else uses 8-bit bitmaps as a replacement for a two dimensional array
2008-02-24 23:24:29 +00:00
Aaron Giles
4a7301495b Different fix for X the Ball sound. Pulse no longer works for the 34010. Undid previous fix. 2008-02-24 15:57:25 +00:00
Zsolt Vasvari
803ece9d96 Removes 8-bit bitmap support and converts all previously 8-bit bitmaps to 16-bit 2008-02-24 13:30:08 +00:00
Zsolt Vasvari
58fc9362eb This fixes the DAC sound in X The Ball that got broken in 114u2. Not 100% if the fix is right, though. 2008-02-24 01:54:54 +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
Aaron Giles
8436bec1e3 Cleanups and version bump for 0.123u2. 2008-02-21 17:43:00 +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
Curt Coder
1424fce298 Added i8749 CPU type for MESS. 2008-02-19 17:54:47 +00:00
Zsolt Vasvari
3d5cdeaf8c From Atari Ace:
Hi mamedev,

Here's my periodic batch of code cleanups.  The usual batch of adding static/const plus some include fixes.  In addition, I reverted some of the changes to build.mak from u1 which made some MSVC builds fail, and adjusted/optimized an m10.c gfx_layout.  I also added some missing cores to cpuintrf.c, sndintrf.c and added some missing #if's to 5220intf.c.

~aa
2008-02-18 01:30:05 +00:00
R. Belmont
964f7a8429 [ARM7] Fixed unaligned 32-bit reads. 2008-02-17 21:57:27 +00:00
davidhay
b469de6db7 changed IREM cpu decryption to be 'real-time' (it's a feature of the CPU)
moved decryption table setup to 'config' struct for the CPU.

added latest tables from robiza, making Risky Challenge playable, promoted it to working

told CPU core to not decrypt code after brkn instruction, enabling it again on iret, allowing me to remove several 'don't decrypt range' hacks in robiza's code.

updated all drivers accordingly.

currently the disassembly is a bit weird now, this will need looking at.
2008-02-17 16:05:10 +00:00
Laurent Desnogues
c552f36c5b cosmetics 2008-02-17 15:57:47 +00:00
Laurent Desnogues
4839044063 cosmetics 2008-02-16 16:35:07 +00:00
Nathan Woods
0d5c41af1d Added missing #include 2008-02-15 13:30:01 +00:00
Aaron Giles
85345b2210 Cleaned up silly comments 2008-02-15 07:04:25 +00:00
Aaron Giles
072b71602b Cleanups and version bump for 0.123u1. 2008-02-13 08:54:29 +00:00
Laurent Desnogues
e49ffe3289 - ARM ldm/stm ignore lower bits of the address
- most of the exceptions force the I bit
- ignore some flag bits in the CPSR
2008-02-10 14:41:31 +00:00
Laurent Desnogues
49b20d49da - Thumb ASR Rd,Rs: correct carry computation
- Thumb ldmia/stmia: correct value for writeback when the writeback reg is in the list
2008-02-10 12:24:05 +00:00
Laurent Desnogues
dc5647fedf - correct mode at reset (it's always 0b1....)
- HandlePSRTransfer: remove wrong code, correct detection of privileged mode
- correct carry output for ROR
2008-02-09 22:26:39 +00:00
R. Belmont
834d608456 Naomi/DC updates:
Samuele Zannoli:
- Add SH4 I/O ports
- Connected the 93C46 of the naomi and the x76f100 of the rom board and filled them with dummy data to satisfy the BIOS
- Implemented some of the JVS transfers that will be needed to use the controls
- Implemented ROM board DMA
- Set proper NAOMI RAM sizes (32 MB main, 8 MB for AICA)
- Improved PVR-TA graphics emulation

Deunan Knute:
- Set proper ARM7 clock.  (Yes, it's really that slow!)
2008-02-09 21:36:41 +00:00
Aaron Giles
abdb58671b Split timer_adjust() into timer_adjust_oneshot() and timer_adjust_periodic().
Updated all call sites.
Fixed recent build breaks.
2008-02-06 15:33:04 +00:00
Aaron Giles
4db5afa87e From: Atari Ace [mailto:atari_ace@verizon.net]
Subject: [patch] CPU/SOUND independence fixes

Hi mamedev,

Here's some updates to the CPU/SOUND cores to improve build
independence.  While I was at it, I rescued the M65CE02 core from
bitrot hell (perhaps m65ce02.[ch] should just be deleted), and fixed
some MESS cores that were broken by the deprecat.h changes.
2008-02-05 17:21:27 +00:00
R. Belmont
34ab94a982 [ARM7] Fixed PSR transfers. 2008-02-03 21:20:45 +00:00
Brian Troha
766c4903a9 better info reguarding the Z180 & HD74180 2008-02-03 19:03:59 +00:00
Brian Troha
0a00c4bc10 Adds a little info about available Z180 models with speed and compatible chips 2008-02-03 06:02:17 +00:00
Aaron Giles
662dea1a21 Cleanups/version bump. 2008-02-03 05:23:32 +00:00
Aaron Giles
4c5cebc661 From: Atari Ace [mailto:atari_ace@verizon.net]
Subject: [patch] Fix some comments

Hi mamedev,

The following patch updates the initialization comments at the top of
mame.c and corrects/adds a few filename declarations at the top of a
handful of files.

~aa
2008-02-03 00:56:06 +00:00
Luca Elia
fbe8745472 - New game: Puzzlet (NOT_WORKING)
- Added some instructions to the H8/30xx CPU:
  or.l ERs, ERd
  rotl/shal.l ERd
  not.l/neg.l ERd
  exts.w Rd
  sub/or/xor.l #Imm:32, ERd
  bset/bnot/bclr.b Rn, @ERd
  bst/bist.b #Imm:3, @ERd
  bnot.b #Imm:3, @ERd

- Added H8/3007 & H8/3044 variants with their memory maps.
  Preliminary implementation of the H8/3007 timers.
  (a make clean is required)

P.S.
I've moved the docs we have in docs/cpu/H8-30xx and added a couple more.
Roms are in roms/current/p/puzzlet.zip
2008-02-02 22:36:24 +00:00
Aaron Giles
aa16ee779d Changed debugger-related code to be based off a new makefile define (DEBUGGER) which sets
a new compile-time define (ENABLE_DEBUGGER). This means that MAME_DEBUG no longer means
"enable debugger", it simply enables debugging features such as assertions and debug code
in drivers.

Also removed the various levels of opbase protection in memory.h and always just turned 
on full bounds checking.

Fixed build break due to missing ampoker.lay -> ampoker2.lay renaming.
2008-02-02 08:57:39 +00:00
Phil Bennett
6696fe197c * Improved Lock-On by a fair bit and added an alternate set.
* Added POLL input handling to the NEC V20/V30 core.
2008-02-02 02:19:24 +00:00
Zsolt Vasvari
f65f3077b0 - Fixes reset crashes in all Z180 games. Not sure if there is a bug ID for this
- Removed the various busy loop and non-exact optimzations from the Z180 core
2008-01-31 02:27:44 +00:00
Aaron Giles
dbf80b011c Removed distinction between *_gettotalcycles() and *_gettotalcycles64().
All functions now return 64-bit results.
Updated all call sites appropriately.
2008-01-29 19:35:27 +00:00
Couriersud
06cf28a0e6 build environment:
* added checks for CROSS_BUILD=1 to omit building m68kmake.exe, verinfo.exe, png2bdc.exe and file2str
* enables building mame using mingw on linux
2008-01-27 20:19:32 +00:00
Zsolt Vasvari
f3f249af3f Fixed compilation when X86_MIPS3_DRC is not defined 2008-01-25 23:55:28 +00:00
Jim Stolis
6c582352b6 Corrected previous timer fix to use more accurate IE SFRs. 2008-01-25 22:14:46 +00:00
Couriersud
b56271d5c9 ppc.c:
* Fixes DEBUG=1 build - adds include deprecat.h
2008-01-25 21:42:28 +00:00
Zsolt Vasvari
4930b2dbfd - Added deprecat.h that contains some deprecated/discouraged contructs (see below)
The idea is to create extra work if a driver wants to use these and hopefully
  gives an incentive to look for an alternate solution
- Added #include of deprecat.h that rely on these contructs
- Removed a bunch of unneccassary #include's from these files
2008-01-25 09:30:43 +00:00
Aaron Giles
2b0c136968 From: Wilbert Pol [mailto:w.pol@tiscali.nl]
Subject: z80gb cpu core patch

Changes:
- Small timing fixes when leaving HALT state.
- Fixed bug in retrieving Z80GB_SPEED pseudo register.

--

From: Wilbert Pol [mailto:wilbert@jdg.info] 
Subject: Re: timer_set_global_time patch

This patch for the z80gb cpu core also fixes my problems without the  
need to recode a lot of things:
- Split the execution of an instruction into separate fetch and  
execute phase.
2008-01-25 02:59:21 +00:00
Aaron Giles
444d77b838 From: Atari Ace [mailto:atari_ace@verizon.net]
Subject: [patch] Fix C4305 warnings, other MSVC tweaks

Hi mamedev,

This patch is a bit of a potpourri.  It is the result of enabling most
of the suppressed warnings when using MSVC compilers and seeing what
issues arose with different compilers (I used 70,71,80,90).  Two of
the warnings were judged to be useful to enable and methodically fix.
Some issues spotted by the other warnings were also fixed.

1. Fixed issues flagged by MSVC warning C4305 (type truncation).
Almost all of these are harmless double->float narrowing in
initializers, but one warning spotlighted a bug in segasyse.c, where
code to use a higher sprite number had no effect due to the
insufficient range of UINT8.
2. Removed /wd4550 for VS7/VS71 compilers (expression evaluates to a
function which is missing an argument list).  There are no cases of
this warning currently, and if there were they would most certainly be
bugs.  This also allowed the warning suppression lists to be remerged
for VS7 and VS2005.
3. Decoupled intrinsic support decisions from PTR64 in eivc.h.
4. Fixed some VS7-specific issues (OPTIMIZE=0 at least compiles now).
That compiler doesn't support "long long" or "ll" (rsp.c/dkong.c).
5. Added a missing case statement in sm8500d.c.  Noticed while
reviewing dead code warnings.
6. Replaced a number of static constants with an enum in sidenvel.h.
This is unrelated to the rest of this patch, but it was overdue to be
done.
2008-01-24 14:24:59 +00:00
Zsolt Vasvari
3815ec44e1 - Changed cpunum_set_input_line* functions to take running_machine as an argument
- Added that fix the arm7dasm, otherwise I couldn't compile the code
2008-01-24 14:14:21 +00:00
Zsolt Vasvari
f7c5c67e2e First in a series of updates to remove the use of the global Machine from as many places as possible 2008-01-24 09:12:03 +00:00
Ryan Holtz
a67e5be6db Credit to SGINut.
Changes:
- ARM7: Added support for the BLX opcode in THUMB mode.
2008-01-24 04:10:40 +00:00
Ryan Holtz
0960ad9d7b Note: Removing the static qualifier on vi_width is necessary for PIN64 captures to work. I'm not submitting my changes for PIN64 yet, but leaving it as non-static means one less thing I need to manually merge to get PIN64 working in whenever I update my tree.
- Final pass on single-stepping behavior [SGINut]
- Corrected VRCP element lookup [SGINut]
- Corrected unaligned DMA behavior [Ville Linde] (Ville, do you mind that I submit this?)
2008-01-22 02:11:24 +00:00
Jim Stolis
b6a82f1762 Fixed timers from firing when not enabled. Checking TCON alone is not enough to invoke timers. Added IE SFR flags in conditional. 2008-01-21 22:27:44 +00:00
Nicola Salmoria
b0e569464a fixed VRCP instruction to match the real hardware results 2008-01-21 21:41:33 +00:00
Zsolt Vasvari
892153bd09 - Fixed saving callbacks across a reset
- Added 'pull' callback for the SID pin.  This is needed by the Red Alert voice board
2008-01-21 08:58:19 +00:00
Aaron Giles
eef3b17f7e (From Atari Ace)
> This one line fix addresses the crash reported in newui0118u4ora. I
> think most of the other issues reported in the bug are fixed by this
> as well, but I didn't test this thoroughly. Perhaps we should close
> the bug and have the testers file a new bug if remaining issues are
> found.
2008-01-19 04:34:16 +00:00
Aaron Giles
5baa045d9d Marked HD6309 as divide-by-4 internally.
Updated drivers accordingly.
Major cleanup to the ddragon driver:
 - improved video and interrupt timing
 - consolidated common memory maps and input ports
 - added save state support
 - correct clocks
2008-01-18 20:37:32 +00:00
Nathan Woods
cb29c57606 Sync with MESS 2008-01-18 12:39:13 +00:00
Ryan Holtz
b9fe1e4bcf On-the-DL credit: "SGINut"
Changes:
- Re-fixed RSP single-step activation behavior
- Reading the RSP PC returns only the least significant 12 bits
- Fixed flag behavior when read out via CFC2
2008-01-18 04:33:13 +00:00
Ryan Holtz
51939cee8d On-the-DL credit: "SGINut"
Oh God, why Nintendo, why?  Why make the RSP immediately stop when the main CPU sets single-stepping, but have the RSP execute one instruction before entering single-stepping mode when it sets it on itself?  "You manaics!  Damn you!  God damn you all to hell!"

Changes:
- Initialize RSP registers to 0 in lieu of mame_rand
- Re-fix RSP single-stepping mode when set by a CPU other than the RSP
2008-01-18 02:16:19 +00:00
Couriersud
0e8b1735bc i8085.c:
* 8085 has an internal clock divider by 2. Changed i8085.c to reflect this for I8085. I8080 still at 1.
Games using I8085:
* Changed clock to reflect internal clock divider now in i8085.c
* Added some FIXME: comments where clocks for I8085 are outside specs
2008-01-17 21:20:53 +00:00
Aaron Giles
8c4ccedaff Added internal divider on m680* series CPUs (except the original m6800).
Updated clocks on all games using them to remove the explicit divider.
2008-01-17 17:14:45 +00:00
Aaron Giles
2299164694 Pushed CUSTOM_INPUT macro to all users.
Changed TMS0285 -> TMC0285.
Spacing cleanups for 0.122u6.
Version bump to 0.122u6.
2008-01-17 16:06:09 +00:00
Ryan Holtz
41b5d4ffd5 On-the-DL credit: "SGINut"
Quite possibly the most useless RSP change I'll ever make, given that no game should ever be affected by these changes.  But, eh, accuracy.  Apparently only the accumulator registers are initialized to a non-random value on power-on, and apparently the RSP executes exactly one instruction before kicking over into single-step mode when it's set in the status register.

- Fixed accumulator state on powerup by testing against real hardware
- Fixed single-step behavior by testing against real hardware
2008-01-17 04:23:02 +00:00
smf-
819dd27efc Changed the clocks to reflect the actual frequency that is supplied to the chips, because the clock is divided in the CPU package.
I have changed the divide in the CPU core to 4, so apart from system 10 & 12 the speed should remain the same as before.
2008-01-16 08:16:32 +00:00
Couriersud
5f244fffa0 * fix regression on T1 counter mode as reported by Zsolt 2008-01-16 00:18:53 +00:00
davidhay
5cce8356e8 (from Ernesto Corvi / ElSemi)
fix do_ret() based on comparison of ElSemi's core and the MAME core
2008-01-15 21:41:54 +00:00
smf-
0b0153c45e First pass at fixing the cpu clock speeds on the playstation based hardware.
The system 10 & 12 clock speeds have been raised as they run on an upgraded chipset.
All clocks are currently set to divide by 2 externally, I don't know if this is correct.
The clock is also divided internally as we have no wait states, incorrect dma timing, no gpu timing, no dma bus stealing and no gte timing.
2008-01-15 13:19:39 +00:00
Aaron Giles
ddca20f72a Cleaned up leland clocks a little.
Fixed alleymas0119u3gre (with a pointer from RansAckeR)
Added missing multipliers to the h8 and i960 cores.
Made the i186 divide-by-2 clock internal.
2008-01-15 08:29:13 +00:00
Charles MacDonald
dc02f2fc33 Fixed HuC6280 low-speed mode so it uses 4 cycles instead of 3. 2008-01-14 18:27:50 +00:00
Aaron Giles
ea7fc1a5e9 (From Atari Ace)
Some more static qualifiers for MAME, mostly on recent new/changed
code, but also on some arrays declared in functions I noticed.
2008-01-14 17:39:44 +00:00
Aaron Giles
9931a8708e Minor clock cleanup in tickee.c. 2008-01-14 03:28:33 +00:00
Aaron Giles
fe41f9bd01 Added CPUINFO_INT_CLOCK_MULTIPLIER to support CPU clock multipliers.
Updated all CPU cores to return a CPUINFO_INT_CLOCK_MULTIPLIER of 1.

Changed the core to actually respect both CPUINFO_INT_CLOCK_MULTIPLIER and CPUINFO_INT_CLOCK_DIVIDER.

Updated a number of drivers to use cpunum_get_clock() instead of Machine->drv->cpu[x].clock.

***** Raw input clock speeds should now be specified for all CPUs in the MACHINE_DRIVER. *****

Removed explicit divisors from all drivers using the following CPU types, 
which were already specifying non-1 values for CPUINFO_INT_CLOCK_DIVIDER:
 * COP4x0
 * I8039/8048 families
 * M68(7)05, HD63705
 * M6809E
 * PIC16C5X
 * TMS32010
 * TMS340x0

In a few cases, it appears that the divisor was not being used, so I guessed in those cases whether or not
the specified clock speed was raw.
2008-01-14 00:42:14 +00:00
Couriersud
31b8c14a71 i8039.c:
* hooked up EA line for M58715
mario.c:
* fixed portA startup value
* documented hardware changes to use a I8039 on a mario board
2008-01-13 13:34:34 +00:00
Aaron Giles
f44732e5af Added XTAL clocks to zaxxon.c.
Cleaned up jaguar driver:
 * proper video timing, configured by the chipset
 * 32-bit rendering, removing 16bpp hacks
 * support for borders
 * proper object processor timing, including multiple passes per line
 * added R3041 as a clone of the R3000
 * fixed XTALs based on documentation
2008-01-13 01:15:32 +00:00
Couriersud
190e262fb3 i8039.c/mario.c:
* fixed movd instructions
* add MB8884 and M58715 cpu types
* moved timer hack to M58715
* added ram_mask for internal ram access
* added R.A11 as 'M' to dasm flags
* added EA "IO" port
* mario now uses M58715 as sound cpu
2008-01-12 22:10:02 +00:00
R. Belmont
292b44af10 And no logging :) 2008-01-12 06:04:20 +00:00
R. Belmont
61714cd5a7 64-bit GCC fixes 2008-01-12 06:03:09 +00:00
Aaron Giles
8240d56dd9 Added support for outputting 64-bit target addresses. 2008-01-10 18:14:50 +00:00
Aaron Giles
c09a3df1e9 System 2 driver cleanup.
Proper video timing.
Full memory maps.
Save state support.
Removed 720 sound CPU hack in favor of prepopulated EEPROM like the other games.
2008-01-10 17:57:26 +00:00
Zsolt Vasvari
4260f4f8ab Fixed disassembly of Flag Out bit
Fixed incorrect argument order in OUT instruction
Corrected spacing
2008-01-10 04:47:58 +00:00
Zsolt Vasvari
19205daeb0 Fixed the disassembly of the Sense bit 2008-01-10 03:07:17 +00:00
Aaron Giles
29f2a7862a Wow. I can't believe I got away for months without saving RBP.
Should fix linux crashes with 64-bit DRC.
2008-01-09 06:35:07 +00:00
Aaron Giles
8fc9bc85e4 Yet another attempt to fix the MIPS 64-bit Linux crash. 2008-01-08 07:48:36 +00:00
Aaron Giles
bce2fa84b4 Cleanups and version bump to 0.122u4. 2008-01-07 17:14:05 +00:00
Zsolt Vasvari
531aea4a38 This essentially rewrites the CVS system video code. This fixes wallst071gre. Also fixed the S2650 registry window display. 2008-01-07 10:43:55 +00:00
Aaron Giles
9d3cf20f84 Fixed bug that caused us to use a bogus address for the entry point. 2008-01-07 06:05:23 +00:00
Aaron Giles
2d844fe392 Turned down the aggression on the "don't reconfigure screen" kludge in the TMS34010 core.
Fixes stonebal0117u2gre.
Also fixed minor cosmetic bug in last Williams sound update.
2008-01-07 03:29:59 +00:00
Aaron Giles
0ce44c7911 ElSemi -> Miguel Angel Horna in copyright notices 2008-01-06 16:58:33 +00:00
Aaron Giles
dae5e71408 (Thanks to MooglyGuy for the pointer)
Removed hack in setting the timer in the MIPS core, which caused missed timers on the aleck64 games.
Fixed icount management in the RSP core which caused it to report negative cycle counts.
Fixes aleck64_0120red and mtetrisc0115u1red.
2008-01-06 07:10:12 +00:00
Aaron Giles
24bea94d01 (From Oliver Stoneberg)
This fixes the winwork.c and poly(new).c meory leaks in the viper.c 
driver. I didn't look at the x86drc.c, because Aaron said it will be 
changed soon and there is no need to investigate those leaks at all.

As I wanted to update my own personal TODO about that fix I 
recognised it only happens in viper.c as well, so I took a stab at 
it. It was just anothe rmissing cleanup function and I also cleaned 
up the *_exit() potions/usage of the cores supporting DRC a bit.
2008-01-06 01:24:16 +00:00
Aaron Giles
ee9f88963c Copyright cleanup:
- removed years from copyright notices
 - removed redundant (c) from copyright notices
 - updated "the MAME Team" to be "Nicola Salmoria and the MAME Team"
2008-01-06 00:47:40 +00:00
Aaron Giles
a814dc9ec5 Allowed 32-bit pixel sizes for 34020 core.
Fixed 34020-only RPIX instruction.
Fixed btoads0102u5gre and btoads0103u1gre.
2008-01-04 17:39:33 +00:00
Aaron Giles
422ccce762 (From Oliver Stoneberg)
This is an updated version of my earlier ATTR_PRINTF patch. It was 
reviewed by Atari Ace to use ATTR_PRINTF properly and fixes even more 
format errors. I also reviewed the whole source again and it is now 
used in all possible places.
2008-01-03 05:37:18 +00:00
Aaron Giles
25eee632f6 (inspired by Firewave)
Removed ui_popup(). Drivers should always be using popmessage() instead (has been this way for a while).
Augmented popmessage() so that you can pass NULL to immediately dismiss any messages.
2008-01-03 05:33:59 +00:00
Pierpaolo Prazzoli
32dcbe633e Fixed save states in i8051 cpu core
Fixed save states in powerbls (powerbls0112u4red is fixed)
2008-01-01 22:47:24 +00:00
Pierpaolo Prazzoli
7ad91eead6 Fixed typo for IO1 irq callback 2008-01-01 21:39:10 +00:00
Aaron Giles
0e20c80517 Bumped version to 0.122u2. Spacing cleanups. 2007-12-31 02:22:13 +00:00
Aaron Giles
460437f8d1 (From Atari Ace)
The attached patch adjusts most conditional logging in MAME to use the
idiom "do { if (VERBOSE) logerror x; } while (0)".   This has the
benefit that the compiler checks the syntax of the logging even in the
case it will be eliminated, and in fact a number of cases here needed
adjustments to compile because of this.
2007-12-31 02:04:39 +00:00
Aaron Giles
3f6e8e1abf (From Samuele Zannoli)
The attached patch is some more progress in the sh4 core, expecially in the fpu.
Now there should be all the minimum needed to run the naomi bios ...
2007-12-31 02:00:41 +00:00
Aaron Giles
625c8308b9 (From Barry Rodewald)
Here is a fix I've done to the Z80 CPU core that removes the increasing 
of the R register from each IX/IY related (FD xx or DD xx) instruction.

This corrects the amount the R register should increased to to 2, 
instead of 3.  Documentation I've read suggests that the R register is 
increased by 1 for each instruction with no prefix, and by 2 for each 
instruction with a prefix (DD, FD, ED, CB, DD CB and FD CB).  This fixes

some protected cassette loaders in the MESS Amstrad CPC driver, and 
maybe others, which require the R register to be correct for the next 
routine to be decoded correctly.  I'd doubt that there is much, if any, 
noticeable impact for MAME, as the R register is really only useful to a

program as a simple random number generator (or seed).

I've tested the fix with Pacman, in MAME, and when it comes across a LD 
IX,xxxx or ADD IX,xx it will increase R by 2, whereas previously, it 
increased R by 3.
2007-12-31 01:58:34 +00:00
Aaron Giles
b482fd8c82 Add register usage tracking to Zeus 2.
Added artifical Z offset of -2 to make the full screen show in crusnexo.
Really fixed TMS3203x interrupt handling.
Added hack to catch invalid SP values during 32031 execution (debug mode only).
2007-12-31 01:46:50 +00:00
Aaron Giles
d9da8bd1e7 Fixed whiny gcc errors. 2007-12-28 16:39:13 +00:00
Aaron Giles
2f8231e10a TMS3203x core updates:
* fixed interrupt handling
 * added support for edge-triggered interrupts on '32
 * expanded interrupt support for the '32
 * updated drivers using TMS3203x core to deassert interrupts
 * added externally accessible functions for converting '3x floating point format
 * updated gaelco3d driver to use new functions

Zeus2 (+related) updates:
 * fixed save states for DCS games
 * cleaned up Zeus2 waveram handling
 * added Zeus2 save state support
 * added preliminary model and quad rendering support for Zeus2
 * added support to timekpr for the ZPRAM used on Zeus2
 * hooked up ZPRAM in Zeus2 games
 * hooked up controls in Zeus2 games
 * updated poly.c to ensure it is idle before saving state
2007-12-28 06:11:52 +00:00
Aaron Giles
28d23853ae (From AtariAce)
This patch should complete the addition of static qualifiers to all
MAME symbols that aren't explicitly exported.  It primarily handles
generated code (e.g. amspdwy.c), plus a handful of cases I'd
previously missed and some new cases introduced in the last update.
One interesting bit was the discovery that the 32-bit scanline
routines in drawgfx.c are unused.  I debated eliminating them but
decided instead to just export them.  Various internal drawgfx
functions were conditionally removed by examining a new RAW define,
although one routine (blockmove_8toN_alphaone) was determined to be
dead code.

While investigating constifying MESS, I came across a few core APIs
that were missing const qualifiers which this patch fixes.  I also
consted up tx1.c while I was at it.
2007-12-26 16:55:35 +00:00
Couriersud
f76a01ecc7 - Fixes mwalk0122red
The peplus games I tested (pexp0019, peps0716, pebe0014 and pepp0188) did not hang so this should be ok for peplus and mwalk
2007-12-26 00:47:40 +00:00
Nathan Woods
24edb7d555 Fixed M65C02 optimization [Peter Trauner] 2007-12-25 17:56:12 +00:00
Aaron Giles
b5087df8d2 (From Atari Ace)
This small patch makes some minor "code quality" improvements to MAME.
First off, some remaing static/const qualifier missed cases were
addressed.  Secondly, a few cases of missing #include "foo.h" were
added.  Thirdly, a few global names were modified to make them less
generic/more consistent (voodoo.c, vrender0.c, lethal.c, rungun.c,
zac2650.c).  Fourthly, some dead/useless code was removed
(i8051.c,model1.c,romcmp.c).
2007-12-24 03:41:16 +00:00
Aaron Giles
dbb50ed634 Zeus hardware:
* Cleaned up zeus wave RAM accessors.
 * Changed rendering code to allow for greater parallelism on multicore systems.
 * Removed some vestigial zeus 2 hacks.
 * Reduced visible area to remove artifacts.
 * Made right/bottom vertices inclusive to fix some gapping issues.
 * Fixed invasn lightgun offset.
 * Marked invasn as playable.

Zeus 2 hardware:
 * Fixed ROM loading, added banking support.
 * Separated zeus 2 video implementation from zeus implementation.
 * Implemented direct pixel accesses; enough to get startup screens to show.

ADSP-2100:
 * Properly documented ADSP-2104 internal memory map.
2007-12-21 16:12:20 +00:00
R. Belmont
047ec5ff5c One more fix for 64-bit GCC. 2007-12-21 00:43:47 +00:00
Aaron Giles
75265e5e23 Changes for MAME 0.122. 2007-12-18 08:09:03 +00:00
Aaron Giles
507ca2d275 Changes for MAME 0.121u4. 2007-12-17 16:41:39 +00:00
Aaron Giles
df34329a47 Changes for MAME 0.121u3. 2007-12-17 16:39:40 +00:00
Aaron Giles
c82a966b3b Changes for MAME 0.121u2. 2007-12-17 16:37:57 +00:00
Aaron Giles
8a8ccc5949 Changes for MAME 0.121u1. 2007-12-17 16:33:33 +00:00
Aaron Giles
7b77f12186 Initial checkin of MAME 0.121. 2007-12-17 15:19:59 +00:00