Commit Graph

2680 Commits

Author SHA1 Message Date
Fabio Priuli
2d27ac37d5 vrender0.c: converted to be a device [Fabio Priuli]
crystal.c: added driver data class [Fabio Priuli]
2010-04-26 22:19:05 +00:00
Jonathan Gevaryahu
0ebd7c9579 gah, that // HACK line was NOT supposed to be committed. no whatsnew. 2010-04-26 14:54:56 +00:00
Jonathan Gevaryahu
49b1fb6b38 make DEBUG_PARSE_FRAME_DUMP actually print correct data for voiced frames... will clean up the parse_frame function later (too many separate loops). no whatsnew. 2010-04-26 14:45:53 +00:00
Fabio Priuli
05fd2ed6ae not worth mention: made MAME compile again 2010-04-26 08:55:56 +00:00
Jonathan Gevaryahu
4fb6a60c8d Replaced the DEBUG_FRAME_DUMP define with a new DEBUG_PARSE_FRAME_DUMP which produces binary listings of each frame parsed. [Lord Nightmare] 2010-04-26 04:54:23 +00:00
Jonathan Gevaryahu
97ac135b0b Minor change for experimentation. Will soon be revamping debug stuff to print a running diagram of interpolations, etc for each sample or frame. Try undefining NORMALMODE and see if it sounds more correct... no whatsnew. 2010-04-26 02:02:48 +00:00
Jonathan Gevaryahu
764e72f5c2 Made /READY timing accurate to the real chip as best as possible. Note that on the zaccaria games, possibly due to a bug in the CA2 line handler of the PIA which reads the /READY state, speech usually won't work until midway through the first game played, but works fine afterward. Not sure if that's a MAME bug or an original game bug. [Lord Nightmare]. 2010-04-25 22:59:49 +00:00
Jonathan Gevaryahu
7e7bd51636 Adds back the pat4335277 LPC table to tms5110r.c for reference (since it is different to the other tables). no whatsnew. 2010-04-25 19:57:16 +00:00
Jonathan Gevaryahu
3c05f0da75 Fix compile error when DEBUG_GENERATION is defined [Oliver Stoneberg] 2010-04-25 17:14:44 +00:00
R. Belmont
39583385f6 SCSP updates [PluginNinja]
- Improved slot monitor function
- Various cleanups
2010-04-25 00:18:02 +00:00
R. Belmont
872836ff98 AICA updates: [PluginNinja]
- Implemented slot monitor
- Improved ADPCM looping
- General cleanup
2010-04-25 00:15:30 +00:00
Scott Stone
cb93774e22 Disable many unused variables as identifed by cppcheck. [Oliver Stöneberg] 2010-04-23 23:21:39 +00:00
Curt Coder
e2eefc1333 Removed unnecessary warning. (no whatsnew) 2010-04-23 19:48:03 +00:00
Jonathan Gevaryahu
4e547ebef5 "Replaced" TMS5220 table with table extracted using PROMOUT from actual chip.
By 'Replaced', I mean documented, as the actual extracted table exactly
matched the table already in MAME.
Changed TMS5220C to use the same energy table as 5220 does, since my previous
assumption based on the Quadravox tables was probably wrong.
Updated the ranout condition code of tms5220.c to be slightly more
accurate to the chip, and added TODOs.
Re-enabled the timers for deactivating the READY line on /WS or /RS as this
is probably slightly more accurate to hardware, but the difference is 2 or
3 clock cycles max. [Lord Nightmare]
2010-04-23 19:05:03 +00:00
Scott Stone
ca0f74f334 Fix the memory leaks with the strconv.c function by
using osd_malloc() instead.  Fixed other memory leaks as well.  [Oliver Stoneberg]
2010-04-23 17:10:03 +00:00
Jonathan Gevaryahu
c37cb8f27b Replaced TMS5200 table with table extracted using PROMOUT from actual chip. monymony sounds much better. [Lord Nightmare] 2010-04-22 01:32:55 +00:00
Aaron Giles
ee4f1afeec Cleanups and version bump. 2010-04-21 20:01:49 +00:00
Jonathan Gevaryahu
f9adad0b2e Fix a silly sign bug with multiplier wrapping. no whatsnew. 2010-04-21 04:30:52 +00:00
Jonathan Gevaryahu
f8ff2cd5b1 Clean up interpolation inhibit logic, may sound slightly better now. Minor fix to TMS5220C table so zero-energy frames are correctly detected. [Lord Nightmare] 2010-04-18 23:44:52 +00:00
Jonathan Gevaryahu
fcdfe95f2e one line tweak for speech excitation. should have no effect yet. no whatsnew. 2010-04-18 16:18:32 +00:00
Phil Bennett
3b13698e25 i386dasm.c: Corrected display of debug registers (D0-D7) in disassembly listings [Barry Rodewald] 2010-04-17 18:22:22 +00:00
Curt Coder
811b900a21 F8 cpu disassembler improvements [Curt Coder]:
- fixed branch target PC
- added BP,BC,BZ,BR,BM,BNC,BNZ,BNO mnemonics
- removed extraneous $ from 2 byte hex values
2010-04-17 15:11:53 +00:00
Jonathan Gevaryahu
7c364126eb Tentative fix for tms5220 VSM support. [Lord Nightmsre] 2010-04-16 23:14:13 +00:00
Jonathan Gevaryahu
ea10bdfb4c Fix 5220C pitch table so unvoiced speech actually works. Oops. Should be a further quality improvement. [Lord Nightmare] 2010-04-16 17:03:32 +00:00
Miodrag Milanovic
d8383fc2ce snes_snd.c and mos6560.c assert fix (proper way this time) (no whatsnew) [Miodrag Milanovic] 2010-04-16 08:58:28 +00:00
Miodrag Milanovic
cb8e95bd9f MOS6550 Fixed assert (no whatsnew) [Miodrag Milanovic] 2010-04-16 08:46:02 +00:00
Phil Bennett
8e692178e2 6850ACIA: Improved handling of /CTS signal and fixed issue with transmission parity generation. 2010-04-14 21:53:51 +00:00
Phil Bennett
99d799f6f0 6840PTM: Fixed interrupt flag behaviour and now allow fractional input clocks. [Phil Bennett] 2010-04-14 21:49:50 +00:00
Jonathan Gevaryahu
ea06bcd124 Fixed victory self-test issue (FIFO must NOT be cleared on processing of a STOP frame, only on a new speak external command. victory is pedantic about this.), and in the process also fixed a bug regarding reading /READY state when not in speak external mode (the FIFO being full should NOT force /READY inactive in that case!)
[Lord Nightmare]
2010-04-12 03:17:56 +00:00
Jonathan Gevaryahu
11b7ba54d6 MASSIVE merge of TMS5110 and TMS5220 cores, TMS5220 side only so far. Much code by Jarek Burczynski merged.
Lattice Filter, Multiplier, and clipping redone.
TMS5220C multi-rate feature added.
Now using the same LPC table file (and format, as created by couriersud) as the TMS51xx is.
Unvoiced-Voiced transitioning adjusted to match patent.
Command handling redone to better match patent.
Reasonably significant speech quality improvements: Separate tables for TMS5200, TMS5220 and TMS5220C are implemented, though all still need to be verified from hardware.
Fixes: Garbled speech in Escape from the Planet of the Robot Monster's Canal Mazes is fixed, as well as some other garbled speech in game (when saying 'throwing switch' for instance).
Known Regressions (being worked on): Victory fails its startup self test with an error 5, but speech works in-game.
2010-04-11 23:20:31 +00:00
Fabio Priuli
74723602d1 inptport.c: fixed keyboard detection (mainly for MESS) [Fabio Priuli] 2010-04-11 12:10:54 +00:00
Fabio Priuli
7292debe5f rf5c68.c: corrected the point at which the sample callbacks
are triggered, and what channel is returned.  The
interrupts are masked or enabled based on what PCM memory bank is
used, rather than the physical channel that was used. 
[Barry Rodewald]
2010-04-11 05:00:27 +00:00
Wilbert Pol
5221944315 sm8500d.c: Fixed disassembly of extended instructions (1A, 1B, 4F). [Oliver Stoeneberg]
lr35902.c: Fixed possible issue when checking for enabled irqs.  [Oliver Stoeneberg]
2010-04-10 18:02:28 +00:00
Angelo Salese
85283ac532 Fixed RTL opcode in-bank issue in the G65816 CPU core [Angelo Salese] 2010-04-10 15:50:08 +00:00
Aaron Giles
1390af8fa4 Cleanups and version bump. 2010-04-08 06:14:23 +00:00
Aaron Giles
717a11337e Added gprof support to the makefile. [Bryan Ischo]
Added a check for the OPTION_READCONFIG option before executing 
the code which would attempt to incorporate configuration file
settings into the current configuration, because if OPTION_READCONFIG 
is set to false, then there is no reason to even try to do this as 
every single configuration file will be ignored (because config files 
have been turned off by OPTION_READCONFIG). [Bryan Ischo]

