Commit Graph

1129 Commits

Author SHA1 Message Date
R. Belmont
fa216ba6f9 MC680x0 update
- Reworked PMMU/core interface so PMMU now sees all cop 0 instructions
- Improved disassembly of PMMU instructions
- Preliminary 68LC040 support
- Fixed disassembly for EC/LC variants of '030/'040
2009-11-14 18:28:47 +00:00
Ryan Holtz
6df78b8321 Added missing BLTZAL opcode to the RSP core. [angrylion] 2009-11-12 22:47:57 +00:00
Phil Bennett
448de6a3e9 i386 core fixes: [Barry Rodewald]
* Added Nested Task flag, and I/O Privilege flags.  They aren't
  implemented in any way, but can now be set or reset.  Can be used to
  detect a 80386 or later CPU.
* Implemented ENTER instruction.
* Made IRQ vectors treated as 8 bytes when in protected mode, and made
  the addresses pushed onto the stack 32-bit if the gate descriptor used
  is a 386 interrupt or trap gate (also when in protected mode, will
  always be 16-bit if in real mode).


---------- Forwarded message ----------
From: Barry Rodewald <bsr@xnet.co.nz>
Date: Tue, Nov 3, 2009 at 10:12 PM
Subject: i386 update
To: submit@mamedev.org


Hi,

Here's a few small fixes for the i386 core, based from the work I've
been doing on emulating the FM Towns in MESS.  Mostly based from the
i386 Programmer's Reference Manual.

The fixes are as follows:

* Added Nested Task flag, and I/O Privilege flags.  They aren't
implemented in any way, but can now be set or reset.  Can be used to
detect a 80386 or later CPU.

* Implemented ENTER instruction, this is used by the FM Towns version of MS-DOS.

* Made IRQ vectors treated as 8 bytes when in protected mode, and made
the addresses pushed onto the stack 32-bit if the gate descriptor used
is a 386 interrupt or trap gate (also when in protected mode, will
always be 16-bit if in real mode).

I've tested a few i386 games (Seibu SPI, PC-AT, and Wolf System) in
MAME 0.135, with no obvious regressions.

Diff is based on MAME 0.135.

Thanks,
Barry Rodewald
mailto:bsr@xnet.co.nz
2009-11-05 13:17:33 +00:00
Andrew Gardner
45dfc2315a Adds save state support to plygonet.c and the DSP56156 CPU core. 2009-11-04 05:20:00 +00:00
Dirk Best
3cfb47f7dd Z80: Check for NOP in interrupt mode 0. This allows code like ei / halt / di to work correctly. A better solution would be to implement full support for arbitrary opcodes in mode 0. 2009-11-03 16:54:46 +00:00
Jonathan Gevaryahu
19ea3c4ef9 Change to consistently use Intel notation for hex values in TMS32010 disassembler, rather than a mix of Motorola and Intel notation. 2009-11-02 23:15:40 +00:00
Aaron Giles
5ecfb2044b Cleanups and version bump. 2009-10-31 22:47:46 +00:00
Aaron Giles
a2a25f17e3 Changed 32010 unknown opcode to output in $xxx format like
all other hex values.
2009-10-31 19:50:29 +00:00
Andrew Gardner
e2bcc78b99 Changes to the dsp56156 cpu core. [Andrew Gardner]
* Added JF table decode function.
* Added ABS, IMAC, and TFR2 opcodes.
* Fixed various flags for TST, INC24, SUB, CMP, and CMPM.
* Added hack to DO function to accommodate for the CPU core's inaccurate math.


(Polygonet Commanders goes 'ingame' yet again, but it's because of a hack I added 
to the hardware DO function to ignore negative values.  The do loop, of course, should 
not be getting negative values, but that will require accurate math functions with 
accurate rounding and limiting, and I'm not there yet.  Oddly enough, i've also
broken the sky ROZ layer.)
2009-10-30 09:05:47 +00:00
R. Belmont
55c2b7c84a 680x0 update:
- Support PMOVE modes from PMMU
- Allow the FPU to be used for both '030 and '040
- Add byte and word FPU loads/stores
- Fixed buggy FPU 64-bit stores in the (An) addressing mode


If anyone has any ideas on how to sanely handle the 68k FPU's 96-bit "take
that, Intel" mode let me know ;-)
2009-10-28 02:31:21 +00:00
Phil Bennett
2055d5b438 03487: All Drivers using z180 cpu: Access Violation [Phil Bennett]
Should fix the compile warning/error too.
2009-10-26 19:54:03 +00:00
Aaron Giles
eb2ba6cf6c Cleanups and version bump. 2009-10-25 05:34:14 +00:00
Phil Bennett
8b28c00872 Minor speed improvement to the e132xs core - don't pass opcode parameter when calling instruction handlers [Christophe Jaillet]
> -----Original Message-----
> From: Christophe Jaillet [mailto:christophe.jaillet@wanadoo.fr]
> Sent: Saturday, October 17, 2009 9:00 AM
> To: submit@mamedev.org
> Subject: Speed up emu\cpu\e132xs
>
> Hi,
>
> this patch speeds up the emulation of the CPU e132xs.
>
> For the emulation of this CPU, two structures are used :
>     - '_hyperstone_state' which keep track of the state of the
> processor
>     - 'regs_decode' which is used when decoding the opcode being
> executed
>
> Both of these structures have a field 'op' but only the one of
> 'regs_decode'
> is actually used.
>
> The emulation of the CPU is done this way :
>     - read the opcode
>     - call the corresponding function which emulate this opcode. Two
> parameters are passed :
>         o a pointer to hyperstone_state
>         o the opcode itself
>     - the opcode is then stored in the relevant field of a local stack
> stored 'regs_decode' structure.
>
> The field 'op' of  '_hyperstone_state' is never used.
>
>
> So the proposed patch does the following :
>     - use the 'op' field of '_hyperstone_state' instead of the one of
> 'regs_decode'
>     - initialise this 'op' field before calling the function which
> emulate
> this opcode
>     - remove the need of the second parameter ('opcode') of these
> functions
>     - remove the now useless 'op' field of the structure 'regs_decode'
>
> Doing so removes the need of pushing a parameter on the stack for each
> opcode simulated and give a average speed up of 1 % or 2 % of the
> emulation.
>
> Hope this help.
> Best regards,
>
> CJ
2009-10-21 11:27:56 +00:00
Aaron Giles
59a1941469 > -----Original Message-----
> From: Atari Ace [mailto:atari_ace@verizon.net]
> Sent: Saturday, October 17, 2009 12:14 PM
> To: submit@mamedev.org
> Cc: atariace@hotmail.com
> Subject: [patch] Remove dead prototypes
> 
> Hi mamedev,
> 
> This patch mostly removes dead prototypes, especially in source files
> as opposed to header files which I've previously audited.  It also
> migrates a few prototypes to existing header files, and adds missing
> prototypes to segamsys.h.
> 
> ~aa
2009-10-21 05:20:23 +00:00
Aaron Giles
d81f1f98d3 > From: atari_ace@verizon.net
> To: submit@mamedev.org
> CC: atariace@hotmail.com
> Subject: [patch] Eliminate more .data
> Date: Wed, 7 Oct 2009 08:51:56 -0700
> 
> Hi mamedev,
> 
> Most variables in .data are likely to lead to multisession bugs, so it
> is best to eliminate them and add explicit init/reset code for them
> instead. This patch does that for almost all the cases, with a few
> changes deserving some comments:
> 
> z180: cc was global when it should be per-cpu.
> nesapu: the noise table would be different run to run in multisession
> which probably wasn't intended.
> astring: i constified the dummy string to make it impossible to
> modify.
> mediagx: hits was separated from the constant data
> tecmosys: i reduced the number of exports and renamed them to use
> tecmosys_ as a prefix.
> atari: i moved the renderer function into ANTIC.
> naomibd: the array provided to x76f100 was too small and might have
> caused memory corruption.
> n64: i constified the one and zero colors, requiring many more const
> qualifiers to be added.
> ldverify: i encapsulated the audio and video variables to reduce the
> amount of global state.
2009-10-21 05:18:32 +00:00
Andrew Gardner
b1183137b9 Fixed dsp56156 DO & BSCC opcode bugs. [Andrew Gardner]
(Also makes the code prettier in parts)
(The dsp now goes into its calculation loop, but some
opcode doesn't set flags properly, so it never drops
out of the loop).
2009-10-20 06:11:07 +00:00
Luca Elia
5f3eb963b3 Dynax.c update [Luca Elia]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mahjong Gekisha [Luca Elia, Guru, Dyq, Bnathan]

