Namco custom IDs where appropriate.
Added clocks to the Namco 06xx in anticipation of improved
device interconnection.
Added new file devtempl.h which can be used to generate the
DEVICE_GET_INFO function. Updated all the Namco I/O devices
to use this.
Updated galaga driver to use computed video timing.
Sent: Monday, May 25, 2009 9:31 PM
To: submit@mamedev.org
Subject: DIFF: vertical.ini & horizont.ini
This simple 4 line change (5 if you count the comment) to mame.c adds the
ability to parse vertical.ini and/or horizont.ini files.
I wanted this functionality so that I could specify different resolution
and artwork options for all vertical games in one shot.
I had a MAMEUI user ask that I submit this code to baseline MAME so that
it could be included in MAMEUI GUI without making changes to the core
codebase.
I chose to shorten "horizontal" to "horizont" to make sure that the
ini file falls within 8.3 filename guidelines.
thanks for your consideration
...
Krick
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.
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
Converted Namco 51xx and 53xx into proper devices. The MB84xx is not
yet emulated, but is now present.
Converted 51xx and 53xx interfaces to use the devcb system for
port I/O callbacks.
Dig Dug is known to be somewhat broken at the moment.
Extended the Namco 60xx and namcoio_init() interfaces to accept
a device name string in addition to an interface struct, until
all the interfaces are replaced with devices.
Added DERIVED_CLOCK() macro which can be used by sub-devices to
derive their clock from the parent device.
Tweaked some of the laserdisc interfaces to use ROM_NAME() and
MACHINE_DRIVER_NAME() macros.
> Here is a small patch for the touchmaster driver
>
> This removes the pulse input on the touchscreen for the touchmaster
> drivers, making centipede returns (tm4k), breakout3k (tm3k),
> wordsearch (tm8k) and possibly other games playable do to the need for
> "dragging" the screen. An example of this is the word search game
> where it is necessary to drag from the start letter to the end to
> highlight the selection, which is not possible with a pulse input.
>
> Best regards
>
> Mike
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.
To: submit@mamedev.org
Subject: LSHIFT/<< expression diff fix
Tafoid pointed out that it's currently impossible to use '<<' in a
cheat xml file, this fix adds an alternate LSHIFT to cheat.c and
express.c and also adds the working '>>' as an alternate RSHIFT to
express.c (not needed in cheat.c as >> parses fine)
diff file attached
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
Sent: Sunday, May 10, 2009 1:28 AM
To: submit@mamedev.org
Subject: Save state for artmagic.c and runaway.c
I have added the save state to artmagic.c and runaway.c
Xander
> To: submit@mamedev.org
> CC: atariace@hotmail.com
> Subject: [patch] Search all rom sources for merges
> Date: Sat, 18 Apr 2009 20:32:15 -0700
>
> Hi mamedev,
>
> The logic for detecting merged roms does not check all the rom sources
> in the parent, leading to cases where roms from devices aren't
> detected as merged (e.g. ldv1000 in superdqs). This fixes it.
>
> ~aa
* 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)
* senjyo.c
* seta2.c
* sfkick.c
* shangha3.c
Properly hooked-up player 2 mahjong panel in mj4simai
Moved paletteram_IIBBGGRR_w() from senjyo.c to emu/video/generic.c
===================================
I'm not sure if sfkick.c memory map is 100% correct, needs double checking (it's the same on MSX MESS driver)
Also anybody is interested in rewrite senjyo.c driver from scratch? ;P
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.
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.
Sent: Monday, April 20, 2009 4:22 PM
To: submit@mamedev.org
Subject: 4/20 diff
Crystallized 1945kiii.c, maygay1b.c, maygayv1.c, mwarr.c, n8080.c
(20.16MHz crystal confirmed with schematics), pacman.c, panicr.c,
rallyx.c
[2399] Changed qmhayaku's sound CPU back to 4MHz, sounds work now
Sent: Monday, April 20, 2009 2:04 AM
To: submit@mamedev.org
Subject: small fix to debug screenless systems
Hello,
this small fix is needed to enable debugging screenless systems again:
and thief drivers.
Bunch of improvements to the Status system emulation. Correct
video timing, hooked up TMS9927, corrected colors, etc. Still
some work to do.
New games
=========
Status Blackjack
Status Fun Casino
for a memory region named "nvram". If it is found and is of
the same length as the generic_nvram_size, data is copied
from there instead of filling the RAM with the fallback
pattern.
Currently an analog control creates the axis;inc;dec menu items all under the same ref. This means the UI still thinks it is adding items when you move between any of the three for the same control. You have to move to a different control before sequences are no longer added to that control.
Harder to describe then to try. Try the current code. Map an INC button, move to DEC and map a button. Go back to INC and the old value is not cleared first.
The originally intended behavior is that a new field that intersected a
previous field would completely wipe out the original field. Recently a
change was made that changed the behavior to only remove a portion of the
bits from the original field. This is actually problematic behavior, so
the original behavior was restored.
Currently I put this behind a compile-time define until we see that we
haven't come to rely on the newer behavior.
I have another minor patch to MAME which does the following:
* Put tables used for RGB utilities in a single object file rather
than compiling them as statics in every object that uses them.
Vas Crabb
Sent: Sunday, March 08, 2009 5:58 PM
To: submit@mamedev.org
Subject: Patch with minor documentation changes
Attached is a patch file with the following minor documentation changes:
* Added placeholders for the two PAL's on Atari's version of Pole
Position 1 and 2 (I could not read the last digit of the PAL at 5c.)
* Added board numbers to SEGA's Quartet 2 documentation
* Corrected the rom names for Tutankham (A guess was made on the names
for Konami's version of the roms at 3h and 6h.)
Kevin Eshbach
The eepromdev.* files are the device impementation for the serial eeproms
The i2cmemdev.* files are the device impementation for the i2c memory
These aren't currently hooked up
I'm committing this so that the Naomi changes don't accidentally get applied. The idea seems good, but they conflict with the current driver and I'd rather not have them accidentally slipping in and breaking things just yet.
The envelopes aren't actually emulated, but the sound is silenced after a key-off (by placing the sound in a 'release' state) This prevents audiable sound from looping forever.
Not extensively tested, but good for my sanity when running some of the gnet additions, and the tgmj siren looping.
I may consider doing a better implementation if I can manage to get my head around all the envelope stuff.
* Added Crosshair Options menu
- ability to individually enable/disable crosshairs
- ability for them to automatically disappear after a set amount of time
- ability to select crosshair graphic
- all settings are saved in the cfg file
* Removed F1 toggle for crosshairs
* Added new command option -crsshairpath
- store all selectable graphics here
- see config.txt for further info
OSD NOTE: render_load_png() has been changed to no longer force usage of the artwork directory.
Do a search for "render_load_png(" and replace with "render_load_png(OPTION_ARTPATH, " if needed.
----------------------------
F1 is now free to use for something new. I was thinking it would be perfect for a context sensitive help file. Each menu item could have a help tag, that it would look up and display info from an HTML file.
Sent: Tuesday, March 24, 2009 2:02 PM
To: submit@mamedev.org
Subject: Sound banking fix for galpani2
Hi, I'm submitting a fix for the current sound banking in galpani2 driver.
I still wasn't able to correctly place the extra sound rom in galpan2g,
but I moved it to oki1, as its pages size is similar.
I've also separated the inputs for gp2se, as it's service mode clearly
shows there are some diferences, mainly with the card dispenser dip.
From all of these, it's clear that this driver incuded 3 different types of
board: galpani2/galpan2t/galpan2g, galpan2j/gp2quiz and gp2se,
the code also reflects these grouping.
Some memory accesses were still not mapped, I've also added them.
It would be very useful to have a video recording of the original, there
are several graphic effects that clearly aren't correct.
And finally, a little something for the okim6295 source, getting rid of that
"magic" value for the sake of readability. ;-)
Keep on the good work.
Regards,
Luis Faria
To: submit@mamedev.org
Subject: Simple cheat fix
Attached a very simple fix for a very stupid cut and paste error in my original submission..sorry.
Martin 'Pugsy' Pugh
- accept IRQs on IDLE
- actually count irq processing and instruction fetching cycles
- add support for external serial frame sync with internal
triggering (aka TXM=1 and FSM=1).
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Mahjong Vegas (unprotected set) [Luca Elia, Uki]
various cheat types and a table at the top to hopefully alleviate
confusion.
From: Pugsy [mailto:pugsy@gmx.net]
Sent: Sunday, March 15, 2009 11:01 AM
To: submit@mamedev.org
Subject: Cheat.c changes
I've been having a look at cheat.c, the issue with one-shot
list and one-shot select value cheats being indisguishable
from perm cheats. I decided to have a look to see if I get
it closer to the old way. I think I've managed it. I've
attached a diff file..
It changes the One-Shot List or Selectable value cheats to display
"Set" instead of "Off"
It stops the cheat options being activated in order when you are
going through the possibilities These cheats are now activated by
pressing ENTER after you have chosen an option This also pops up
a message (examples):
Activated
Select Starting Stage = 16 (0x10)
or
Activated
Select Temp. Current Shape PL1 = Yellow
Some simple examples to look at:
theroes "Select Starting Stage"
and
tetrist "Select Temp. Current Shape PL1"
Martin 'Pugsy' Pugh
Sent: Sunday, March 15, 2009 5:23 AM
To: Mamedev submit
Subject: Fx to z80pio
When outputting from a port to the hardware in pio mode 3, only those bits defined
by the mask should be output. Mame currently outputs everything.
New source code (z80pio.c) attached.
Regards,
Robbbert
* Fix build of ldplayer on OS X. Since the CUSTOM sound module no longer exists, I
arbitrarily changed it to WAVE, as ar gets upset if it has no input files. I also
removed the -all_load flag for ldplayer from the main makefile as it upsets the linker
on OS X.
* Fix build for PPC64 Linux. (This slightly messes up static branch prediction hints
on OS X and AIX, but OS X for PPC64 is dead, and no- one builds MAME for AIX, and
it will still build, anyway.)
* Paramaterise the arguments to check for NULL in the ATTR_NONNULL macro rather than
just checking the first argument. This requires compiler support for C99 variadic
macros (MSVC2005 and GCC4 have this AFAIK).
Vas
Sent: Friday, March 13, 2009 8:59 AM
To: submit@mamedev.org
Subject: Fix for Mametesters Bug 2981
Hi
Some minor fixes (in attached diff file):-
1. Fixes this http://mametesters.org/mantis/view.php?id=2981 bug, Note I've NOT touched "#define MAX_ARGUMENTS 32" - that
change is not required I've changed the cheat for the next beta xml cheat file release.
2. Minor typo in cidelsa.h, TAG starts with cpd rather than cdp, perhaps this should be maincpu though?
-#define CDP1802_TAG "cpd1802"
+#define CDP1802_TAG "cdp1802"
All the Best
Martin 'Pugsy' Pugh
The real way coefficient updates are handled is a little too complex
for now, but the hack throttles the update speed to the real rate
given the way konami uses it (once per sync). It's near impossible to
use it in a different way anyway.
Fixes mantis 2941 (at least for puzldama) and maybe 2953 (needs to
find the roms and test).
Sent: Saturday, February 28, 2009 3:53 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] More static/const qualifiers
Hi mamedev,
Another round of static/const qualifier additions, plus a rename of
has_addon_chip to snes_has_addon_chip. Notably a number of z80ctc_interface
are now const (devicification must have removed the cases where it was
dynamically modified). Notice that the READWRITExTOy macros declare two
functions, so you can't make the 2nd function static. Those macros should
probably be reworked or removed.
~aa
Sent: Friday, February 27, 2009 10:17 AM
To: submit@mamedev.org
Cc: qmc2-devel@lists.sourceforge.net
Subject: Proposed patch for src/emu/audit.c
Dear MAME developers,
I've created the attached diff to src/emu/audit.c (0.129u5) to allow for
reporting a ROM state of "correct" when a game/machine doesn't require any
ROM files at all (currently it will be reported as "not found", which is
wrong IMHO).
I know that this isn't really relevant for MAME, but it is for MESS -- so
I hope you'll accept the patch.
Thanks, Rene
--
Rene Reucher
rene.reucher@batcom-it.nethttp://www.batcom-it.net/
It is only people of small moral stature who have to stand on their dignity.
* corrupt files in archives now generate an error
* archive files ending in "/" will not be tested for crc - skip path entries
* add new flag FILE_OPEN_NO_PRELOAD to skip decompressing on open
This is used in audit.c, which only tests whether files exist
* added error checking to all calls to load_file_zipped
--------------------------------------------------
I see that eeprom_data is initialized with a memeset of 0xff so I don't think this change will break anything.
This patch will make happier the environments that do not know that
"still reachable" and "leaked" are not the same thing and that exit()
is a _very_ good deallocator.
assumption that all device tags are unique. Specifically, the
following no longer need to provide a device type:
AM_DEVREAD/WRITE
DEVCB_DEVICE_HANDLER
devtag_get_device
devtag_reset
device_list_find_by_tag
as well as several device interfaces that referenced other devices.
Also fixed assertion due to overflow in the recent sound fix.
- qix
- mcr/williams
- coinmstr
- funworld
- goldnpkr
- jokrwild
- nyny
- r2dtank
- spiders
- tugboat
Added new function memory_install_read_port_handler() to more
easily allow you to install read handlers for ports based on tag.
Removed input_port_read_handler8/16/32/64 functions, since they
were really only used for getting a memory handler for a port by
tag, and this is no longer necessary.
Moved input port handlers to internal code in the memory system.
Added port names to the taito8741 device pending its proper
devicification.
Removed all remaining uses of input_port_n_r() functions, and
purged them from src/emu/machine/generic.
compilation:
- new option CPP_COMPILE to trigger this (off by default)
- split CFLAGS into common, C-only, and C++-only flags
- when enabled, CPP_COMPILE causes 'pp' to be appended to
the target name
NOTE THAT THE SYSTEM CANNOT ACTUALLY BE COMPILED THIS WAY
YET. IT IS JUST AN EXPERIMENT.
Modified lib.mak to always build zlib/expat as C regardless
of CPP_COMPILE.
Modified windows.mak to fix warnings with MAXOPT=1, and to
leverage the new CFLAGs definitions.
Modified vconv.c to do appropriate conversions for new C++
options.
Updated sources so that libutil, libocore (Windows), and
libosd (Windows) can be cleanly compiled as C or C++. This
was mostly adding some casts against void *.
Fixed a few more general obvious problems at random
locations in the source:
- device->class is now device->devclass
- TYPES_COMPATIBLE uses typeid() when compiled for C++
- some functions with reserved names ('xor' in particular)
were renamed
- nested enums and structs were pulled out into separate
definitions (under C++ these would need to be scoped to
be referenced)
- TOKEN_VALUE cannot use .field=x initialization in C++ :(
- Added a VERY preliminary simulation of the protection, just enough to get the game to boot, not make it playable
- Corrected CPU communication, IRQ/NMI generation etc.
- Fixed some video emulation issues (added tilemap scroll etc.)
- Corrected GFX rom loading (at least for the graphics used in attract mode)
Sent: Wednesday, February 25, 2009 5:20 AM
To: submit@mamedev.org
Subject: CIA update
Hello,
this patch adds support for the /PC output pin to the CIA emulation.
From the datasheet "/PC will go low for one cycle following a read or write of PORT B.".
This is needed for centronics printer emulation on the MESS side, but I imagine it would
simplify/correct the emulation in some MAME amiga drivers as well (mquake.c for example).
--Dirk
Sent: Monday, February 16, 2009 7:10 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Add some missing static qualifiers
Hi mamedev,
This patch mostly adds missing static qualifiers, plus a few related header/name adjustments. In particular, I tackled m68kmake.c and tmsmake.c which exposed a fair amount of dead code.
~aa
Sent: Monday, February 16, 2009 1:03 PM
To: submit@mamedev.org
Subject: Speed up 'src\mame\video\mcatadv.c'
Hi,
here is a patch against 'src\mame\video\mcatadv.c'
This patch moves a call to 'memory_region' outside of a hot loop in the 'draw_sprites' function.
This gives a fiew pourcents speed up in games such as 'nost'.
Hope this helps,
Best regards,
Christophe Jaillet
--
From: Christophe Jaillet [christophe.jaillet@wanadoo.fr]
Sent: Monday, February 16, 2009 1:53 PM
To: submit@mamedev.org
Subject: Another speed up in 'src\mame\video\mcatadv.c'
Hi,
here is a patch against 'src\mame\video\mcatadv.c'
This patch , by re-arranging the code, give a +/- 5% speed up in the emulation.
Before, we :
- fetch a pixel,
- make some computation for lower/higher part of it
- check if we should render it
- test for priority
- update destination if necessary
With this patch, we check priority first in order to avoid useless processing and testing on pixel that can't be displayed due to priority reason. So in the best case, it is faster, in the worse case execution time should be more or less the same because :
if ((drawxpos >= cliprect->min_x) && (drawxpos <= cliprect->max_x) &&
pix)
is likely to be true (IMO). So the same tests are performed, only the order is different.
Hope this helps,
Best regards,
Christophe Jaillet
--
From: Christophe Jaillet [christophe.jaillet@wanadoo.fr]
Sent: Monday, February 16, 2009 1:09 PM
To: submit@mamedev.org
Subject: Clean up of 'src\emu\tilemap.c' (with the patch...)
Hi,
here is a patch against 'src\emu\tilemap.c'
This patch removes a variable called 'original_cliprect' from the top of 'tilemap_get_tile_flags'.
This variable is useless because all cases that need it, already make the same copy in a variable with the same name, shodawing the former one.
Hope this helps,
Best regards,
Christophe Jaillet
to names that capture the device type as well. Added validity
checks for the short-term to prevent the continuance of this
pattern (which I started :)
Changes:
CPU/"main" -> "maincpu"
CPU/"audio" -> "audiocpu"
CPU/"sound" -> "soundcpu"
SCREEN/main -> "screen" (since it's the only one)
Eventually, devices will be required to have unique tags within
a machine, regardless of type.
This was primarily added to allow for sound routes to be supported in a way that
is compatible with the current driver structure. A device can now define a
DEVICE_CUSTOM_CONFIG callback which is called whenever one of the
MCONFIG_TOKEN_DEVICE_CONFIG_CUSTOM_* tokens is encountered. A special token
MCONFIG_TOKEN_DEVICE_CONFIG_CUSTOM_FREE is defined to clean up memory allocated
and/or reset the custom configuration, and is called when the device is torn down
to allow for memory cleanup.
Reimplemented the sound routing using this new mechanism.
Please note: regression testing is in progress, but the first round
of glaring regressions have already been taken care of. That said,
there is likely to be a host of regressions as a result of this
change.
Also note: There are still a few rough edges in the interfaces. I
will try to clean them up systematically once the basic system is
working.
All sound chips are now proper devices.
Merged the sound chip interface into the device interface,
removing any differences (such as the whole ALIASing concept).
Modified every sound chip in the following ways:
* updated to match the device interface
* reduced read/write handlers down to the minimal number
* added the use of get_safe_token() for ensuring correctness
* other minor cleanup
Removed the custom sound device. The additional work to just make
custom sound cases into full devices is minimal, so I just converted
them all over to be actual devices.
Vastly simplified the sound interfaces, removing the ghastly
sndti_* business and moving everyone over to using tags for
sound identity. sndintrf, like cpuintrf, is now just a header
file with no implementation.
Modified each and every driver that references a sound chip:
* all memory maps explicitly reference the targeted device via
AM_DEVREAD/AM_DEVWRITE/AM_DEVREADWRITE
* 16-bit and 32-bit accesses to 8-bit chips no longer use
trampoline functions but instead use the 8-bit AM_DEVREAD/WRITE
macros
* all references to sound chips are now done via tags
* note that these changes are brute force, not optimal; in many
cases drivers should grab pointers to devices in MACHINE_START
and stash them away
- Created custom module for run sounds. Running the discrete sound system at 480KHz was not really optimal.
- Reviewed parts list, schematics and pcb pictures
- Brought mario run sound in line with recordings from Smitdogg
- VCO voltage needs to be 0V for this to happen. Verification outstanding
- Capacitors needed some ageing applied as well. To be removed once the VCO issue is clarified.
---------------------------------------------------
Monopoly [Phil Bennett]
Monopoly Classic [Phil Bennett]
Monopoly Deluxe [Phil Bennett]
6850acia: Only adjust the rx/tx bit timers on a control write if the divide ratios have changed.
changes to automatically call the read handler if the opcode base cannot be
found.
Changed logging for non-RAM opcode bases so that it does not output in the case
of debugger_access being set.
Fixed logic for deriving direct ranges so that it uses the non-watchpoint-
infected tables for its lookups.
read/write functions and various other types of functions. Introduced new
structures and macros to make this possible.
To take advantage of this, a device must change its interface to replace and
read/write callbacks with the new devcb_read/write structures. During device
start time, the device then uses this new devcb module to resolve the information
in the devcb_read/write structures into a more efficient form. When the device
needs to call one of the callbacks, it uses the inline devcb_call_read/write
functions.
Once a device has defined its callbacks as devcb_read/write structures, users
of the device must use the DEVCB_* macros to specify the type and information
about the handler to use:
DEVCB_NULL = no handler
DEVCB_HANDLER = a standard device read/write handler
DEVCB_MEMORY_HANDLER = a memory address space read/write handler
DEVCB_DEVICE_HANDLER = a device read/write handler for a different device
DEVCB_INPUT_PORT = an input port
Converted the 8255PPI device to use this new structure, and updated all users
to use the DEVCB macros, removing some unnecessary trampoline functions along
the way.
> On Mon, Jan 19, 2009 at 05:37:35AM -0800, R. Belmont wrote:
> > My mistake. I thought you were suggesting that we should actually
> > somehow handle malloc failures. Given that aborting is an OK way to
> > express failure, I'd suggest the return values be changed to DEFER
> > and DONT_DEFER to eliminate the conceptual imbalance of OK/DEFER.
>
> That's where comes the fact that we have 130 OK/DONT_DEFER and 1
> DEFER. It makes me think that the exceptional DEFER case should be
> handled by an exceptional function call.
>
> I know, code talks, but I'm at work right now :-)
Here we go.
OG.
/current/s/sothello.zip
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Super Othello [Tomasz Slanina]
or ENDIANNESS_BIG based on the LSB_FIRST definition. Unlink LSB_FIRST,
ENDIANNESS_NATIVE always exists and can be used in expressions without
invoking the preprocessor.
Added macro ENDIAN_VALUE_LE_BE() which selects one of two values based
on the endianness passed in. Also added NATIVE_ENDIAN_VALUE_LE_BE()
which calls ENDIAN_VALUE_LE_BE with ENDIANNESS_NATIVE.
Updated a number of drivers and call sites to use these macros in favor
of #ifdef LSB_FIRST.
* Graphics decoded, video improved, inputs mapped.
Intel i860 CPU core added. [Jason Eckhardt]
(The CPU core doesn't have accurate cycle counts for each opcode yet, but it'll have them soon. I believe that is the main culprit behind the sync of the two i860s and the 68k being outta' whack. You can still see the i860s do their thing and rasterize a voxel? groundplane and some simple polygon bad guys).
Sent: Sunday, January 11, 2009 5:52 AM
To: submit@mamedev.org
Subject: unreachable code cleanup
This patch cleans up the usage of unreachable code (mostly
unnecessary breaks after returns in switch - case). A few case of
really unused code were also discovered. I marked thos with FIXME
comments.
I based this cleanup on teh output of cppcheck. It does still missing
a few cases of unreachable code, so there might be future patches to
address more cases.
Sent: Friday, January 09, 2009 4:14 AM
To: submit@mamedev.org
Subject: Patch to remove useless INLINE defines
Hello,
this patch removes several occurrences of "#define INLINE" in CPU and
sound cores, which I assume are useless since the makefile already
defines this.
--Dirk
Sent: Tuesday, January 06, 2009 7:39 PM
To: submit@mamedev.org
Cc: atariace@hotmail.com
Subject: [patch] Remove sndindex from SND_START
Hi mamedev,
This is a baby step towards making the sound cores proper devices. It
removes the sndindex parameter from SND_START. Cores should use the
device pointer or tag as appropriate. I also removed a few
address_space hacks taking advantage of the existing fake sound
device.
~aa