Fixed small memory leak in mame.c. [Bryan Ischo]

Fixed double-free error in render.c. [Bryan Ischo]

Made core_strdup use osd_malloc instead of malloc. [Bryan Ischo]
2010-04-08 06:10:18 +00:00
Angelo Salese
13c095c03c First step in supporting master cycle delays in the SNES driver [Angelo Salese] 2010-04-06 23:04:22 +00:00
Fabio Priuli
d48e9a885f Readded info.c lines which got removed/changed by mistake in the previous commit. No whatsnew. 2010-04-06 09:50:37 +00:00
Fabio Priuli
e197630a68 info.c: added keyboard and keypad controls to xml output [Fabio Priuli] 2010-04-06 08:06:18 +00:00
Wilbert Pol
39ba484e7b uPD7801: Fixed the MOV MC,A instruction. 2010-04-05 18:53:22 +00:00
Wilbert Pol
3e42c61c9c Small MESS-only listxml dtd update. No whatsnew. 2010-04-05 16:52:25 +00:00
Fabio Priuli
8e22365b5c Added a new input type IPT_KEYPAD for MESS, to distinguish between fully featured keyboards and keypad controllers [Fabio Priuli] 2010-04-05 15:30:00 +00:00
Wilbert Pol
6f657bc29e Allow MESS to do additional work for -romident.
Added MESS command -listsoftware.
No whatsnew.
2010-04-04 14:55:01 +00:00
Angelo Salese
5da4dfa346 Added boundary checks for MVN and MVP opcodes when in M mode in the G65816 CPU core [Angelo Salese] 2010-04-04 14:41:35 +00:00
Wilbert Pol
e147fe18dd Some MESS-only changes. No whatsnew. 2010-04-04 14:32:03 +00:00
Olivier Galibert
2cafff0619 Duh. 2010-04-04 11:03:08 +00:00
Olivier Galibert
b6eb23c7bc poly.c: Make the parameter interpolation more robust [O. Galibert]
The code now computes start/dpdx/dpdy to start at (0, 0) of the bitmap
and not at the polygon origin.  It's a more precise when the polygon
is a tad big, and a lot more precise when the coordinates are big
enough not to fit in an int.