New clones added
----------------
Hana Jingi (Japan, Bet) [Luca Elia, Guru, Brian Troha, Yasuhiro Ogawa]
2009-10-18 19:41:22 +00:00
Angelo Salese
57dd9e65f1 i386: implemented SLDT & STR opcodes 2009-10-17 17:02:27 +00:00
Couriersud
1e4c12db82 c++ fix. new is a reserved word in c++ 2009-10-16 23:50:08 +00:00
Aaron Giles
2d22e450f2 Cleanups and version bump. 2009-10-12 08:45:25 +00:00
Aaron Giles
357e36fc84 Eliminated osd_cpu.h.
Types are pretty much unified now.
Multiply operations are handled by eminline.h.
Divide operations were just silly in macros.
64/32-bit combination/extraction macros moved to osdcomm.h and renamed.

Also fixed compile errors in recent 68k changes.
2009-10-12 08:37:04 +00:00
R. Belmont
17fc4a4a78 m680x0 update:
- Added working PMMU address translation (not feature complete, but sufficient
  to boot several 68030 Macs in MESS)
- Fixed up disassembly of some PMMU instructions
- Added "68020 with 68851" CPU type
2009-10-12 02:50:35 +00:00
R. Belmont
0585b0a309 m68k: throw F-line trap correctly when PMMU instructions are hit on non-equipped CPUs. 2009-10-05 04:26:11 +00:00
Aaron Giles
aff6be5877 Cleanups and version bump. 2009-10-04 05:08:50 +00:00
Aaron Giles
08a4572e09 > -----Original Message-----
> From: Atari Ace [mailto:atari_ace@verizon.net]
> Sent: Wednesday, September 30, 2009 7:56 AM
> To: submit@mamedev.org
> Cc: atariace@hotmail.com
> Subject: [patch] More static qualifiers
> 
> Hi mamedev,
> 
> This patch makes more of MAME static, primarily targeting functions
> exported by header files that are in fact unused outside their own
> file, and the chip emulators in machine/snes.c.  It also degenericizes
> some exported names in archimds, bublbobl, and lucky74.
> 
> ~aa
2009-10-03 06:53:27 +00:00
Aaron Giles
fe289e67f5 > -----Original Message-----
> From: Atari Ace [mailto:atari_ace@verizon.net]
> Sent: Sunday, September 27, 2009 7:58 AM
> To: submit@mamedev.org
> Cc: atariace@hotmail.com
> Subject: [patch] More _NAME macros
> 
> Hi mamedev,
> 
> MAME's idiom for function/data macros is to first implement
> <name>_NAME, then implement the other macros in terms of the _NAME
> macro.  Then in principle only a single line needs editing to change
> the naming convention.
> 
> This patchset implements this idiom more completely.  The first patch
> adds some missing _NAME macros and fixes cases in source files that
> should be using the macros.  The second patch then changes header
> files where the macros should have been used, but weren't.  This
> required changing the idiom for removing a machine driver function
> pointer from MDRV_<FUNCTION>(NULL) to MDRV_<FUNCTION>(0), to avoid
> problems with NULL being macro expanded.  This actually unifies the
> handling of all such cases, as we already had ipt_0 and driver_init_0.
> It also required reworking the devtempl.h implementation in a way that
> triggered a warning on MSVC about using empty macros, so vconv.c
> needed to be updated.  The third patch then renames all the _NAME and
> _0 macros to verify that all the cases have been covered, so it isn't
> intended to be applied.
> 
> ~aa
2009-10-01 17:27:29 +00:00
R. Belmont
42951f5c7a M680x0 update
- Add CPU types 68EC030, 68030, and 68EC040
- Start of 030/040 PMMU, including stubbed PMOVE
2009-09-27 23:39:39 +00:00
R. Belmont
d12b0394b5 m68k: disassemble PMOVE instruction (move to/from PMMU) 2009-09-27 03:15:34 +00:00
Ryan Holtz
b012b88ca5 Don't mention in whatsnew - puts the BSD optimization back in. 2009-09-26 22:33:20 +00:00
Ryan Holtz
43898fb85f Fleshed out SCC68070 definition in m68k core, for CD-i use in MESS [Harmony] 2009-09-26 22:25:33 +00:00
Andrew Gardner
50f6cfc475 Hacked in the dsp56156's "Long Interrupts." Added SUB opcode. [Andrew Gardner]
Polygonet Commanders now goes in-game!
2009-09-26 17:31:48 +00:00
Aaron Giles
1f7a6caba9 Cleanups and version bump. 2009-09-24 07:56:15 +00:00
Aaron Giles
d8aa6627f5 > -----Original Message-----
> From: Atari Ace [mailto:atari_ace@verizon.net]
> Sent: Sunday, September 20, 2009 9:54 AM
> To: submit@mamedev.org
> Cc: atariace@hotmail.com
> Subject: [patch] Eliminate more #ifdef LSB_FIRST
> 
> Hi mamedev,
> 
> This patch recodes more cases where LSB_FIRST is used to conditionally
> compile separate code for LSB and MSB targets.  The atari.h chunk was
> dead code (both in MAME and MESS) so I simply removed it.
> 
> ~aa
2009-09-24 07:14:58 +00:00
Curt Coder
b0c5844b7a i8085:
- RIM instruction now shows the current status of RST5.5 and RST6.5 pins.
2009-09-23 20:25:57 +00:00
Couriersud
f75ca12698 Move fake I/O ports into enum 2009-09-19 19:37:21 +00:00
Couriersud
398572a694 Verified irq handling (please credit Quench)
- moved irq handling out of set_irq_line
2009-09-19 19:29:21 +00:00
Couriersud
203e2e538d Fix bugs introduced in last commit
- abstract SP handling
2009-09-19 19:00:52 +00:00
Couriersud
d2182ce269 - Added S2650_FO_PORT fake port for flag output line.
- Made CHECK_IRQ_LINE an inline
2009-09-19 14:30:53 +00:00
Ryan Holtz
980eb45e70 Fixed disassembly of NEG Rd,Rs instruction in ARM7TDMI Thumb mode [Harmony] 2009-09-18 21:04:09 +00:00
Andrew Gardner
77a3badd32 Fixed various issues with the dsp56156 disassembler. [Andrew Gardner]
(Off the record)
I verified this thing against IDA Pro's 56156 disassembler and the docs.
Every time I found a bug in IDA's disassembler, I cross-referenced the
manual.  There remain 3 opcodes which are questionably disassembled,
since even the manual is ambiguous on the details, but beyond that, 
this thing should be 100% correct.

