Commit Graph

41 Commits

Author SHA1 Message Date
Fabio Priuli
cc8edf5ac2 mc6845: converted to devcb2, delegates and inline configs. nw.
while at it, cleaned up the args of the mc6845 delegates as well 
(no need to pass back and forth pieces of the driver class, now 
that delegates belong to it as well)

even if I tested the changes extensively, I might have missed 
something among the 177 source files using this, so please report
any regressions you see :)
2014-05-01 08:36:28 +00:00
mahlemiut
dd67f28357 amstrad: added preliminary Amstrad/Pace RS232C interface. The terminal
software included with the original Amstrad interface works, but not much else
does at this stage.  [Barry Rodewald]

Out of whatsnew:  HoneyTerm (part of the later Pace interface) expects bit 6
of RR0 on the Z80DART to be set (seems to unsupported in the current z80dart
device).  Not sure on why other software doesn't work as yet.
2014-04-24 00:15:14 +00:00
Miodrag Milanovic
9e85066935 Replaced set_irq_acknowledge_callback with proper MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER/DEVICE (nw) 2014-04-23 08:54:06 +00:00
Fabio Priuli
a2bdecb071 converted i8255 to devcb2. nw.
p.s. I tested several games/systems and I triple checked the diff to be sure I did not 
make any copy and paste mistake in the 195 files touched by this, but let me know 
if any system suddenly stops working!
2014-04-17 05:49:48 +00:00
smf-
72d93bb509 Added serial printer, renamed centronics printer to match. Standardised the configuration of rs232 devices. All serial devices are now connected using an rs232 port. [smf] 2014-04-16 07:53:39 +00:00
Ivan Vangelista
1b4f7107a2 cpc_expansion_slot_device: converted to devcb2 (nw) 2014-04-15 15:36:28 +00:00
Miodrag Milanovic
fec65e0b57 Cleanups and version bump 2014-04-07 06:04:18 +00:00
Curt Coder
f3fe1ab644 upd765: Refactored to use devcb2 callbacks. [Curt Coder] 2014-03-17 20:38:18 +00:00
Miodrag Milanovic
fbdf07c69f redo amstrad expansion slot devcb usage (nw) 2014-03-16 10:32:02 +00:00
Miodrag Milanovic
b5a348c7c1 Made palette settings for screen explicit and mandatory for ind16 mode (nw) 2014-03-14 14:39:34 +00:00
Miodrag Milanovic
df5f242f7f MCFG_DEVICE_REMOVE("palette") replaced with proper MCFG_PALETTE_MODIFY (nw) 2014-03-07 11:23:04 +00:00
Miodrag Milanovic
e1cb7f6788 Video attributes are now per screen (nw) 2014-03-06 14:28:32 +00:00
Miodrag Milanovic
64ac8f6776 Huge update, palette is now device (nw)
note: Aaron please give more descriptive text for release log I have no more strength :)
2014-02-27 13:35:15 +00:00
Oliver Stöneberg
9fa82ef4c3 first round of clang 3.4 fixes for MESS (nw) 2014-02-20 17:50:51 +00:00
mahlemiut
12dad2dbf6 amstrad: Added a basic implementation of the Programmers Development System hardware for the CPC. Only lacks a way to set up a parallel connection between MESS instances to enable PC<->CPC communication. [Barry Rodewald] 2014-02-10 08:53:00 +00:00
smf-
be55c4bef6 Centronics WIP using write lines and DEVCB2. Added an output latch and input buffer device to allow configuration in MCFG. Renamed centronics device "printer" to "image". FM-7 parallel port joystick works again. Added support for using PC LPT control lines as inputs (not tested). c64 geocable now just passes individual lines through, changed the strobe line to what is documented online (not tested). Converted MSX & exidy sorcerer parallel port DAC to use covox device instead of using a configuration switch (not tested). Sorcerer parallel port is more like the commodore user port, so should be converted to it's own slot where one option is a centronics card. [smf] 2014-02-09 20:08:25 +00:00
mahlemiut
523235ff0f (MESS) amstrad: added the option of having nothing attached to the joystick ports. Mostly to avoid the cursor keys and the default joystick inputs clashing. (no whatsnew) 2014-02-01 02:48:26 +00:00
mahlemiut
90f48df9fd (MESS) amstrad: changed manufacturer and refresh DIPs to be driver config settings, since they aren't really DIP switches in the first place. (no whatsnew) 2014-01-31 00:52:19 +00:00
mahlemiut
4a7e551be4 (MESS) amstrad: Added preliminary support for the AMX mouse. [Barry Rodewald] 2014-01-29 10:01:24 +00:00
smf-
175ef51ec4 moved cpc_exp_cards and cpcplus_exp_cards from .h to .c (nw) 2013-12-11 21:43:46 +00:00
smf-
e7517ea39e Fixed the MC146818 modernisation so that local/utc & whether a century is stored in nvram can be specified in a sane way. Removed the century updating as this chip doesn't do that, but each driver can specify where the century should be stored. Fixed off by one errors in the date/time updating. Added support for different external clock speeds and dividers, the clock speeds have been set based on guesswork that the code would set the chip to update at 1hz but this isn't necessarily true. Most flags have been implemented, so that timer updating can be disabled & irq generation should be correct. [smf] 2013-11-01 18:17:55 +00:00
Miodrag Milanovic
a31774ab7c moved centronics into emu/bus (nw) 2013-10-23 13:01:30 +00:00
Alex W. Jackson
4ff8944e8e amstrad.c: fix gx4000 inputs [Alex Jackson] 2013-09-23 23:02:14 +00:00
Aaron Giles
25a100d773 Created new device_video_interface. Right now its sole purpose is to
house a screen tag and to find the screen at startup, providing an m_screen
object that can be used. One nice feature is that if there is only one
screen and no screen has been specified, it will auto configure to that
screen. This removes the need to explicitly specify a screen in the
configuration for a large chunk of drivers (though doing so never hurts).
A new macro MCFG_VIDEO_SET_SCREEN is provided, though devices are 
encouraged to define their own that maps there so it is obvious which
device is being targeted. The device_video_interface's validation
function will error if an invalid screen is specified or if no screen
is provided but there are multiple screens present.