The code is still somewhat broken when the coordinates do not fit in
an int.  I'll have to see about that later.  I can ignore it for now
by z-clipping a little further.

The subpixel correction is missing, I wasn't sure if we needed to add
or substract 0.5*(dpdx+dpdy) to start.  And I don't really know how to
test for it either.
2010-04-04 10:59:57 +00:00
Ryan Holtz
ceccc811e5 Disabled DRC versions of certain vector load/store operations in the
RSP core in order to avoid geometry issues. [Harmony]
2010-04-03 21:03:20 +00:00
Miodrag Milanovic
983b3e482a [8080/8085 CPU] Fix of mametester bug 3227. [Robbbert] 2010-04-03 12:30:52 +00:00
Phil Bennett
e8914bb8c2 i386/NEC disassembler updates: [Alex Jackson]
* Made "MOV AL, offset" etc (opcodes A0-A3) properly indicate a segment override prefix.
 * Corrected the disassembly of various NEC-only instructions (mainly V25/V35-only instructions)
 * Changed CPUINFO_INT_MAX_INSTRUCTION_BYTES on i86 and NEC from 15 to 8.
2010-04-01 11:38:01 +00:00
Phil Bennett
3354dc342b i386+ core updates: [Samuele Zannoli]
* Added CR4 register
 * Added bswap instruction
 * Added support for 4MB pages