Whew.  This might have actually fleshed out a bug in the 
disassembly/execution.  Time will tell...
2009-09-18 04:37:47 +00:00
R. Belmont
5e33f4fd5c m68k: don't save signal contexts on *BSD and Mac OS X [scarlet, R. Belmont] 2009-09-16 03:25:28 +00:00
Wilbert Pol
45c5b38c2d lr35902: do not clear the interrupt flag when the cpu is halted and no interrupt is taken. 2009-09-15 16:56:04 +00:00
Wilbert Pol
540bc6e613 lr35902 cpu core: Improved handling of the DI+HALT bug. 2009-09-14 19:17:19 +00:00
Michaël Banaan Ananas
d84af18926 i386: improved handling of override prefixes after a rep instruction [Gabriele Gorla] 2009-09-14 12:30:36 +00:00
Aaron Giles
e47035e834 Cleanups and version bump. 2009-09-10 08:39:42 +00:00
Aaron Giles
fa68c11272 > From: Atari Ace [mailto:atari_ace@verizon.net]
> Sent: Monday, September 07, 2009 8:08 PM
> To: submit@mamedev.org
> Cc: atariace@hotmail.com
> Subject: [patch] const/static/include fixes
> 
> Hi mamedev,
> 
> A result of some code auditing, this patch adds missing static and
> const qualifiers, and fixes up some header files.
> 
> ~aa
2009-09-10 08:35:37 +00:00
Aaron Giles
647b726571 i386 fixes: [Gabriele Gorla]
- Add missing arpl instruction
 - Fixed BCD carry
 - Fixed disassembly of group D8 when modrm > 0xc0
 - Add fucompp instruction to disassembler
2009-09-10 07:20:37 +00:00
Angelo Salese
cd8063446c G65816: Fixed a bug with SBC opcode N flag behaviour in Decimal Mode [Angelo Salese] 2009-09-09 17:30:56 +00:00
Quench
740ae26ae6 PIC16C5x CPU - Count input fix
- Fixed the T0CKI count input being controlled by the wrong edge sensing
2009-09-09 13:58:19 +00:00
Aaron Giles
50b4a43bfd Fix CPP_COMPILE (except for internal compiler error on snes.c). 2009-09-08 16:58:02 +00:00
Aaron Giles
96d7f2cf3b Remove remaining references to machine->cpu[n]. Removed cpu[n] array.
Replaced with machine->firstcpu which is a fast access to the head
of the list of CPUs.
2009-09-08 09:13:10 +00:00
Curt Coder
2e98a0f2de [Z8] Fixed disassembler argument order. 2009-09-07 12:47:40 +00:00
Aaron Giles
8fbe10c91f Cleanups and version bump. 2009-09-07 01:34:34 +00:00
Aaron Giles
03b5da1a55 Added 'options' parameter to the CPU_DISASSEMBLE prototype. For now, the
debugger always passes 0 for this. unidasm has been updated to accept a
mode parameter, which is passed for the options.
2009-09-07 00:26:56 +00:00
Aaron Giles
191fe9cdc3 > From: Atari Ace [mailto:atari_ace@verizon.net]
> Sent: Sunday, September 06, 2009 7:25 AM
> To: submit@mamedev.org
> Cc: atariace@hotmail.com
> Subject: [patch] Deglobalize input.c
> 
> Hi mamedev,
> 
> These patches deglobalize input.c.  The first adds running_machine to
> some driver apis.  The (large) second patch adds the machine parameter
> to the most input_code_pressed apis (generated by script, not
> compilable).  The last patch then actually changes those apis and
> others to take running_machine, and adds struct _input_private to hold
> the input state variables.
> 
> ~aa
2009-09-06 22:28:58 +00:00
Aaron Giles
ad2a5144ad > From: Gabriele Gorla [mailto:gorlik@penguintown.net]
> Sent: Saturday, September 05, 2009 2:11 PM
> To: submit@mamedev.org
> Subject: I386: fix loop instructions when address_size is 16-bit
> 
> Original code always assume address_size to be 32-bit
> The patch will use the correct size based on the status of the
> address_size flag.
>
2009-09-06 21:56:17 +00:00
Curt Coder
814b15eaf3 Fixed 64-bit MSVC compile. 2009-09-06 13:48:20 +00:00
Ryan Holtz
3548990629 Fixed carry handling in ADC, ADCI, SBC and SBCI opcodes. Fixes many SNES SuperFX bugs. [Harmony] 2009-09-05 04:34:51 +00:00
Curt Coder
1c56a127d5 Added preliminary Zilog Z8 CPU core for MESS. 2009-09-04 12:40:47 +00:00
Ryan Holtz
f09c9059f9 Added a compile-time flag to select between ABI and Manual register names in the MIPS core. [Harmony]
Fixed a MESS-side compile warning in the SNES S-DD1 code. [Harmony]
2009-09-04 11:40:49 +00:00
Ryan Holtz
faf695bfc9 SNES updates: [R. Belmont, Harmony]
- Corrected ROM loading behavior for SuperFX games
- Added more ROM mirroring needed by certain SuperFX 2 games
- Corrected the behavior of certain bit-restricted SuperFX registers.  Doom, Yoshi's Island, Dirt Trax FX and Voxel Demo show things now.
- Improved S-DD1 emulation, neither game using S-DD1 boots yet
2009-09-04 05:00:05 +00:00
Ryan Holtz
b54790792a Fixed numerous opcodes in the AVR8 core [Harmony]
Fixed a register naming issue in the MIPS core [Harmony]
Numerous SuperFX updates: [Harmony]
 - Hooked up RAM and ROM buffering
 - Inlined several more functions
 - Removed debug spew
 - Added the ability to define an external IRQ line callback, and hooked it up to the 65C816
 - Fixed flag calculation for HIB opcode
 - Hooked SuperFX chip up to the SNES machine driver
2009-09-03 23:53:43 +00:00
R. Belmont
85d9b4decb M377xx: fix CLB/SEB when not in bank 0 2009-09-03 23:21:51 +00:00
Ryan Holtz
a9a3f05218 SuperFX updates: [Harmony]
- Inlined a number of functions for possible speed increase
- Removed some memory buffering cruft, to be re-added later
- Fixed behavior of ASR opcode
- With additional MESS-side changes, Stunt Race FX is playable, and Vortex shows much more.
2009-09-02 23:28:18 +00:00
Ryan Holtz
64b84113e9 SuperFX fixes: [Anonymous]
- At least partly fixed PLOT and RPIX behavior.  This fixes many gfxs in Star Fox and Vortex, but no polys yet.
2009-08-31 02:53:53 +00:00
Ryan Holtz
8b572ae6f8 SuperFX updates [Anonymous]
- Fixed disassembly of LMULT/FMULT ops
- Fixed reads using LDW/LDB
- Fixed writes using STW/STB
- Fixed SBC carry behavior
- Fixed GETC ROM access behavior
- Some SuperFX games begin to show things in MESS
2009-08-30 22:20:17 +00:00
Quench
e77505b9a2 Fixes to the PIC16C5x CPU core:
- Indirect addressing was not taking into account special purpose memory mapped locations.
 - 'iorlw' instruction was saving the result to memory instead of the W register.                               
 - 'tris' instruction no longer modifies Port-C on PIC models that do not have Port-C implemented.


