summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/nscsi_bus.cpp
Commit message (Collapse)AuthorAgeFilesLines
* nscsi: Added initialization of sense buffer on reset. Michael Zapf2021-08-201-0/+1
|
* Eliminate ARRAY_LENGTH template in favor of C++17's std::size AJR2021-02-141-1/+1
| | | | | | | | | | * osdcomm.h: Move definition of EQUIVALENT_ARRAY to coretmpl.h * sharc.cpp, gt64xxx.cpp, ym2413.cpp, gb_lcd.cpp, snes_ppu.cpp: Use STRUCT_MEMBER for save state registration * gio/newport.cpp, megadrive/svp.cpp, nes_ctrl/bcbattle.cpp, arm7.cpp, tms9995.cpp, pckeybrd.cpp, sa1110.cpp, sa1111.cpp, jangou_blitter.cpp, vic4567.cpp: Use std::fill(_n) instead of memset * emucore.h: Remove obsolete typedef
* Much more core std::string_view modernization AJR2021-01-201-1/+1
| | | | | | | | | | | | | | | - Remove corestr.h from emu.h; update a few source files to not use it at all - Change strtrimspace, strtrimrightspace and core_filename_extract_* to be pure functions taking a std::string_view by value and returning the same type - Change strmakeupper and strmakelower to be pure functions taking a std::string_view and constructing a std::string - Remove the string-modifying version of zippath_parent - Change tag-based lookup functions in device_t to take std::string_view instead of const std::string & or const char * - Remove the subdevice tag cache from device_t (since device finders are now recommended) and replace it with a map covering directly owned subdevices only - Move the working directory setup method out of device_image_interface (only the UI seems to actually use the full version of this) - Change output_manager to use std::string_view for output name arguments - Change core_options to accept std::string_view for most name and value arguments (return values are still C strings for now) - Change miscellaneous other functions to accept std::string_view arguments - Remove a few string accessor macros from romload.h - Remove many unnecessary c_str() calls from logging/error messages
* nscsi: Implemented REZERO command. [Curt Coder] Curt Coder2020-08-221-0/+4
|
* nscsi hle: Reset on reset [O. Galibert] Olivier Galibert2020-05-081-0/+5
|
* Spring cleaning: Vas Crabb2019-11-011-10/+3
| | | | | | | | | | | | * Changed emu_fatalerror to use util::string_format semantics * Fixed some incorrectly marked up stuff in build scripts * Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now) * Fixed memory leaks in Xbox USB * There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it * Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave) * Got rid of device_slot_card_interface as it wasn't providing value * Added a helper template to reduce certain kinds of boilerplate in slots/buses * Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
* nscsi_bus: Class overhaul (nw) AJR2019-07-111-14/+32
| | | | | | - SCSI slot options are no longer required to implement nscsi_device themselves. Instead they implement nscsi_slot_device_interface, which contains a finder for a nscsi_device. This is to accommodate LLE SCSI drives with their own LSI interface chips. - SCSI bus device connection is now done through device_resolve_objects rather than device_config_complete. (The pessimized code to access the device finder is because that will not have been resolved yet.) - Added a validity checking method for nscsi_connector.
* -nscsi_bus: Disable LOG_DATA_SENT by default to minimize log spam, nw MooglyGuy2019-05-181-1/+1
|
* (nw) Clean up the mess on master Vas Crabb2019-03-261-30/+37
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-37/+30
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* nscsi_cd: Add new nscsi_cdrom_device derived type for SGI systems tyfighter2019-02-081-9/+8
| | | | Some versions of IRIX will always send an SGI vendor specific SCSI command to the CDROM, so we need some specialization to acknowledge this command.
* nscsi_bus: fix showing answers (nw) Olivier Galibert2019-01-231-3/+3
|
* wd33c9x: Fix non-dma data retrieval [O. Galibert] Olivier Galibert2019-01-101-11/+24
| | | | nscsi_cd: Add the read TOC command, fix inquiry [O. Galibert]
* nscsi_bus: request sense fix (nw) Patrick Mackinlay2019-01-101-10/+5
| | | | | | * request sense returns minimum of allocated length or available data (or 4 bytes) * set the additional length properly * fix some magic numbers
* New NSCSI device for WD33C9x SCSI Controllers (#4449) tyfighter2018-12-311-4/+16
| | | | | | | | | | | | | | * New NSCSI device for WD33C9x SCSI Controllers Add a new NSCSI device model for the WD33C9x family of SCSI Controllers. * Add missing shortname calls to logging lines Add missing shortname calls to logging lines * Correct spaces -> tabs Correct spaces -> tabs
* NSCSI: disable debug Sven Schnelle2018-10-111-1/+1
| | | | | | | The default debug settings are filling up error.log pretty quick when booting SCSI machines like hp9k_3xx. Disable debug in the default settings, it can still be enabled if some dev/user wants to debug NSCSI.
* (nw) fix lots of inadverently mutable static pointers Vas Crabb2018-09-201-1/+1
|
* -sbus: Fixed a minor typo in the description of the Artecon serial/parallel ↵ mooglyguy2018-09-161-1/+4
| | | | | | | | | | | | | | | | | board, nw -sparc: Added stubbed-out IFLUSH instruction to fix illegal instruction exceptions in SunOS 4.1.4 installer. [Ryan Holtz] -nscsi: Added optional verbose logging of data transfers. [Ryan Holtz] -timekpr: Switched to use the new logmacro system. [Ryan Holtz] -sun4c: Can now successfully install SunOS 4.1.4. [Ryan Holtz] * Hooked up auxiliary I/O port. * Hooked up bus timeout on unmapped RAM ranges, per documentation. * Changed FDC type to i82072, per documentation. * Silenced a ton of logging. * Reworked IRQ handling and added support for software interrupts.
* nscsi: make sun4 probe-scsi happy (nw) Patrick Mackinlay2018-09-161-3/+11
|
* nscsi_bus: minor fix (nw) (#3621) Patrick Mackinlay2018-05-291-1/+2
| | | Only the lower 3 bits of the identify message contain the LUN.
* nscsi: use chd idnt metadata for inquiry Patrick Mackinlay2017-12-201-18/+22
| | | | Also use logmacro.h logging.
* Move static data out of devices into the device types. This is a ↵ Vas Crabb2017-05-141-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | significant change, so please pay attention. The core changes are: * Short name, full name and source file are no longer members of device_t, they are part of the device type * MACHINE_COFIG_START no longer needs a driver class * MACHINE_CONFIG_DERIVED_CLASS is no longer necessary * Specify the state class you want in the GAME/COMP/CONS line * The compiler will work out the base class where the driver init member is declared * There is one static device type object per driver rather than one per machine configuration Use DECLARE_DEVICE_TYPE or DECLARE_DEVICE_TYPE_NS to declare device type. * DECLARE_DEVICE_TYPE forward-declares teh device type and class, and declares extern object finders. * DECLARE_DEVICE_TYPE_NS is for devices classes in namespaces - it doesn't forward-declare the device type. Use DEFINE_DEVICE_TYPE or DEFINE_DEVICE_TYPE_NS to define device types. * These macros declare storage for the static data, and instantiate the device type and device finder templates. The rest of the changes are mostly just moving stuff out of headers that shouldn't be there, renaming stuff for consistency, and scoping stuff down where appropriate. Things I've actually messed with substantially: * More descriptive names for a lot of devices * Untangled the fantasy sound from the driver state, which necessitates breaking up sound/flip writes * Changed DECO BSMT2000 ready callback into a device delegate * Untangled Microprose 3D noise from driver state * Used object finders for CoCo multipak, KC85 D002, and Irem sound subdevices * Started to get TI-99 stuff out of the TI-990 directory and arrange bus devices properly * Started to break out common parts of Samsung ARM SoC devices * Turned some of FM, SID, SCSP DSP, EPIC12 and Voodoo cores into something resmbling C++ * Tried to make Z180 table allocation/setup a bit safer * Converted generic keyboard/terminal to not use WRITE8 - space/offset aren't relevant * Dynamically allocate generic terminal buffer so derived devices (e.g. teleprinter) can specify size * Imporved encapsulation of Z80DART channels * Refactored the SPC7110 bit table generator loop to make it more readable * Added wrappers for SNES PPU operations so members can be made protected * Factored out some boilerplate for YM chips with PSG * toaplan2 gfx * stic/intv resolution * Video System video * Out Run/Y-board sprite alignment * GIC video hookup * Amstrad CPC ROM box members * IQ151 ROM cart region * MSX cart IRQ callback resolution time * SMS passthrough control devices starting subslots I've smoke-tested several drivers, but I've probably missed something. Things I've missed will likely blow up spectacularly with failure to bind errors and the like. Let me know if there's more subtle breakage (could have happened in FM or Voodoo). And can everyone please, please try to keep stuff clean. In particular, please stop polluting the global namespace. Keep things out of headers that don't need to be there, and use things that can be scoped down rather than macros. It feels like an uphill battle trying to get this stuff under control while more of it's added.
* Self-registering devices prep: Vas Crabb2017-02-271-2/+2
| | | | | | | | | | | | | | * Make device_creator a variable template and get rid of the ampersands * Remove screen.h and speaker.h from emu.h and add where necessary * Centralise instantiations of screen and speaker finder templates * Add/standardise #include guards in many hearers * Remove many redundant #includes * Order #includesr to help catch headers that can't be #included alone (nw) This changes #include order to be prefix, unit header if applicable then other stuff roughly in order from most dependent to least dependent library. This helps catch headers that don't #include things that they use.
* Remove emu.h from headers (nw) Olivier Galibert2017-02-111-0/+1
| | | | | | | | | | | | Per Vas' request. If the compile fails for you (i'm thinking osx and windows native debuggers here in particular), add '#include "emu.h"' as first include of the cpp files that fail. Due to our use of precompilation and forced inclusion, emu.h must be included as the very first non-comment thing we do if we want to be sure msvc compiles are identical to gcc/clang ones. Doing it directly instead of through an include increases the correctness probability by a magnitude.
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-20/+20
| | | | | Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8 also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
* reverting: Miodrag Milanovic2016-01-201-14/+14
| | | | | | | SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa * tags are now strings (nw) fix start project for custom builds in Visual Studio (nw)
* Revert "rest of device parameters to std::string (nw)" Miodrag Milanovic2016-01-201-2/+2
| | | | This reverts commit caba131d844ade3f2b30d6be24ea6cf46b2949d7.
* rest of device parameters to std::string (nw) Miodrag Milanovic2016-01-161-2/+2
|
* tags are now strings (nw) Miodrag Milanovic2016-01-161-14/+14
| | | | fix start project for custom builds in Visual Studio (nw)
* cleanup (nw) Miodrag Milanovic2015-12-261-1/+1
|
* clang-modernize part 3 Miodrag Milanovic2015-12-041-1/+1
|
* Fixed uninitialized class members Miodrag Milanovic2015-11-191-1/+1
|
* Rename *.c -> *.cpp in our source (nw) Miodrag Milanovic2015-11-081-0/+741