Commit Graph

60172 Commits

Author SHA1 Message Date
Vas Crabb
2888fe0eb2 more MCFG_ gone (nw) 2018-07-09 06:55:11 +10:00
Frank Palazzolo
ebc3f6947f Bug fix for multi-channel reads in cassette_get_samples(). (#3725)
* Bug fix for multi-channel reads in cassette_get_samples().
Use the unused "sample_bytes" arg the same way as cassette_put_samples()
Can be used with multi-channel files now!

* Rename sample_bytes to more descriptive sample_spacing
Add some comments about sample functions and sample_spacing variable
2018-07-09 05:28:18 +10:00
braintro
ca81cf53dd system1.cpp: Doc update & minor white space cleaning (nw) 2018-07-08 14:15:31 -05:00
braintro
0cd6a12096 raiden2.cpp: Unify the Raiden DX ROM names (nw) 2018-07-08 13:54:08 -05:00
braintro
07126f75e5 segas32.cpp: Correct ROM name typo (nw) 2018-07-08 13:40:00 -05:00
braintro
b64074d135 new working clone - Raiden DX (Portugal)
New Clone Added
------------------------------------------
Raiden DX (Portugal) [Jorge Silva, Atro, Kravex]
2018-07-08 13:36:50 -05:00
braintro
11ad844de8 new working clone - Air Rescue (World)
New Clone Added
------------------------------------------
Air Rescue (World) [Porchy, Muddymusic, The Dumping Union]
2018-07-08 13:33:40 -05:00
AJR
fbcbd5fdd9 v550: MCU confirmed as 8035 (nw) 2018-07-08 13:28:25 -04:00
AJR
a7758702e2 v550: Add main XTAL and derived clocks (nw) 2018-07-08 13:21:16 -04:00
AJR
58a1355b6f v550: Add keyboard dump [Al Kossow]
scn2674: Add optional second space and associated buffers for attribute RAM (nw)
2018-07-08 12:52:08 -04:00
AJR
444f2ccd78 namcoic.cpp: Remove unused folderol (nw) 2018-07-08 12:14:07 -04:00
cam900
e6f78ae943 namcoic.cpp : Simpler bit-swapped values (#3609)
* namcoic.cpp : Simpler bit-swapped values

* namcoic.cpp : Fix Lucky & Wild

* namcoic.cpp : Fix bitswap

* namcoic.cpp : Convert ROZ tilemap code mangles into callback, Split config for each game when tilemap mangle is different, Reduce duplicates, Move metalhawk swap xy function into gfxdecode, Fix metalhawk zoom
namcos2.cpp : Add notes, demote with MACHINE_IMPERFECT_GRAPHICS because tilemap and ROZ issue, Reduce duplicate
fix gfxdecode name for namconb2, namcofl

* namcoic.cpp : Add notes, Fix finalapr* Title screen, Fix mask, Add c169 wraparound disable bit, Fix mask
namconb1.cpp : Fix builds
2018-07-09 01:35:08 +10:00
Ivan Vangelista
da1d649df8 mappy.cpp: use timer delegates instead of device_timer, as suggested (nw) 2018-07-08 15:06:01 +02:00
Vas Crabb
ee2cfba202 Hand the delegate mask down the line (nw) 2018-07-08 21:51:17 +10:00
smf-
0bbb5496ba There is no reset input, so resetting the status of the variable tracking the external signal makes no sense. However we should probably restart the timer on all resets (instead of just at start/watchdog timeout), to avoid a watchdog reset if you press F3 at the wrong time (nw) 2018-07-08 11:33:14 +01:00
smf-
fa05df5922 a watchdog that only fires once is not very useful. (nw) 2018-07-08 11:09:54 +01:00
Vas Crabb
945eac4386 tame the mice (nw) 2018-07-08 19:54:25 +10:00
smf-
d7f12d04f0 screen indexes have flipped due to device replace instead of remove/add (nw) 2018-07-08 10:09:57 +01:00
Vas Crabb
e56b1e0cda more of the same (nw) 2018-07-08 18:08:10 +10:00
Vas Crabb
f0773a505b allow multiple digits in components of clang version (see PR #3733) 2018-07-08 15:43:54 +10:00
Vas Crabb
1122abfcee if this doesn't work around GCC 8, file a bug with GNU (nw) 2018-07-08 15:19:03 +10:00
AJR
2c552c44b5 Remove running_machine::device() call in QT debugger (nw) 2018-07-07 18:14:44 -04:00
smf-
ab0a608f99 and again (nw) 2018-07-07 23:13:58 +01:00
smf-
fe52b5ddfc where did that come from (nw) 2018-07-07 23:11:04 +01:00
smf-
e0dd06bbf4 remove typename which MSVC wanted, will try to find another way (nw) 2018-07-07 23:07:15 +01:00
AJR
dc43087ee5 devcb.h: Looks like GCC does require typename (nw) 2018-07-07 17:48:57 -04:00
AJR
c8f77c0d3d devcb.h: Further attempted GCC build fixing (nw) 2018-07-07 17:46:52 -04:00
AJR
2b802ba442 devcb.h: Attempted fix for GCC build (nw) 2018-07-07 17:36:51 -04:00
smf-
faac6a63e7 Fixes for building with Microsoft Visual Studio 2015. (nw) 2018-07-07 21:46:01 +01:00
AJR
779fb01911 mess.lua: Fix build (nw) 2018-07-07 15:12:35 -04:00
Stiletto
f0ea9963e3
add AppVeyor badge back to the readme.
add AppVeyor badge back to the readme.
2018-07-07 15:09:01 -04:00
balr0g
832ba8b8b2 Rename appveyor.yml 2018-07-07 14:22:59 -04:00
mooglyguy
cc4867d092 Disable debug prints, nw 2018-07-07 19:55:23 +02:00
mooglyguy
4134ea509b ps2sony: checkpoint, nw 2018-07-07 19:55:23 +02:00
Vas Crabb
28ffb7fb98 stupid helper (nw) 2018-07-08 00:48:57 +10:00
Vas Crabb
11b47cb003 remove more MCFG_ (nw) 2018-07-07 23:39:05 +10:00
smf-
b747b711bb fix building with clang 6.0.1 (nw) 2018-07-07 11:28:01 +01:00
Justin Kerk
32ee215a38 Remove -mbig-obj, which breaks the build on Windows clang and is not actually needed now that the emumem files have been split up (nw) 2018-07-07 02:07:13 -07:00
arbee
1c800e0b96 z80scc: Clear tranmitter interrupt if a written byte fills the FIFO. Fixes Apple IIgs problems without breaking Intergraph. [pmackinlay, R. Belmont] 2018-07-06 23:48:15 -04:00
Vas Crabb
27d0cb90ff (nw) well that was dumb - fix crashing ATA devices, slightly modernise some code 2018-07-07 09:37:57 +10:00
Vas Crabb
cecad654da remove more macros (nw) 2018-07-07 05:05:25 +10:00
Vas Crabb
c3fb11c2c9 devcb3
There are multiple issues with the current device callbacks:
* They always dispatch through a pointer-to-member
* Chained callbacks are a linked list so the branch unit can't predict the early
* There's a runtime decision made on the left/right shift direction
* There are runtime NULL checks on various objects
* Binding a lambda isn't practical
* Arbitrary transformations are not supported
* When chaining callbacks it isn't clear what the MCFG_DEVCB_ modifiers apply to
* It isn't possible to just append to a callback in derived configuration
* The macros need a magic, hidden local called devcb
* Moving code that uses the magic locals around is error-prone
* Writing the MCFG_ macros to make a device usable is a pain
* You can't discover applicable MCFG_ macros with intellisense
* Macros are not scoped
* Using an inappropriate macro isn't detected at compile time
* Lots of other things

This changeset overcomes the biggest obstacle to remving MCFG_ macros
altogether.  Essentially, to allow a devcb to be configured, call
.bind() and expose the result (a bind target for the callback).  Bind
target methods starting with "set" repace the current callbacks; methods
starting with "append" append to them.  You can't reconfigure a callback
after resolving it.  There's no need to use a macro matching the
handler signatures - use FUNC for everything.  Current device is implied
if no tag/finder is supplied (no need for explicit this).

Lambdas are supported, and the memory space and offset are optional.
These kinds of things work:
* .read_cb().set([this] () { return something; });
* .read_cb().set([this] (offs_t offset) { return ~offset; });
* .write_cb().set([this] (offs_t offset, u8 data) { m_array[offset] = data; });
* .write_cb().set([this] (int state) { some_var = state; });

Arbitrary transforms are allowed, and they can modify offset/mask for example:
* .read_cb().set(FUNC(my_state::handler)).transform([] (u8 data) { return bitswap<4>(data, 1, 3, 0, 2); });
* .read_cb().set(m_dev, FUNC(some_device::member)).transform([] (offs_t &offset, u8 data) { offset ^= 3; return data; });

It's possible to stack arbitrary transforms, at the cost of compile
time (the whole transform stack gets inlined at compile time).  Shifts
count as an arbitrary transform, but mask/exor does not.

Order of mask/shift/exor now matters.  Modifications are applied in the
specified order.  These are NOT EQUIVALENT:
* .read_cb().set(FUNC(my_state::handler)).mask(0x06).lshift(2);
* .read_cb().set(FUNC(my_state::handler)).lshift(2).mask(0x06);

The bit helper no longer reverses its behaviour for read callbacks, and
I/O ports are no longer aware of the field mask.  Binding a read
callback to no-op is not supported - specify a constant.  The GND and
VCC aliases have been removed intentionally - they're TTL-centric, and
were already being abused.

Other quirks have been preserved, including write logger only logging
when the data is non-zero (quite unhelpful in many of the cases where
it's used).  Legacy syntax is still supported for simple cases, but will
be phased out.  New devices should not have MCFG_ macros.

I don't think I've missed any fundamental issues, but if I've broken
something, let me know.
2018-07-07 02:40:29 +10:00
Patrick Mackinlay
5d9e33b786 nscsi: add support for CD-ROMs with 512-byte blocks (#3727)
* nscsi: add support for CD-ROMs with 512-byte blocks

Older UNIX workstations used SCSI CD-ROM drives with 512-byte logical blocks instead of the now standard 2048. This change makes the block size configurable, and adds logic to translate logical blocks to/from the underlying 2048 byte sectors as needed.

* add support for 512-byte logical blocks
* logmacro.h logging (turned on by default to retain current behaviour)
* added stub for "prevent/allow medium removal" command
* removed some unnecessary state
* minor fix for nscsi_hd "inquiry" command

* minor changes (nw)

* doh (nw)

* this too (nw)
2018-07-06 09:31:29 -04:00
Vas Crabb
ab0f99373d cleanup (nw) 2018-07-06 20:55:59 +10:00
Robbbert
7285b74fc6 (nw) Fixed the build.... hopefully 2018-07-06 20:21:08 +10:00
Patrick Mackinlay
06700b3c52 clipper: minor bugfix (nw) (#3731)
This enables SoftPC to run.
2018-07-06 11:11:13 +02:00
mooglyguy
f3ccd1f7f2 -ps2sony: Various DMA and SIF bug fixes, initial OSDSYS ELF transfers to IOP now, but EE and IOP hang immediately thereafter. nw 2018-07-05 19:04:50 +02:00
Ivan Vangelista
8fe31f857d mappy.cpp: timer_set removal (nw) 2018-07-05 17:07:20 +02:00
Ivan Vangelista
c709bebef0 jangou.cpp: slight improvements to luckygrl decryption (nw) 2018-07-05 16:59:00 +02:00
Ivan Vangelista
009d3f8b1c microtan: device_finder and other minor clean-ups (nw) 2018-07-05 16:54:17 +02:00