Also added difficulty DIP to BigTwin
2009-08-30 14:16:50 +00:00
Michaël Banaan Ananas
4f4af5ca30 > Shouldn't you also add a return statement?
yes, but it doesn't matter: ifs/cases afterwards would be FALSE anyway
2009-08-30 11:25:29 +00:00
Michaël Banaan Ananas
4bb09d5632 fixed i386 carry/borrow flag in ADC/SBB [Gabriele Gorla]
> -----Original Message-----
> From: Gabriele Gorla [mailto:gorlik@penguintown.net]
> Sent: Saturday, August 29, 2009 5:39 AM
> To: submit@mamedev.org
> Cc: Gabriele Gorla
> Subject: Re: i386: fix carry/borrow flag in ADC/SBB
>
> > the original code implements ADC and SBB as 2 consecutive ADDs.
> > This will not produce the correct result when the carry is generated
> by
> > the first addition as it is overwritten by the second operation.
>
> updated patch, fixes a typo.
2009-08-30 11:19:07 +00:00
Aaron Giles
81d248c448 MSVC compile fixes. 2009-08-30 02:04:21 +00:00
Aaron Giles
5df39c5473 Cleanups and version bump. 2009-08-29 23:18:28 +00:00
Aaron Giles
1173ae9493 Fixed dependencies for the 57002dasm 2009-08-29 21:54:42 +00:00
Ryan Holtz
23dd52a582 SuperFX changes: [Anonymous]
- Fixed overflow flag calculation on ADDI / ADCI
- Fixed lack of register reset after ADD / ADC / ADDI / ADCI
2009-08-29 10:00:14 +00:00
Ryan Holtz
0915000ffa SuperFX updates: [Anonymous]
- Disabled RAM/ROM clocking, going with instant transfer for now
- Understood and re-enabled pipelined instruction architecture, Star Fox runs farther
- Fixed a ridiculous typo in ROL instruction
2009-08-29 04:28:36 +00:00
Ryan Holtz
25d5307394 SuperFX core updates: [Anonymous]
- Corrected carry flag behavior in ROL opcode
- Corrected BRA target address calculation (maybe still wrong)
- Corrected LOOP target address calculation
- Made sure that FROM sets cpustate->sreg_idx
2009-08-27 04:47:58 +00:00
Ryan Holtz
67fc4827bb Multiple SuperFX updates: [Anonymous]
- Added LSR and ROL opcodes
- Updated instructions to use the safer superfx_gpr_write: LOOP, PLOT, INC, DEC
- Added missing register writeback to LMS
2009-08-27 01:59:38 +00:00
Ryan Holtz
4e3a2c0e17 Argonaut SuperFX core: [Anonymous]
- Improved disassembler to more gracefully handle ALT* opcode effects.
- Corrected instruction behaviors: STOP, SUB, SBC, SUBI, CMP
2009-08-26 06:29:36 +00:00
Michaël Banaan Ananas
7e2794ad21 Fixed IM2 interrupt cycles [eke]
http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=199853&page=0&view=expanded&sb=5&o=&fpart=1&vc=1
I don't know this z80 emulator well enough to look into his first two points. Juergen?

1/ In the cc_xy[] table which lists instructions with DD or FD prefixes, "illegal" combos are returning 4 cycles when they should return 4 + cc_op (the normal instruction being executed). Another way to handle this correctly is to call EXEC(z80,fd,xx) or EXEC(z80,dd,xx) instead of op_xx(z80) when such pair of opcode is detected, to be sure the correct amount of cycles is used.

2/ According to Sean Young, R register is NOT incremented when chaining multiple DD or FD prefixes: [...]

This one was already fixed, dunno when:
2/ In the cc_ed[] table, INI (ED A2) and IND (ED AA) should return 16 cycles, like other instructions from this group, not 12. This seems to be a typo error.
2009-08-24 11:57:26 +00:00
Ryan Holtz
89d4356142 Improved some aspects of SuperFX emulation, Star Fox now executes SuperFX code, but does not stop. [Anonymous] 2009-08-24 01:57:02 +00:00
Ryan Holtz
eb25141647 Fixed a handful of SuperFX core bugs. Star Fox begins to run code. [Anonymous]
Over to you, Kale...
2009-08-23 15:19:30 +00:00
Ryan Holtz
2618dfaabc Hooked up Branch instructions in the Argonaut SuperFX core. [Anonymous] 2009-08-23 08:23:09 +00:00
Ryan Holtz
a820e450c3 Fixes the build. 2009-08-23 08:10:51 +00:00
Ryan Holtz
76a4664cb9 Implemented basic Argonaut SuperFX support, needs to be hooked to the SNES driver. [Anonymous] 2009-08-23 08:06:50 +00:00
Olivier Galibert
26dee2df8e Fix the i386 disassembler duplication. 2009-08-22 19:55:33 +00:00
Aaron Giles
f474114e1d Added infrastructure to compile universal standalone disassembler:
- added unidasm to the tools build
 - split the disassemblers out of libcpu and into new libdasm
 - ensured the disassembly entry points for all disassemblers are
    in the source file for the disassembler (sometimes new generic
    versions were created)

Still needs command line options and file loading, but the 
fundamentals are present, and it links.
2009-08-22 06:25:07 +00:00
Curt Coder
b2dcbb3b68 Intel 8085:
- refactored callbacks to use devcb
- added 8080A variant
2009-08-21 08:19:17 +00:00
Aaron Giles
ac3d58fad5 Cleanups and version bump. 2009-08-21 01:52:51 +00:00
Wilbert Pol
dd46ee883a Added support TMS1000 family models TMS1000/1070/1100/1200/1270/1300.
Added support for configuration of output PLA to the tms0980/tms1000 interface.
2009-08-20 19:15:30 +00:00
R. Belmont
6106e6bae4 mcs51: fix GCC 64-bit warning 2009-08-19 20:48:21 +00:00
Michaël Banaan Ananas
93d7716c87 - fixed cycle deduction on unconditional CALL / RET, it took about half too many cycles
- added cycle tables and cleaned up source layout. This was done very carefully, it should be errorfree.
- removed HLT cycle eating (earlier, HLT after EI could theoretically fail)
- fixed parity flag on add/sub/cmp. Bug was caused by z80 overflow detection accidentally left in
- renamed temp register XX to official name WZ
- renamed flags from Z80 style S Z Y H X V N C  to  S Z X5 H X3 P V C, and fixed X5 / V flags where accidentally broken due to flag names confusion
2009-08-19 15:42:35 +00:00
Michaël Banaan Ananas
8a74f58d3b obsolete file 2009-08-19 15:30:28 +00:00
Michaël Banaan Ananas
06829cb2f7 Z80 changes:
- Fixed X/Y flags in CCF/SCF/BIT, ZEXALL is happy now
- Simplified DAA, renamed MEMPTR (3.8) to WZ (same temp register as the officially named WZ in the 8080), added TODO

