added skeleton 'Yamaha Mixt Book Player Copera' to the Sega Pico driver, it appears to be similar to the Pico but with extra sound hardware (a complete Sound Blaster clone) on the MB. Added a preliminary Softlist. Added board layouts for both [Team Europe]
EEPROMs.
Created atari_eeprom_device which wraps a 2804 or 2816 EEPROM with
the standard Atari write-locking mechanism. Updated all drivers to
use this, and removed all EEPROM stuff from atarigen.
more generally useful than just in tilemaps. Code is now in memarray.*
Converted the Atari RLE motion objects device from a half-assed
device into a full-assed device, leveraging the memory_array class.
subclass serial_eeprom_device. Moved the latter into its own file
eepromser.c and significantly cleaned up/simplified the code. The new
code should be functionally the same as the previous code, but expect that
to change soon. As a side-effect, the size and bus width of the EEPROM is now
specified in the ADD macro rather than in the interface structure.
- updated device_execute_interface::interface_post_reset so screen is searched
from same context
- removed tilelgcy.h since no more users exist
- made bfm_adr2 a device
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
- Corrected memory map errors with the SE and Classic
- Preliminary support for the SE's 68000 processor-direct slot
- Preliminary support for the Radius Full Page Display card which goes in the
SE PDS slot
Tilemap system: numerous changes:
* Moved remaining legacy macros and typedefs to tilelgcy.h. This revealed
a few drivers mixing and matching modern & legcy, which have now been
fixed.
* Changed get info callback signature to no longer pass the user_data
pointer, but instead pass a reference to the tilemap object itself.
Updated those few drivers using user_data to pull it out of the
tilemap object with the new user_data() getter method.
* Changed get info and mapping callbacks to be device_delegates so that
they can be described at config time.
* Added tilemap_memory object that is used internally for reading/
writing to memory that backs a tilemap. This object is used to track
a memory pointer that backs tilemap memory, and also is designed to
transparently handle all bus width and endianness associated with
reading and writing data in a tilemap.
* Incorporated two tilemap_memory objects (basemem and extmem) into the
tilemap object and added accessors to them, as well as read/write
handlers for reading/writing to entries stored in the memory. This
means that tilemap get info callbacks can now easily read data out of
the tilemap in a generic way.
* Rejiggered the initialization sequence for tilemap objects so that
the tilemap_manager is not required to be present at instantiation.
* Created a new tilemap_device, which can be used to declare a tilemap
in the machine config, and which also is a tilemap object itself.
The tilemap device will look for shared memory regions called
"<tag>" and "<tag>_ext" and automatically plug them into the tilemap.
The device also provides write handlers that can be used to write
to the tilemap memory and mark tiles dirty, saving the need for each
driver to write their own.
Device system: moved required/optional device finders to a new header
devfind.h.
Atari drivers: removed all playfield and alpha memory and tilemap
variables, apart from those needed by atarivc-using games (this will
become a device in a future update). Updated all Atari 16-bit drivers to
use the new tilemap_device instead, which provides all the needed
functionality in a more generic way.
yes, the filename is a bit ugly, but it's what it represents, I'll see if it can be further split into components later.
all users have been given a brief testing
(for MB-6892). For now these behave the same as bml3 (MB-6890).
Refactor disk controllers and kanji ROM as slot devices. This allows
switching between MP-1802 and MP-1805 disk controllers. MP-1805 disk
controller now works. Kanji ROM now works.
Keyboard scanning in 'counter disabled' mode now works.
imgtool: Add bml3 driver, supporting both single-density (MP-1805
controller) and double-density (MP-1802 controller) disks in D88 format.
mc6843: Work around floppy_get_device() not finding drives attached to a
slot device.Store all 8 bits in CTAR current track register, rather than
excluding bit 7 (needed for bml3 MP-1805 boot)
I have no interest in this *at all* but I keep getting bugged about it so I'm giving people a place to pt notes.
From an objective point of view we at least need somewhere to establish details and proper documentation about the hardware and what the original platform consists of in both terms of PC side, software side and original security side before the there is no hope at all due to the travesty being created by all the hacked to run on PC dumps or 'files copied from mounted encrypted partitions' type junk. That at least I feel is our duty because nobody else is going to care.
-m6809: Initially setting S with a 'TFR *,S' evidently should enable NMI [jedwidz]
-mc6845: Add rudimentary support for 'interlace and video' mode [jedwidz]