2010-03-31 21:25:15 +00:00
Aaron Giles
d81beae782 Made input_device pointers non-volatile. Since we return pointers to them
in response to input_device_add(), ensure that the pointers don't change
after subsequent adds.
2010-03-30 13:50:38 +00:00
Fabio Priuli
32066d6cd7 snes.c wip: fixed reserved memory address read not returning open_bus; fixed a few add-on chip reads not returning open_bus [Fabio Priuli]
side-note: CX4_read should return open_bus as well in a few cases, but passing an address_space to the handler would require more changes than are worth right now (especially because no game needs it). It will be taken care of when I convert all add-on chip handlers to become read/write handlers...
2010-03-30 08:11:56 +00:00
Fabio Priuli
3ebf3a2e92 superfx.c: added save states to the CPU [Fabio Priuli]
snes.c: moved some more variables to driver state, set a few addresses as open bus and slightly changed SuperFX handlers not to access SNES WRAM [Fabio Priuli]
2010-03-29 11:13:53 +00:00
R. Belmont
9d08284569 m680x0 FPU updates: [R. Belmont]
- BCD packed decimal now supported, including k-factor
- Improved FSAVE/FRESTORE including FPU reset when restoring a NULL frame
- FREM instruction supported
- Better disassembly of FPU instructions
2010-03-29 02:50:17 +00:00
Jonathan Gevaryahu
88c7fc638d more preparation for merge of tms51xx and tms52xx. no whatsnew. 2010-03-28 21:28:56 +00:00
Aaron Giles
a91446eaca Cleanups and version bump. 2010-03-25 13:18:38 +00:00
Jonathan Gevaryahu
868d57267a Minor fixes to comments in tms5110r.c involving spell-checking stuff and properly capitalizing chip names. No whatsnew. 2010-03-24 23:12:38 +00:00
Angelo Salese
905c826a97 MC68HC11: Implemented SUBD DIR & SUBD EXT opcodes [Angelo Salese] 2010-03-24 13:27:07 +00:00
Angelo Salese
70e0a16942 Small printf bugfix 2010-03-24 12:06:35 +00:00
R. Belmont
1afbd40efb [#3792, #3793] SDL compile fixes [Christian MArillat]
- Autodetect FreeBSD variant
- Altivec/VMX fixes for non-Mac PPC
2010-03-24 04:06:07 +00:00
Jonathan Gevaryahu
0d500511c9 Add TI tms5200, tms5220, and tms5220c tables to tms5110r.c, which will eventually become the common table source file for all the LPC chips (and the Samsung VLM5030, Toshiba T6721a, Hitachi HD38880, and VTech custom PARCOR chips, which aren't in there yet). Not used yet.
Small technical fix to tms5220.c which should have no audible effects.
2010-03-23 23:45:03 +00:00
Miodrag Milanovic
d7e899f92e - 03776: Various PC-based drivers: MESS Scroll Lock keyboard toggle has snuck in somehow [Miodrag Milanovic] 2010-03-23 12:52:22 +00:00
Curt Coder
230401bb03 Fixed Z80-DMA Load and Continue commands. [Curt Coder] 2010-03-23 11:13:20 +00:00
R. Belmont
80637b51a4 MN10200 updates: [R. Belmont]
- Better IRQ generation and hookup to MAME IRQ system
- Preliminary 8-bit timer hookup including prescalers and IRQs
- Fixed issue with debugger not showing registers correctly
2010-03-22 01:05:32 +00:00
Angelo Salese
cd5f1f4011 First step in refactoring the video system in metro.c driver [David Haywood] 2010-03-19 18:01:59 +00:00
Miodrag Milanovic
11a51a7d33 Changed default initial state of PIC8259 to STATE_READY [Miodrag Milanovic] 2010-03-19 15:36:20 +00:00
Fabio Priuli
4118089801 Fixed VS2010 compiling 2010-03-18 07:33:29 +00:00
Angelo Salese
c1a7ef2ef5 Added default nvram to Cyber Commando, and improved the default control mapping in it [David Haywood] 2010-03-17 19:26:25 +00:00
Fabio Priuli
c02b195ede several cleanups based on cppcheck and VS2008 Code Analysis [Oliver Stöneberg]
split.c: made the "split" return the actual result instead of just 0. [Oliver Stöneberg]

clifront.c: made the identation of the CPU device in -listdevices the same like the others [Oliver Stöneberg]

i386.c: gave some fatalerror() calls in the i386 proper messages [Oliver Stöneberg]

ssem.c: fixed compilation of SSEM core with SSEM_DISASM_ON_UNIMPL [Oliver Stöneberg]

srcclean.c: small wording change in the srcclean summary [Oliver Stöneberg]

sdl/window.c: fixed a potential memory leak in  sdlwindow_video_window_create() [Oliver Stöneberg]
2010-03-17 11:59:16 +00:00
Fabio Priuli
585c85dbae i386: fixed unaligned memory accesses and opcode fetches
when they cross a page boundary. Previously, if pages
were not ordered in contiguous RAM, then a cross-boundary 
read or write would read partially incorrect data or write 
some of the data in the wrong page. [Barry Rodewald]
2010-03-17 09:56:42 +00:00
Fabio Priuli
47a1fe17f8 spc700.c: Added save states [Fabio Priuli]
snes.c: Updated the snes sound device to use device handlers, to store its internals in a struct, and to save them [Fabio Priuli]
2010-03-17 09:33:15 +00:00
Fabio Priuli
9aa86db4c8 tlcs90.c: added save states [Fabio Priuli]
ddenlovr.c, dynax.c: replaced memory_set_bankptr with memory_set_bankp and added save state support [Fabio Priuli]


side note: this and rev.8619 took definitely more time than I expected (especially to test as many drivers as possible), but there should be no regressions
/me crossing fingers
2010-03-17 08:22:06 +00:00
R. Belmont
db51ba1803 680x0 FPU update: [R. Belmont]
- Implemented FMOVECR
- Added load extended PC relative indexed support
- Cleanup some duplicated code
2010-03-14 21:13:32 +00:00
R. Belmont
707f597134 65816: fix decimal mode ADC/SBC behavior [blargg, byuu, R. Belmont] 2010-03-14 00:53:08 +00:00
R. Belmont
baf6a9cd0b 680x0 FPU updates [R. Belmont]
- Rewritten to use SoftFloat instead of unportable native FP math
- Support added for Motorola 96-bit extended floats
- More addressing modes and conditions supported


The taitojc games function identically to the old implementation (I stepped 
through the main matrix multiply in dendeg and the registers never diverged) 
and speed on Core 2 Duo is a wash - sometimes softfloat's faster, sometimes 
not, but the difference on -str 90 never exceeded 1%.
2010-03-12 05:41:10 +00:00
Aaron Giles
db163391eb Cleanups and version bump. 2010-03-11 07:08:54 +00:00
Ryan Holtz
5d5ec72024 Slightly fixed interrupt handling and added SBIC and MUL opcodes to the Atmel AVR8 core. [Harmony]
Added FJMP/JMPF opcode to the SunPlus u'nSP core. [Segher, Harmony]

Performed an initial code cleanup pass on the N64 rendering code to make use of booleans and inline variable instantiation, and removed a number of unused variables that were exposed as a result of the latter. [Harmony]
2010-03-11 06:49:53 +00:00
R. Belmont
4c0a6f40e7 680x0: Improve disassembly for various FMOVE forms [R. Belmont] 2010-03-11 05:23:24 +00:00
R. Belmont
dfff696a55 [#03533] Properly show 32-bit displacement for 020+ A reg relative [R. Belmont] 2010-03-11 04:50:27 +00:00
R. Belmont
98be8ed00d m680x0: show FPU registers in the debugger for 030+ 2010-03-11 04:41:16 +00:00
Aaron Giles
ec586731b9 Made device->tag and devconfig->tag into private member variables (m_tag).
Added inline tag() function to return a const char * version. Updated
callers to use this instead of directly accessing tag.cstr() which
was awkward.
2010-03-08 17:06:27 +00:00
Curt Coder
5826c45ea4 Imported Z80 DART and Z80 STI from MESS. (no whatsnew) 2010-03-08 16:47:53 +00:00
Dirk Best
7d94ce8dec Fixed debugger memdump command [Robbbert] 2010-03-08 13:27:38 +00:00
Dirk Best
5c85b8f39c z80sio: Added register access functions to prevent trampoline functions [Dirk Best] 2010-03-08 13:23:37 +00:00
Curt Coder
b3a575f90e Added ARDY/BRDY signal read handlers to Z80 PIO. [Curt Coder] 2010-03-07 21:23:19 +00:00
Curt Coder
3b241320a3 Fixed Z80 DMA ready signal handling. [Curt Coder] 2010-03-07 15:29:29 +00:00
R. Belmont
3ae63e34e5 H8/3334: add analog input ports 2010-03-06 06:22:41 +00:00
Aaron Giles
45bac81dd9 Cleanups and version bump. 2010-03-04 08:28:27 +00:00
Fabio Priuli
c1fd5b50bf not worth mention: added very small workaround which fixes mingw32 crash on my eeepc.
I guess it could be related to some problem in my system (ASUS EeePC, Intel Atom CPU Z520 @ 1.33GHz 0,99GB RAM), but I don't get why non-symbols compile is crashing at this file while symbols build always compiles fine. Any suggestion is welcome, but I hope nobody has any objection against this change.

FWIW, I came to this "fix" after noticing that the removal of one of the for loops (any of the 3) was fixing the issue...
2010-02-28 14:26:29 +00:00
Dirk Best
4ff4cc3ae0 pit8253: Small typo fix (no credit) 2010-02-25 15:26:04 +00:00
Dirk Best
4bfcd73cc3 pit8253: Updated to use devcb calls, cleanups 2010-02-25 14:59:25 +00:00
Aaron Giles
cfa887f3de Changed all driver_data structs into classes with a simple
constructor and a static allocation function.

Changed MDRV_DRIVER_DATA to reference driver_data::alloc
instead of just providing a size. This function is called
to allocate the driver data. This allows objects to be
embedded in the state data and be properly initialized.

Ideally, new driver_data constructors should perform
initialization actions in the constructor, but for now
most just use auto_alloc_clear() to blast everything to
zero.

Moved driver data allocation after device list construction
so that devices can be found when the driver data is
constructed.
2010-02-25 06:28:03 +00:00
Dirk Best
a480533230 pic8259: updated to use devcb calls 2010-02-24 16:28:26 +00:00
Dirk Best
b91b1b8018 pic8259: replaced pic8259_set_irq_line with pic8259_irX_w write line handlers 2010-02-24 13:32:41 +00:00
Dirk Best
4c15a5dfd7 ins8154: Updated to use devcb calls, cleaned up 2010-02-22 11:35:38 +00:00
R. Belmont
461d257aea H8: add bild and bist opcodes [R. Belmont] 2010-02-22 03:36:46 +00:00
Fabio Priuli
9ec77c765d es5506.c: added save state to both ES5505 and ES5506 [Fabio Priuli]
added driver_data struct and save states to the following drivers: attckufo.c, m79amb.c, macrossp.c, marinedt.c, markham.c, mayumi.c and mcatadv.c
2010-02-20 12:09:42 +00:00
R. Belmont
ccd496af62 H8: fix stack trashing when simultaneous IRQ sources asserted [R. Belmont] 2010-02-20 05:09:24 +00:00
Dirk Best
1ad1e26df8 Moved ins8154 emulation from MESS to MAME, needed by future drivers 2010-02-20 02:57:56 +00:00