the cycle fix by Marshmellow, in the 3.9 z80.c comments was already committed in june, just added there for documentation
2009-08-19 15:27:22 +00:00
Aaron Giles
df435f8701 Attempt to define an I64FMT string that can be used for printf'ing 64-bit
integers. This is defined to be "I64" on MSVC and recent mingw compilers,
and "ll" for all others.

Updated all instances of 64-bit prints to use the new macro.
2009-08-19 08:49:01 +00:00
Aaron Giles
03d5253dca Added some missing casts and other minor tweaks. 2009-08-19 04:58:54 +00:00
Aaron Giles
e3f1f454f8 Cleanups and version bump. 2009-08-13 05:56:25 +00:00
Aaron Giles
6f8be150e6 From: hoge hoge [c8cv@hotmail.com]
Sent: Friday, August 07, 2009 9:33 AM
To: submit@mamedev.org
Subject: z180 daatable removed
Since I removed the daatable from i8085, and the z180 one is exactly the 
same, I might as well remove that one too, see attached diff.

hap
2009-08-13 05:07:00 +00:00
Aaron Giles
8ff3556c40 From: hoge hoge [c8cv@hotmail.com]
Sent: Friday, August 07, 2009 6:45 AM
To: submit@mamedev.org
Subject: spacwalk dips and player2 support
Hello,

Attached is a diff for 0133u1 Space Walk that adds game time and coinage 
DIP switches, as well as service mode and input test. DIP switches 5 and 6 
are still unknown. It also adds support for the 2nd controller and 
coincounter, similar to clowns. I've removed the GAME_NOT_WORKING flag, since 
other than a glitch with the CPU controlled pad on the left side, the gameplay 
is working fine. The fact that the middle section is inaccessible looks 
deliberate: there's probably a vertical-shape object in the original artwork 
the clown (astronaut in this case:P) can bump into.

Greets,
hap
2009-08-13 05:04:23 +00:00
Aaron Giles
9b0333264b Should have been deleted. 2009-08-13 05:02:21 +00:00
Aaron Giles
53a55a0548 From: hoge hoge [mailto:c8cv@hotmail.com]
Sent: Thursday, August 06, 2009 7:09 AM
To: submit@mamedev.org
Subject: i8080 daa + multiple memreads fix, gottlieb audio, looping log

Hello,

i8080_daa_multiplememreads.zip: diff for 0133u1 i8080/i8085 cpu, removing the 
DAA table and fixing multiple memory reads on some opcodes (which would possibly 
only trigger on memorymapped I/O), and making M_ANA(R) halfcarry calculation a 
bit more straightforward. The functionality is basically the same as before.
i8080_newdaa_test.zip was used to test the new DAA implementation.
src/emu/cpu/i8085/i8085daa.h can be removed in 0.134, or is DIFF capable of 
removing files completely?

Greets,
hap
2009-08-13 05:02:01 +00:00
Aaron Giles
9d033c98e7 > From: atari_ace@verizon.net
> To: submit@mamedev.org
> CC: atariace@hotmail.com
> Subject: [patch] Introduce tilemap_private to running_machine
> Date: Thu, 23 Jul 2009 18:49:08 -0700
> 
> Hi mamedev,
> 
> Tilemaps in MAME are currently globally tracked. If multiple machines
> with different tilemaps are ever to be supported, this needs to be
> changed, which this patchset does.
> 
> 0. This patch add tilemap_private to running_machine, adds machine to
> a few apis and adds two new apis to replace the convention that tmap =
> NULL => all tilemaps.
> 1. This patch mechanically converts all the uses of ALL_TILEMAPS to
> use the new apis.
> 2. This patch removes ALL_TILEMAPS and makes tilemap_private
> dynamically allocated per machine.
> 
> ~aa
2009-08-13 04:42:13 +00:00
Aaron Giles
019d919850 Hi Aaron,
I have done Intel 4004 implementation, here is a patch (it also
contain a POC driver for 4004 Nixie tube clock, that runs under MESS).

4004clk is artwork file, and roms file contain needed roms (just rename ZIP).

Regards,
Miodrag


> -----Original Message-----
> From: Micko [mailto:mmicko@gmail.com]
> Sent: Tuesday, August 04, 2009 8:11 AM
> To: Aaron Giles
> Subject: Intel 4004 core
> 
> Hi Aaron,
> 
> Here is a final version of CPU core for MAME submition.
> 
> Regards,
> Miodrag
2009-08-13 04:30:33 +00:00
R. Belmont
7e37c7fa9c Revert last check-in, I just realized that was actually correct (doh). 2009-08-12 03:46:58 +00:00
R. Belmont
ba1580bf7d SH2DRC: Fixed output register marking errors
Probably not harmful currently, but if the UML core ever gets more aggressive 
with optimization (e.g. if we spliced in something like LLVM as a code 
generator) it could've become an issue.
2009-08-12 03:39:01 +00:00
Roberto Zandona
cd932c1c27 looping: modified the cop420 rom region 2009-08-09 06:25:48 +00:00
Angelo Salese
8fade1f6dd Fixed buggy breakpoints in the g65816 cpu core. [Angelo Salese] 2009-08-07 11:38:06 +00:00
Aaron Giles
213c72af7f Cleanups and version bump. 2009-08-02 23:42:42 +00:00
Aaron Giles
1fc576e72f From: hoge hoge
Date: Sat, 25 Jul 2009 11:57:29 -0700
To: submit@mamedev.org<submit@mamedev.org>
Subject: 68k cpu reset eat cycles fix
Hello,

Attached is a diff for 0133 that fixes a bug related to eating cycles 
during 68k cpu reset. Previously, initial_cycles had a wrong value 
after reset, and if cycles were < 0, it'd always return 0, .. check 
the diff to see what I mean.

This change also happens to fix a scrolling bug in Fantasy Zone, 
introduced when that cycle eating thing was added.

