From 9ece34eb218c5c1960468294c733fd00ac7fa696 Mon Sep 17 00:00:00 2001 From: Firehawke Date: Wed, 13 Dec 2017 21:31:27 -0700 Subject: Revert "Revert "Merge branch 'master' of https://github.com/mamedev/mame"" This reverts commit 54155441e9ba9941e85d80c4834a66376a11e791. --- docs/source/license.rst | 2 +- docs/source/techspecs/device_rom_interface.rst | 26 ++++++++++++++++++++------ docs/source/whatis.rst | 2 +- 3 files changed, 22 insertions(+), 8 deletions(-) (limited to 'docs/source') diff --git a/docs/source/license.rst b/docs/source/license.rst index 1ce48503983..5b7e0a137a7 100644 --- a/docs/source/license.rst +++ b/docs/source/license.rst @@ -4,7 +4,7 @@ The MAME License The MAME project as a whole is distributed under the terms of the `GNU General Public License, version 2 or later `_ (GPL-2.0+), since it contains code made available under multiple GPL-compatible licenses. A great majority of files (over 90% including core files) are under the `BSD-3-Clause License `_ and we would encourage new contributors to distribute files under this license. -Please note that MAME is a registered trademark of Nicola Salmoria, and permission is required to use the "MAME" name, logo, or wordmark. +Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the "MAME" name, logo, or wordmark. Copyright (C) 1997-2017 MAMEDev and contributors diff --git a/docs/source/techspecs/device_rom_interface.rst b/docs/source/techspecs/device_rom_interface.rst index ab5eb18737b..3a40590fc01 100644 --- a/docs/source/techspecs/device_rom_interface.rst +++ b/docs/source/techspecs/device_rom_interface.rst @@ -15,7 +15,7 @@ as rom. In the region/block cases, banking is automatically handled. 2. Setup -------- -| **device_rom_interface**\ (const machine_config &mconfig, device_t &device, UINT8 addrwidth, endianness_t endian = ENDIANNESS_LITTLE, UINT8 datawidth = 8) +| **device_rom_interface**\ (const machine_config &mconfig, device_t &device, u8 addrwidth, endianness_t endian = ENDIANNESS_LITTLE, u8 datawidth = 8) The constructor of the interface wants, in addition to the standard parameters, the address bus width of the dedicated bus. In addition @@ -41,7 +41,16 @@ rom description for the system, it will be automatically picked up as the connected rom. An address map has priority over the region if present in the machine config. -| void **set_rom**\ (const void \*base, UINT32 size); +| void **set_rom_endianness**\ (endianness_t endian) +| void **set_rom_data_width**\ (u8 width) +| void **set_rom_addr_width**\ (u8 width) + +These methods, intended for generic devices with indefinite hardware +specifications, override the endianness, data bus width and address +bus width assigned through the constructor. They must be called from +within the device before **config_complete** time. + +| void **set_rom**\ (const void \*base, u32 size); At any time post- **interface_pre_start**, a memory block can be setup as the connected rom with that method. It overrides any @@ -51,10 +60,10 @@ times. 3. Rom access ------------- -| UINT8 **read_byte**\ (offs_t byteaddress) -| UINT16 **read_word**\ (offs_t byteaddress) -| UINT32 **read_dword**\ (offs_t byteaddress) -| UINT64 **read_qword**\ (offs_t byteaddress) +| u8 **read_byte**\ (offs_t byteaddress) +| u16 **read_word**\ (offs_t byteaddress) +| u32 **read_dword**\ (offs_t byteaddress) +| u64 **read_qword**\ (offs_t byteaddress) These methods provide read access to the connected rom. Out-of-bounds access results in standard unmapped read logerror messages. @@ -76,3 +85,8 @@ Using that interface makes the device derive from **device_memory_interface**. If the device wants to actually use the memory interface for itself, remember that AS_0/AS_PROGRAM is used by the rom interface, and don't forget to upcall **memory_space_config**. + +For devices which have outputs that can be used to address ROMs but +only to forward the data to another device for processing, it may be +helpful to disable the interface when it is not required. This can be +done by overriding **memory_space_config** to return an empty vector. diff --git a/docs/source/whatis.rst b/docs/source/whatis.rst index a057398c2ad..5c612960901 100644 --- a/docs/source/whatis.rst +++ b/docs/source/whatis.rst @@ -8,7 +8,7 @@ MAME's purpose is to preserve decades of software history. As electronic technol | | **MAME(R)** | **Copyright (c) 1997-2017 by Nicola Salmoria and the MAME team** -| **MAME is a trademark owned by Nicola Salmoria** +| **MAME is a trademark owned by Gregory Ember** | -- cgit v1.2.3-70-g09d2