Updated all devices that currently had an m_screen in them to use the
device_video_interface instead. This also has the nice benefit of flagging
video-related devices for categorization purposes. It also means all
these devices inherit the same screen-finding behaviors. For devices
that had interfaces that specified a screen tag, those have been removed
and all existing structs updated.

Added an optional_device<screen_device> m_screen to the base driver_device.
If you name your screen "screen" (as most drivers do), you will have free
access to your screen this way.

Future updates include:
* Updating all devices referencing machine.primary_screen to use the
device_video_interface instead
* Updating all drivers referencing machine.primary_screen to use the
m_screen instead
* Removing machine.primary_screen entirely
2013-07-24 19:20:59 +00:00
mahlemiut
d9c08a93c5 amstrad: made the CPC Plus use DSK images too. 2013-06-08 22:34:41 +00:00
smf-
459b30be0f Moved default card config, device inputs and clock off the slot interface so they can be specified for all cards [smf] 2013-05-29 13:52:16 +00:00
Miodrag Milanovic
be5e1248c4 SNAPSHOT_LOAD and QUICKLOAD_LOAD made members, still need to cleanup (nw) 2013-04-19 14:47:35 +00:00
Miodrag Milanovic
5d8cdfb2e5 (MESS) cassette cleanup (nw) 2013-04-17 08:30:36 +00:00
Wilbert Pol
d7e1483979 (MESS) amstrad.c: Reduce tagmap lookups (nw) 2013-02-11 20:47:18 +00:00
Wilbert Pol
400b9bcc29 Started moving DEVICE_IMAGE_ functions into driver_device classes. (nw) 2013-02-05 20:54:03 +00:00
Miodrag Milanovic
0e19f641d3 Cleanups and version bump 2013-01-11 07:32:46 +00:00
Olivier Galibert
b368d0f478 (mess) dsk: (minimally) complete the dsk support [O. Galibert] 2012-12-28 11:13:31 +00:00
Curt Coder
b9a2b20e61 (MESS) Removed unnecessary includes, and fixed a floppy bug. (nw) 2012-12-09 20:52:23 +00:00
Curt Coder
9046ce0dc5 sed1310: Cleanup. (nw)
(MESS) bw2: Fixed memory mapping. (nw)
(MESS) msm6255: Refactored to use device_memory_interface. (nw)

(MESS) floppy: Added macros for declaring modern floppy formats. The generic floppy formats (D88/DFI/IMD/IPF/MFI/MFM) are now automatically supported in each driver using the modern floppy code. [Curt Coder]
2012-11-22 19:33:19 +00:00
Miodrag Milanovic
1f92cf5430 Fix validation and booting of cpc drivers (no whatsnew) 2012-10-11 08:03:00 +00:00
Olivier Galibert
9d1aaf97ae (mess) upd765: Modernize [O. Galibert]
Remaining TODO list:
- take WP into account

- test the amstrad, implement its observational format (edsk) using
  pasti as a start.  Or find the legendary amstrad IPFs.  Or both.

- correct read track, the implementation is completely wrong.  See
  previous for testing, it's only used in protections the check the
  inter-sector gaps.

- shake and bake on the amstrad, protections are the best to find bugs
  in a fdc

- add the scan id commands, but nothing seems to use them

- debug the 2.88M formatting which is unreliable.  Fix its IDAM/DAM
  gap size on formatting too (but that's not what's making it
  unreliable)

- test all the systems that were hit, and fix what needs to be fixed.
  Beware that multiple problems may happen:
  - upd765 may be wrong
  - the driver may not be working
  - the hookup may be wrong/incomplete (bitrate selection and floppy
    rpm in particular)
  - the driver may be too limited for the new implementation (the x68k
    dma device does not handle non-instant dma yet for instance)

- report invalid command when appropriate depending on the actual chip
  emulated

- add the russian clones with their real names
2012-10-10 15:33:51 +00:00
Miodrag Milanovic
e52d60b7f8 Replace some *_DEVICE_HANDLER with _MEMBER calls in MESS section (no whatsnew) 2012-10-03 09:27:22 +00:00
Miodrag Milanovic
7f775f2fbe Modernized INPUT_CHANGED in MESS part of tree (no whatsnew) 2012-09-19 13:06:55 +00:00
Miodrag Milanovic
5ddbca3e7a Modernized screen update calls (no whatsnew) 2012-09-17 15:00:31 +00:00
Miodrag Milanovic
219e664785 Massive change, MACHINE_START\RESET, VIDEO_START\RESET and PALETTE_INIT changed to be members of state classes (no whatsnew) 2012-09-13 11:15:32 +00:00
Miodrag Milanovic
7285b359d2 Merge of MESS sources (no whatsnew) 2012-08-21 10:41:19 +00:00