Greets,
hap
2009-08-02 21:37:45 +00:00
R. Belmont
3b09e634ac ARM7 updates:
- Preliminary PXA255 support, including Intel-specific CP14
- Hooked up TLB
2009-07-21 01:18:50 +00:00
Fabio Priuli
ced50d3810 Fixing assert in drivers using ARM9 CPU (e.g. 39in1) 2009-07-20 12:13:23 +00:00
Aaron Giles
0fdce58484 Cleanups and version bump. 2009-07-20 07:20:41 +00:00
Aaron Giles
66bddc00bc MT02916 2009-07-20 06:42:38 +00:00
R. Belmont
902ad0ce83 ARM7 update
- Added ARMv5TE instructions: QADD, QDADD, QSUB, QDSUB, SMLAxy, SMLALxy, SMULxy, SMULWy, and SMLAWy
- Fixed disassembly of CLZ
2009-07-19 03:13:17 +00:00
Curt Coder
b214d44851 CDP1802:
- fixed state code output and load mode
2009-07-17 11:27:16 +00:00
R. Belmont
7111f1aece ARM7: Add ARMv5+ CLZ instruction 2009-07-17 04:29:37 +00:00
Aaron Giles
e8a7b064c6 Apparently Intel's fast reciprocal is too low-res compared to the PowerPC's
fast reciprocal. Fixes glitches in scud.
2009-07-16 17:31:21 +00:00
Aaron Giles
560d8586be Added FP registers to PPC debugger interface.
Fixed copy/paste error in 64-bit backend that takes us from no 3D in scud to
glitchy 3D. (Hey, it's an improvement.)
2009-07-16 17:14:23 +00:00
Curt Coder
9956b7002f CDP1802:
- refactored the Q and DMA callbacks to use devcb
2009-07-16 12:19:43 +00:00
Aaron Giles
6519412d59 Cleanups and version bump. 2009-07-16 07:37:54 +00:00
R. Belmont
2ce6e69018 ARM7 updates [R. Belmont, Ryan Holtz]
- Prepped to support multiple architecture versions
- Added ARM9 CPU type (ARMv5TE)
- Added mostly-stubbed system coprocessor/MMU support
2009-07-16 05:09:35 +00:00
Aaron Giles
62c9a9d8cb Cleanups and version bump. 2009-07-10 03:10:17 +00:00
Brian Troha
95ce94fbfc Fixed a HD6309 core bug/typo in the divq_im opcode. [Romain Tisserand] 2009-07-09 23:08:05 +00:00
Aaron Giles
5201d52344 Expanded address maps from 3 to 4. Moved ADDRESS_SPACE_PROGRAM/DATA/IO
constants to cpuintrf, as those names are really only applicable to 
CPUs. Added new ADDRESS_MAP_0/1/2/3 constants to identify address maps 
more generically. 

Updated memory system to be more general about address map handling.
Added the concept of default address maps (in addition to the already
existing internal memory maps). The difference between internal and
default memory maps is that internal memory maps always override
everything (including user-specified maps), but default memory maps
simply provide a default that can be overridden.

Converted the okim6295 sound driver to use address maps for access.
By default, it defines a ROM address map that overlays its full
region. As a result, the validity checks require all okim6295 regions
to be at least 256k, unless you provide your own address map. Updated
all regions to meet this requirement.

Updated the atarijsa code to use a custom address space for its
okim6295 accesses (which are banked on the first half and static on
the second half), as an example of configuring a device with a
custom address space.

For now, attempts to use okim6295_set_bank_base() will still work,
though banking for the okim chips should be moved to custom address
maps in the drivers eventually. The first time okim6295_set_bank_base()
is called, it will install a banked memory handler over the region
and use memory_set_bankptr() to change the base on subsequent bank
switches.

Moved address map validity checks to be run for each device instead of
just each CPU.
2009-07-09 07:10:40 +00:00
Aaron Giles
2577a0b22d Another step. Moved the address-space related get_info constants
to devintrf (including endianness). Removed space array from the
CPU class header. Made the memory system much more device-neutral.
Various other cleanups along the way.
2009-07-08 16:20:01 +00:00
R. Belmont
c79dfb05f3 ARM (26-bit): TST/TEQ should only update flags
This eliminates the need for patches in poizone/ertictac, all deco32 games 
still run (including hvysmsh), and it better matches the documentation.
2009-07-05 17:32:15 +00:00
Angelo Salese
66ff5a084a Added very basic SCC68070 implementation, currently is just a basic m68k with 32-bits of address lines.
The plan is to add the on-chip peripherals on the magicard.c driver then, when I get some consistency, hardwire it to the cpu core.

Please check this modification asap (should be fine, but I haven't compiled with a clean build)
2009-07-03 18:43:09 +00:00
Aaron Giles
e60576e96d Cleanups and version bump. 2009-07-02 07:52:54 +00:00
R. Belmont
f9cff0ed71 PPCDRC: Generate some FPSCR flags [Phil Bennett] 2009-07-02 05:48:07 +00:00
Aaron Giles
a896b459e0 From: Duke [mailto:startaq@gmail.com]
Sent: Monday, June 29, 2009 3:58 AM
To: submit@mamedev.org
Subject: Patch for i86.c to fix an assert

Hello,

attached is a small patch for i86.c that fixes an assert when the
80188 CPU is used.

--Dirk
2009-07-02 04:40:07 +00:00
R. Belmont
4d92bb5a12 One more FMULx fix. 2009-06-28 14:24:41 +00:00
Phil Bennett
3302f3c512 Really fix FMULx this time 2009-06-28 13:44:22 +00:00
Wilbert Pol
8bb520d0ec Some small tms0980 bug fixes. 2009-06-28 08:06:19 +00:00
R. Belmont
badb1141c4 PPCDRC: fix flags on STWCX and fix FMULS to use the correct registers 2009-06-28 04:59:14 +00:00
Angelo Salese
f656435cbc mc68hc11: fixed a register r/w to allow Skeet Shooter to put some gfxs 2009-06-27 14:06:40 +00:00
Angelo Salese
0b0d5876cb mc68hc11: fixed the I/O system by changing the has_io flag with a has_extended_io flag (switch between 0x40 and 0x100 I/O registers), the latter is used by the Taito JC HC11 CPU only at the current time. 2009-06-26 19:46:06 +00:00
Angelo Salese
77330f38ee mc68hc11: Fixed a bug with TAP opcode
Fixed internal RAM/internal I/O start-up state, and updated Hit Poker driver to use it like it should.
Taito JC driver seems unaffected by this change.

======================================================================================================

http://mamedev.emulab.it/kale/fast/files/memory_map.png
2009-06-26 19:22:46 +00:00
Angelo Salese
604e49b303 mc68hc11: added STX DIR, STY DIR opcodes 2009-06-26 18:41:04 +00:00
Wilbert Pol
75ce6af133 Added TMS0980 cpu core. 2009-06-26 17:49:45 +00:00
Aaron Giles
c8e552b3df Cleanups and version bump. 2009-06-25 08:21:41 +00:00
Aaron Giles
e692918b34 Added casts to ensure proper values are passed to the ctype.h functions.
[Juergen Buchmueller]
2009-06-25 08:04:39 +00:00
Angelo Salese
da2b0e3e8c Fixed breakpoints in the TMS9900 CPU core [Olivier Galibert] 2009-06-24 22:39:23 +00:00
Phil Bennett
6c791836fa Fixed PPCDRC incorrect instruction checksum order [Phil Bennett, R Belmont] 2009-06-24 17:31:17 +00:00
Angelo Salese
dc3b29f1b7 mc68hc11: added user-selectable configs, and hooked up in both drivers 2009-06-23 16:36:28 +00:00
Angelo Salese
30f95d2ce2 MC68HC11: Added STX INDX, STX INDY, STY INDY 2009-06-23 15:36:21 +00:00
Angelo Salese
28d0dcb67e mc68hc11: Added DEC INDX, DEC INDY, INC INDX, INC INDY, SBCA IMM, SBCB IMM, SUBA INDY, SUBB INDY, SUBA EXT, SUBB EXT, NEG EXT, NEG INDX, NEG INDY, SBA
Catched a silly bug with SUBA DIR
Made many fixes with Hit Poker, finally got something that isn't just text...
2009-06-22 23:33:36 +00:00
Angelo Salese
b0d558544f mc68hc11: Added SWI, WAI, STOP, RORA, RORB 2009-06-22 19:12:34 +00:00
Angelo Salese
e0473bb579 mc68hc11: Added LSRA, LSRB, DEC EXT, BLS, NEGA, NEGB, BHI 2009-06-21 23:19:14 +00:00
Angelo Salese
23d8a23308 Small bug-fix 2009-06-21 21:25:36 +00:00
Angelo Salese
d24aa76fdf mc68hc11: hooked up very basic IRQ support. 2009-06-21 21:15:02 +00:00
Angelo Salese
341cb728cd mc68hc11: Added BRCLR DIR, BRSET DIR, RTI, COMA, COMB, CLV [Angelo Salese]
Fixed gfx decoding in Hit Poker [David Haywood]
Made some logic fixes to Hit Poker, it now gets to a "Test IRQ" msg [Angelo Salese]
2009-06-21 20:23:12 +00:00
Angelo Salese
d2d36ebe02 mc68hc11: Added ROLA, ROLB, SUBD INDX, SUBD INDY, SBCA INDX, SBCA INDY, SBCB INDX, SBCB INDY, added basic hook-up for TEST opcode. 2009-06-21 14:54:33 +00:00
Angelo Salese
38cc1f2cc9 mc68hc11: Documented all the remaining missing opcodes, they are 91 out of 310. 2009-06-21 13:30:20 +00:00
Angelo Salese
70cb45d062 mc68hc11: Fixed a CPY IMM DASM bug, added BRCLR INDX, BRSET INDX, BCLR INDX, BSET INDX, CLC, NOP, SUBB DIR, SUBA DIR, SUBA INDX, SUBB INDX, SUBD IMM 2009-06-20 19:48:16 +00:00
Angelo Salese
8a3509b125 mc68hc11: Added LSRD, STX EXT, STY EXT, IDIV, CPY DIR, CPY EXT, CPY INDX, CPY INDY 2009-06-20 16:52:39 +00:00
Ryan Holtz
c2965b8335 Added extremely rudimentary Atmel 8-bit AVR CPU core, missing most opcodes and any attempt at proper cycle counts. [MooglyGuy] 2009-06-20 12:13:48 +00:00
Angelo Salese
41b154bf46 Fixed incorrect MUL number of cycles 2009-06-19 19:44:06 +00:00
Angelo Salese
f6943c73e9 mc68hc11: Added SEC & SEV.
Added some basic video emulation to Hit Poker, to let it show "9rror / 3hut 5own -achine"

=========================================================================================

http://mamedev.emulab.it/kale/fast/files/0013_1049739007.png
2009-06-19 19:14:27 +00:00
Angelo Salese
39a1c1804d mc68hc11: Added TBA, ASLA, ASLB, DECA, DECB, STY INDX, MUL, got to the point that it wants an irq. 2009-06-19 17:40:23 +00:00
Angelo Salese
d635ed70fb mc68hc11: Added SUBA IMM, SUBB IMM, INCB, INC EXT, CBA.
Fixed Hit Poker vram accessing.
2009-06-19 16:46:34 +00:00
Angelo Salese
318d6bfd3c mc68hc11: Added JMP INDX, JMP INDY, changed a reg_w assert to a logerror since this game writes 0xff to 0x00-0x3f I/O ports.
Fixed CMPA INDY wrong opcode bug.
2009-06-19 15:21:23 +00:00
Angelo Salese
e3fab21720 mc68hc11: added TXS, TYS, TSX, TSY 2009-06-19 14:54:40 +00:00
Angelo Salese
2fdf957bd5 mc68hc11: added BCC, BVC, BRN, BMI, BVS opcodes 2009-06-19 14:27:50 +00:00
Aaron Giles
cd8f2fb7ce From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Tuesday, June 16, 2009 7:09 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Pointerify minx cpu

Hi mamedev,

I noticed that the minx CPU was never pointerified.  It's only used by
MESS, which might be why it wasn't noticed.

~aa
2009-06-18 04:00:44 +00:00
Angelo Salese
5c25f1ce66 Implemented a new DECO CPU-16 opcode, used by Express Raider for V-BLANK bit and a bunch of liberate.c games for TILT bit.
Converted Express Raider to use the DECO CPU-16 core instead of the plain M6502. [Angelo Salese]
2009-06-15 20:53:42 +00:00
Angelo Salese
fe6c204d5c Fixed a DECO16 CPU core bug that was causing issues with Pro Bowling part of Pro Sports [Angelo Salese] 2009-06-14 23:48:14 +00:00
Angelo Salese
1c07ac88cc Disabled an heavy logerror msg. 2009-06-13 17:03:27 +00:00
R. Belmont
f94776a815 One more GCC 4.4 fix
How did this work before?
2009-06-10 21:52:08 +00:00
Aaron Giles
ef0a31ca13 From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Sunday, June 07, 2009 9:54 AM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] "Regularize" some interfaces in MAME

Hi mamedev,

This patch adjusts the code in a few places to be more regular in it
object approach.  It recognizes five idioms.

1.  device_configs should be passed const.  dsp56k.h took a non-const
device_config for no particular reason, necessitating casting where
used.  A few other places cast to non-const, in most cases
unnecessarily.
2.  running_machines should be passed non-const.  A few places used
const in different ways on running_machines, instead of the idiomatic
non-const running_machine.
3.  Eliminate passing running_machine explicitly where it can be
computed.  esrip.c, m37710.c, sfbonus.c had cases where the machine
could easily be eliminated.
4.  Pass the object machine/config first.  In some cases this makes
the interface object oriented, in some cases it simply makes it more
idiomatic with the rest of MAME.
5.  Prefer (screen, bitmap, cliprect) to (machine, bitmap, cliprect).
Fully implementing this would be a large patch, this patch simply does
it for the one core 'device', tms9928a.c.
2009-06-08 06:24:21 +00:00
Aaron Giles
ce83de86a8 The other larger patch adds missing static and const qualifiers, and
fixes up some header files.  In particular, I adjusted const char
*DEVTEMPLATE_SOURCE = __FILE__ to const char DEVTEMPLATE_SOURCE[] =
__FILE__ which makes it actually const and saves a little memory.

[Atari Ace]
2009-06-08 05:43:50 +00:00
Brian Troha
e4df878bd1 fix error as pointed out by Laurent 2009-06-07 16:24:15 +00:00
Brian Troha
03945be4d0 Z80 fixes by "Marshmellow" in emails dated 3/8/2009 to Aaron and verified by Juergen.
Changes cycle counts in cc_xy[0x100] from 9 to 11 for:

0xDD2E 0xFD2E - LD IYL/IXL,n
0xDD26 0xFD26 - LD IYH/IXH,n

Also changes interrupt handling default case from:

z80->icount -= z80->cc_op[z80->PCD] + z80->cc_ex[z80->PCD];

to:

z80->icount -= z80->cc_op[z80->0xff] + z80->cc_ex[z80->0xff];
2009-06-07 15:49:22 +00:00
Olivier Galibert
3ea9b604ca Fix mantis 03013 by hooking strdup into mame's malloc [Atari Ace] 2009-06-07 15:12:07 +00:00
Ryan Holtz
159f54fb67 Fixed a minor typo in the SSEM debugging features. [MooglyGuy] 2009-06-06 19:50:33 +00:00
Aaron Giles
0eed019da7 Cleanups and version bump. 2009-06-04 15:33:42 +00:00
Ryan Holtz
799228d1b4 Corrected a major oversight in the instruction encoding of the SSEM core [MooglyGuy] 2009-06-02 02:18:44 +00:00
Ryan Holtz
7ef80f9393 Added CPU core for the Manchester Small-Scale Experimental Machine (SSEM) from 1948 [MooglyGuy] 2009-06-02 01:11:11 +00:00
Aaron Giles
ab7d486957 Cleanups and version bump. 2009-05-28 15:59:16 +00:00
Aaron Giles
57deed92e8 From: Oliver Stoeneberg [oliverst@online.de]
Sent: Sunday, May 24, 2009 4:11 AM
To: submit@mamedev.org
Subject: Compilation fix for ARM7 core

This fixes the compilation with ARM7_DEBUG_CORE. It was actually
found by Reijo Tomperi from the cppcheck team after I issued a bug
report.
2009-05-28 15:12:42 +00:00
Aaron Giles
0c0affd00e Replaced Namco 52xx sound simulation with emulation of the MCU.
Updated polepos and bosco drivers to use the new 52xx sound
emulation, wiring up the output through the discrete mixer that
Derrick had already plumbed but left disabled.

This required several MB88xx changes/fixes:
 - internal timer support now works; prescaler is guessed based
    on Pole Position sample playback frequency
 - external counter support works
 - a basic mechanism for reading serial input has been added; it
    is not sufficient for a full implementation, but good enough
    to sample the SI pin at startup
 - fixed TSTS/TSTV to clear their respective flags
 - fixed CI and CYI to compute imm-reg instead of reg-imm
 - added masking of the PA register upon RTI/RTS to prevent bogus
    PC values
2009-05-28 09:15:09 +00:00
Aaron Giles
27e2aac0fe Added internal memory maps and internal clock divider to the MB88xx
CPUs. Removed now-redundant memory maps from drivers and removed
explicitly-specified clock dividers.
2009-05-27 14:18:44 +00:00
Aaron Giles
8581fc7b28 CPUs actually take some time to reset. Changed the 68000/68010 to
eat an appropriate number of cycles after a reset.
2009-05-25 23:13:36 +00:00
Aaron Giles
446c154bb1 From: Oliver Stoeneberg [oliverst@online.de]
Sent: Friday, May 15, 2009 9:13 AM
To: submit@mamedev.org
Subject: Unused Variables - second try

This is a new version of the patch, that disables some unused
variables. It fixes some warnings, that came up in an optimized build
and adds a few more things.
2009-05-25 01:03:10 +00:00
R. Belmont
a59e2337ea H8 series MCU updates
- Implemented 8-bit timers and free-running counter for H8/3334
- Added bld #imm, @Rd instruction
- Improvements to interrupts and the serial ports
2009-05-18 03:55:28 +00:00
Wilbert Pol
bc5d8587c4 Moved the configuration of m6502-family callbacks to the cpu configuration. 2009-05-15 19:28:52 +00:00
Aaron Giles
4063eeeaca From: Atari Ace [mailto:atari_ace@verizon.net]
Sent: Sunday, May 10, 2009 5:41 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Static qualifier update

Hi mamedev,

Here's my periodic static qualifier patch for MAME, mostly adding
static to new code introduced over the past couple of months.

~aa
2009-05-15 05:24:32 +00:00
Wilbert Pol
7dc342691f fix typo 2009-05-14 16:28:09 +00:00
Aaron Giles
a909ca4b4a Fixed MCS-51 to not access RAM in wraparound fashion.
Hooked up Noboranka MCU (very different from the others).

New games working: Noboranka
2009-05-13 15:53:11 +00:00
Nathan Woods
4b092a9122 Readded read_vector callback 2009-05-13 02:53:12 +00:00
Aaron Giles
00c5f34211 MCS-51 fixes:
* jb int0,<self> loops are now broken out of if int0 comes and is taken
 * externally-clocked counters only count when enabled

System 1 changes:
 * hooked up 8751 properly
 * removed old 8751 hacks
 * shuffled Shooting Master sets

New Games Marked Working
------------------------
Choplifter (8751 315-5151)
Shooting Master (EVG, 8751 315-5159a)
2009-05-11 09:14:26 +00:00
Angelo Salese
9216688bb1 Added a work-around for the UART FIFO read only status register on the SH-4 to make Tetris Kiwamemichi happy to boot.
It crashes shortly after that like La Keyboard though (jumps to an unmapped address).
2009-05-09 19:18:36 +00:00
smf-
1443386e33 fixed visual studio 64 bit compile 2009-05-07 19:43:17 +00:00
Aaron Giles
673ca66750 Cleanups and version bump. 2009-05-07 15:46:14 +00:00
Aaron Giles
d72f98cb3c Fix MCS51 disassembler to work properly when there are two
memory arguments (the second would overwrite the first).
2009-05-07 13:59:46 +00:00
Ryan Holtz
29f46d4576 - Fixed display of the i8085's SP register when in the debugger. [MooglyGuy] 2009-05-06 15:19:41 +00:00
R. Belmont
4c4564753a H8: Better interrupt handling for the 8/16 bit H8s. 2009-05-03 14:53:17 +00:00
Aaron Giles
9eb86548bb Added missing casts and made other tweaks. The entire project
can now be optionally compiled with the C++ compiler (mingw g++
only for the moment; MSVC still has issues).
2009-04-27 09:18:17 +00:00
Aaron Giles
ad4910a8a8 Bulk change alert.
This update changes the way we handle memory allocation. Rather
than allocating in terms of bytes, allocations are now done in
terms of objects. This is done via new set of macros that replace
the malloc_or_die() macro:

  alloc_or_die(t) - allocate memory for an object of type 't'
  alloc_array_or_die(t,c) - allocate memory for an array of 'c' objects of type 't'
  alloc_clear_or_die(t) - same as alloc_or_die but memset's the memory to 0
  alloc_array_clear_or_die(t,c) - same as alloc_array_or_die but memset's the memory to 0

All original callers of malloc_or_die have been updated to call these
new macros. If you just need an array of bytes, you can use
alloc_array_or_die(UINT8, numbytes).

Made a similar change to the auto_* allocation macros. In addition,
added 'machine' as a required parameter to the auto-allocation macros,
as the resource pools will eventually be owned by the machine object.
The new macros are:

  auto_alloc(m,t) - allocate memory for an object of type 't'
  auto_alloc_array(m,t,c) - allocate memory for an array of 'c' objects of type 't'
  auto_alloc_clear(m,t) - allocate and memset
  auto_alloc_array_clear(m,t,c) - allocate and memset

All original calls or auto_malloc have been updated to use the new
macros. In addition, auto_realloc(), auto_strdup(), auto_astring_alloc(),
and auto_bitmap_alloc() have been updated to take a machine parameter.

Changed validity check allocations to not rely on auto_alloc* anymore
because they are not done in the context of a machine.

One final change that is included is the removal of SMH_BANKn macros.
Just use SMH_BANK(n) instead, which is what the previous macros mapped
to anyhow.
2009-04-26 23:54:37 +00:00
Wilbert Pol
3e9927b878 TLCS-900/H cpu core fixes:
- Reimplemented hdma
- Fixed bugs in the EX (mem), R instructions.
2009-04-25 16:47:22 +00:00
Aaron Giles
7b90e01659 Deprecated device_set_info. Almost all devices had a NULL or empty
function here. Remaining devices have been converted to have 
device-specific functions to do the same thing with proper type 
checking.

CPUs still have a set_info function but it is CPU-specific now and 
no longer piggybacks on the general device function.
2009-04-23 16:33:28 +00:00
Aaron Giles
4b7dd3cd0d Cleanups and version bump for 0.131. 2009-04-23 05:44:35 +00:00
Wilbert Pol
9d13bdc37a More fixes for the CPD and CPI instructions in the TLCS-900/H core. 2009-04-21 18:30:48 +00:00