-machine/intelfsh.cpp: Added Macronix 29F008TC (1M*8, 4K*8 pages).

-bgfx: Removed obsolete sample layout files, updated documentation.

New NOT_WORKING software list items (gbcolor.xml)
-------------------------------------------------
Chāojí Gédòu 2001 Alpha (Taiwan) [taizou]
Gédòu Jiàn Shén - Soul Falchion (Taiwan) [taizou]
This commit is contained in:
Vas Crabb 2022-09-06 07:05:25 +10:00
parent 13ac18b57c
commit b56cd5707f
8 changed files with 247 additions and 151 deletions

View File

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<mamelayout version="2">
<view name="Horizontal">
<screen index="0">
<bounds left="2" top="0" right="14" bottom="9" />
</screen>
<screen index="0">
<bounds left="0" top="0" right="2" bottom="9" />
</screen>
<screen index="0">
<bounds left="14" top="0" right="16" bottom="9" />
</screen>
</view>
<view name="Vertical">
<screen index="0">
<bounds left="18.5" top="0" right="45.5" bottom="36" />
</screen>
<screen index="0">
<bounds left="0" top="0" right="18.5" bottom="36" />
</screen>
<screen index="0">
<bounds left="45.5" top="0" right="64" bottom="36" />
</screen>
</view>
</mamelayout>

View File

@ -1,25 +0,0 @@
<?xml version="1.0"?>
<mamelayout version="2">
<view name="Horizontal">
<screen index="0">
<bounds left="0" top="0" right="2" bottom="9" />
</screen>
<screen index="0">
<bounds left="14" top="0" right="16" bottom="9" />
</screen>
<screen index="0">
<bounds left="2" top="0" right="14" bottom="9" />
</screen>
</view>
<view name="Vertical">
<screen index="0">
<bounds left="0" top="0" right="18.5" bottom="36" />
</screen>
<screen index="0">
<bounds left="45.5" top="0" right="64" bottom="36" />
</screen>
<screen index="0">
<bounds left="18.5" top="0" right="45.5" bottom="36" />
</screen>
</view>
</mamelayout>

View File

@ -1,121 +1,216 @@
BGFX Effects for (nearly) Everyone
==================================
By default, MAME outputs an idealized version of the video as it would be on the way to the arcade cabinet's monitor, with minimal modification of the output (primarily to stretch the game image back to the aspect ratio the monitor would traditionally have, usually 4:3) -- this works well, but misses some of the nostalgia factor. Arcade monitors were never ideal, even in perfect condition, and the nature of a CRT display distorts that image in ways that change the appearance significantly.
.. contents:: :local:
Modern LCD monitors simply do not look the same, and even computer CRT monitors cannot match the look of an arcade monitor without help.
That's where the new BGFX renderer with HLSL comes into the picture.
Introduction
------------
HLSL simulates most of the effects that a CRT arcade monitor has on the video, making the result look a lot more authentic. However, HLSL requires some effort on the user's part: the settings you use are going to be tailored to your PC's system specs, and especially the monitor you're using. Additionally, there were hundreds of thousands of monitors out there in arcades. Each was tuned and maintained differently, meaning there is no one correct appearance to judge by either. Basic guidelines will be provided here to help you, but you may also wish to ask for opinions on popular MAME-centric forums.
By default, MAME outputs an idealized version of the video as it would be on the
way to the arcade cabinets monitor, with minimal modification of the output
(primarily to stretch the game image back to the aspect ratio the monitor would
traditionally have, usually 4:3). This works well, but misses some of the
nostalgia factor. Arcade monitors were never ideal, even in perfect condition,
and the nature of a CRT display distorts that image in ways that change the
appearance significantly.
Modern LCD monitors simply do not look the same, and even computer CRT monitors
cannot match the look of an arcade monitor without help.
Thats where the new BGFX renderer with HLSL comes into the picture.
HLSL simulates most of the effects that a CRT arcade monitor has on the video,
making the result look a lot more authentic. However, HLSL requires some effort
on the users part: the settings you use are going to be tailored to your PCs
system specs, and especially the monitor youre using. Additionally, there were
hundreds of thousands of monitors out there in arcades. Each was tuned and
maintained differently, meaning there is no one correct appearance to judge by
either. Basic guidelines will be provided here to help you, but you may also
wish to ask for opinions on popular MAME-centric forums.
Resolution and Aspect Ratio
---------------------------
Resolution is a very important subject for HLSL settings. You will want MAME to be using the native resolution of your monitor to avoid additional distortion and lag created by your monitor upscaling the display image.
Resolution is a very important subject for HLSL settings. You will want MAME to
be using the native resolution of your monitor to avoid additional distortion
and lag caused by your monitor upscaling the display image.
While most arcade machines used a 4:3 ratio display (or 3:4 for vertically oriented monitors like Pac-Man), it's difficult to find a consumer display that is 4:3 at this point. The good news is that that extra space on the sides isn't wasted. Many arcade cabinets used bezel artwork around the main display, and should you have the necessary artwork files, MAME will display that artwork. Turn the artwork view to Cropped for best results.
While most arcade machines used a 4:3 ratio display (or 3:4 for vertically
oriented monitors like Pac-Man), its difficult to find a consumer display that
is 4:3 at this point. The good news is that that extra space on the sides isnt
wasted. Many arcade cabinets used bezel artwork around the main display, and
should you have the necessary artwork files, MAME will display that artwork.
Turn the **Zoom to Screen Area** setting in the video options menu to scale and
crop the artwork so the emulated screen fills your display in one direction.
Some older LCD displays used a native resolution of 1280x1024 and were a 5:4 aspect ratio. There's not enough extra space to display artwork, and you'll end up with some very slight pillarboxing, but the results will be still be good and on-par with a 4:3 monitor.
Some older LCD displays used a native resolution of 1280×1024 and were a 5:4
aspect ratio. Theres not enough extra space to display artwork, and youll end
up with some very slight pillarboxing, but the results will be still be good and
on-par with a 4:3 monitor.
Getting Started with BGFX
-------------------------
You will need to have followed the initial MAME setup instructions elsewhere in this manual before beginning. Official MAME distributions include BGFX as of MAME 0.172, so you don't need to download any additional files.
You will need to have followed the initial MAME setup instructions elsewhere in
this manual before beginning. Official MAME distributions include BGFX as of
MAME 0.172, so you dont need to download any additional files.
Open your ``mame.ini`` in your text editor of choice (e.g. Notepad), and make sure the following options are set correctly:
Open your ``mame.ini`` file in your text editor of choice (e.g. Notepad), and
make sure the following options are set correctly:
* ``video bgfx``
Now, you may want to take a moment to look below at the Configuration Settings section to see how to set up these next options.
Now, you may want to take a moment to look below at the Configuration Settings
section to see how to set up these next options.
As referenced in :ref:`advanced-multi-CFG`, MAME has a order in which it processes INI files. The BGFX settings can be edited in ``mame.ini``, but to take full advantage of the power of MAME's config files, you'll want to copy the BGFX settings from ``mame.ini`` to one of the other config files and make changes there.)
As explained in :ref:`advanced-multi-CFG`, MAME has a order in which it
processes INI files. The BGFX settings can be edited in ``mame.ini``, but to
take full advantage of the power of MAMEs configuration files, youll want to
copy the BGFX settings from ``mame.ini`` to one of the other configuration files
and make changes there.
In particular, you will want the ``bgfx_screen_chains`` to be specific to each game.
In particular, you will want the ``bgfx_screen_chains`` to be specific to each
game.
Save your INI file(s) and youre ready to begin.
Save your .INI file(s) and you're ready to begin.
Configuration Settings
----------------------
| **bgfx_path**
|
| This is where your BGFX shader files are stored. By default, this will be the BGFX folder in your MAME installation.
|
| **bgfx_backend**
|
| Selects a rendering backend for BGFX to use. Possible choices include ``d3d9``, ``d3d11``, ``d3d12``, ``opengl``, ``metal``, and ```vulkan``. The default is ``**auto**``, which will let MAME choose the best selection for you.
|
| ``d3d9`` -- Direct3D 9.0 Renderer (Requires Windows XP or higher)
| ``d3d11`` -- Direct3D 11.0 Renderer (Requires Windows Vista with D3D11 update or Windows 7 or higher)
| ``d3d12`` -- Direct3D 12.0 Renderer (Requires Windows 10)
| ``opengl`` -- OpenGL Renderer (Requires OpenGL drivers, may work better on some poorly designed video cards, supported on Linux/Mac OS X)
| ``metal`` -- Metal Apple Graphics API (Requires OS X 10.11 El Capitan or newer)
| ``vulkan`` -- Vulkan Renderer
|
| **bgfx_debug**
|
| Enables BGFX debugging features. Most users will not need to use this.
|
| **bgfx_screen_chains**
|
| This dictates how to handle BGFX rendering on a per-display basis. Possible choices include ``hlsl``, ``unfiltered``, and ``default``.
|
| ``default`` -- **default** bilinear filterered output
| ``unfiltered`` -- nearest neighbor unfiltered output
| ``hlsl`` -- HLSL display simulation through shaders
|
| We make a distinction between emulated device screens (which we'll call a **screen**) and physical displays (which we'll call a **window**, set by ``-numscreens``) here. We use colons (:) to seperate windows, and commas (,) to seperate screens. Commas always go on the outside of the chain (see House Mannequin example)
|
| On a combination of a single window, single screen case, such as Pac-Man on one physical PC monitor, you can specify one entry like:
|
| **bgfx_screen_chains hlsl**
|
| Things get only slightly more complicated when we get to multiple windows and multiple screens.
|
| On a single window, multiple screen game, such as Darius on one physical PC monitor, specify multiple entries (one per window) like:
|
| bgfx_screen_chains hlsl,hlsl,hlsl
|
| This also works with single screen games where you are mirroring the output to more than one physical display. For instance, you could set up Pac-Man to have one unfiltered output for use with video broadcasting while a second display is set up HLSL for playing on.
|
| On a mulitple window, multiple screen game, such as Darius on three physical PC monitors, specify multiple entries (one per window) like:
|
| ``bgfx_screen_chains hlsl:hlsl:hlsl``
|
| Another example game would be Taisen Hot Gimmick, which used two CRTs to show individual player hands to just that player. If using two windows (two physical displays):
|
| ``bgfx_screen_chains hlsl:hlsl``
|
| One more special case is that Nichibutsu had a special cocktail mahjongg cabinet that used a CRT in the middle along with two LCD displays to show each player their hand. We would want the LCDs to be unfiltered and untouched as they were, while the CRT would be improved through HLSL. Since we want to give each player their own full screen display (two physical monitors) along with the LCD, we'll go with:
|
| **-numscreens 2 -view0 "Player 1" -view1 "Player 2" -video bgfx -bgfx_screen_chains hlsl,unfiltered,unfiltered:hlsl,unfiltered,unfiltered**
|
| This sets up the view for each display respectively, keeping HLSL effect on the CRT for each window (physical display) while going unfiltered for the LCD screens.
|
| If using only one window (one display), keep in mind the game still has three screens, so we would use:
|
| ``bgfx_screen_chains hlsl,unfiltered,unfiltered``
|
|
| Note that the commas are on the outside edges, and any colons are in the middle.
|
| ``bgfx_shadow_mask``
|
| This specifies the shadow mask effect PNG file. By default this is ``**slot-mask.png**``.
|
|
bgfx_path
This is where your BGFX shader files are stored. By default, this will be
the *bgfx* folder in your MAME installation folder.
bgfx_backend
Selects a rendering backend for BGFX to use. Possible choices include
``d3d9``, ``d3d11``, ``d3d12``, ``opengl``, ``gles``, ``metal``, and
```vulkan``. The default is ``**auto**``, which will let MAME choose the
best selection for you.
* ``d3d9`` -- Direct3D 9.0 Renderer (Requires Windows XP or higher)
* ``d3d11`` -- Direct3D 11.0 Renderer (Requires Windows Vista with
Direct3D 11 update, or Windows 7 or higher)
* ``d3d12`` -- Direct3D 12.0 Renderer (Requires Windows 10 or higher)
* ``opengl`` -- OpenGL Renderer (Requires OpenGL drivers, may work better on
some video cards, supported on Linux and macOS)
* ``gles`` -- OpenGL ES Renderer (Supported with some low-power GPUs)
* ``metal`` -- Apple Metal Graphics API (Requires macOS 10.11 El Capitan or
newer)
* ``vulkan`` -- Vulkan Renderer (Requires Windows or Linux with compatible
GPU drivers.
bgfx_debug
Enables BGFX debugging features. Most users will not need to use this.
bgfx_screen_chains
This dictates how to handle BGFX rendering on a per-display basis. Possible
choices include ``hlsl``, ``unfiltered``, and ``default``.
* ``default`` -- **default** bilinear filtered output
* ``unfiltered`` -- nearest neighbor sampled output
* ``hlsl`` -- display simulation through shaders
* ``crt-geom`` -- lightweight CRT simulation
* ``crt-geom-deluxe`` -- more detailed CRT simulation
* ``lcd-grid`` -- LCD matrix simulation
We make a distinction between emulated screens (which well call a *screen*)
and output windows or monitors (which well call a *window*, set by the
``-numscreens`` option) here. Use colons (:) to separate windows, and
commas (,) to separate screens in the ``-bgfx_screen_chains`` setting value.
For the simple single window, single screen case, such as Pac-Man on one
physical PC monitor, you can specify one entry like::
bgfx_screen_chains hlsl
Things get only slightly more complicated when we get to multiple windows
and multiple screens.
On a single window, multiple screen game, such as Darius on one physical PC
monitor, specify screen chains (one per window) like::
bgfx_screen_chains hlsl,hlsl,hlsl
This also works with single screen games where you are mirroring the output
to more than one physical display. For instance, you could set up Pac-Man
to have one unfiltered output for use with video broadcasting while a second
display is set up HLSL for playing on.
On a multiple window, multiple screen game, such as Darius on three physical
PC monitors, specify multiple entries (one per window) like::
bgfx_screen_chains hlsl:hlsl:hlsl
Another example game would be Taisen Hot Gimmick, which used two CRTs to
show individual player hands to just that player. If using two windows (two
physical displays)::
bgfx_screen_chains hlsl:hlsl
One more special case is that Nichibutsu had a special cocktail mahjong
cabinet that used a CRT in the middle along with two LCD displays to show
each player their hand. We would want the LCDs to be unfiltered and
untouched as they were, while the CRT would be improved through HLSL. Since
we want to give each player their own full screen display (two physical
monitors) along with the LCD, well go with::
-numscreens 2 -view0 "Player 1" -view1 "Player 2" -video bgfx -bgfx_screen_chains hlsl,unfiltered,unfiltered:hlsl,unfiltered,unfiltered
This sets up the view for each display respectively, keeping HLSL effect on
the CRT for each window (physical display) while going unfiltered for the
LCD screens.
If using only one window (one display), keep in mind the game still has
three screens, so we would use::
bgfx_screen_chains hlsl,unfiltered,unfiltered``
Note that the commas are on the outside edges, and any colons are in the
middle.
bgfx_shadow_mask
This specifies the shadow mask effect PNG file. By default this is
**slot-mask.png**.
Tweaking BGFX HLSL Settings inside MAME
---------------------------------------
*Warning: Currently BGFX HLSL settings are not saved or loaded from any configuration files. This is expected to change in the future.*
*Warning: Currently BGFX HLSL settings are not saved or loaded from any
configuration files. This is expected to change in the future.*
Start by loading MAME with the game of your choice (e.g. **mame pacman**)
Start by loading MAME with the game of your choice (e.g. **mame pacman**).
The tilde key (**~**) brings up the on-screen display options. Use up and down to go through the various settings, while left and right will allow you to change that setting. Results will be shown in real time as you're changing these settings.
The tilde key (**~**) brings up the on-screen display options. Use up and down
to go through the various settings, while left and right will allow you to
change that setting. Results will be shown in real time as youre changing
these settings.
Note that settings are individually changable on a per-screen basis.
Note that settings are individually changeable on a per-screen basis.
Using the included pillarbox filters
------------------------------------
MAME includes example BGFX shaders and layouts for filling unused space on a
16:9 widescreen display with a blurred version of the emulated video. The all
the necessary files are included, and just need to be enabled.
For systems using 4:3 horizontal monitors, use these options::
-override_artwork bgfx/border_blur -view Horizontal -bgfx_screen_chains crt-geom,pillarbox_left_horizontal,pillarbox_right_horizontal
For systems using 3:4 vertical monitors, use these options::
-override_artwork bgfx/border_blur -view Vertical -bgfx_screen_chains crt-geom,pillarbox_left_vertical,pillarbox_right_vertical
* You can use a different setting in place of ``crt-geom`` for the effect to
apply to the primary screen image in the centre (e.g. ``default``, ``hlsl`` or
``lcd-grid``).
* If youve previously changed the view for the system in MAME, the correct
pillarboxed view will not be selected by default. Use the video options menu
to select the correct view.
* You can add these settings to an INI file to have them apply to certain
systems automatically (e.g. **horizont.ini** or **vertical.ini**, or the INI
file for a specific system).

View File

@ -14634,7 +14634,8 @@ license:CC0
</part>
</software>
<software name="netdeget">
<!-- requires Flash storage and Mobile Adapter emulation -->
<software name="netdeget" supported="partial">
<description>Net de Get - Minigame @ 100 (Japan)</description>
<year>2001</year>
<publisher>Konami</publisher>
@ -14653,7 +14654,7 @@ license:CC0
<dataarea name="rom" size="1048576">
<rom name="cgb-bmvj-0.u1" size="1048576" crc="6e33d509" sha1="819efde3ebd0f52b080a8307979803914d029035"/>
</dataarea>
<dataarea name="ram" size="32768">
<dataarea name="nvram" size="32768">
</dataarea>
</part>
</software>
@ -26325,6 +26326,19 @@ license:CC0
</part>
</software>
<software name="cjgedou" supported="no">
<description>Chāojí Gédòu 2001 Alpha (Taiwan)</description>
<year>200?</year>
<publisher>Vast Fame</publisher>
<info name="alt_title" value="超級格鬥2001α"/> <!-- translates to "Super Fight 2001 Alpha" -->
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc5" /> <!-- TODO: set properly when protection is emulated -->
<dataarea name="rom" size="2097152">
<rom name="Chao Ji Ge Dou 2001 Alpha (Unl) [C] [Raw].gbc" size="2097152" crc="afd7a0cc" sha1="f44f629687ec91aade40ff52014587003f728ec9"/>
</dataarea>
</part>
</software>
<software name="emodao">
<description>E Mo Dao (China, ripped from 8 in 1 multicart)</description>
<year>200?</year>
@ -26887,11 +26901,27 @@ license:CC0
</part>
</software>
<software name="soulfalc">
<description>Soul Falchion - Ge Dou Jian Shen (China)</description>
<software name="soulfalc" supported="no">
<description>Gédòu Jiàn Shén - Soul Falchion (Taiwan)</description>
<year>2002</year>
<publisher>V.Fame</publisher>
<info name="alt_title" value="格鬥劍神 Soul Falchion"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc5" /> <!-- TODO: set properly when protection is emulated -->
<dataarea name="rom" size="1048576">
<rom name="Ge Dou Jian Shen - Soul Falchion (Unl) [C] [Raw].gbc" size="1048576" crc="1b1c6f68" sha1="fd06c62b42878e8094e610b180c1848c785f67e9"/>
</dataarea>
<dataarea name="nvram" size="32768">
</dataarea>
</part>
</software>
<!-- is this a deprotected hack? -->
<software name="soulfalcc">
<description>Gédòu Jiàn Shén - Soul Falchion (China)</description>
<year>2002</year>
<publisher>V.Fame ~ Guangzhou Li Cheng</publisher>
<info name="alt_title" value="格鬥劍神"/>
<info name="alt_title" value="格斗劍神 Soul Falchion"/>
<part name="cart" interface="gameboy_cart">
<feature name="slot" value="rom_mbc5" />
<dataarea name="rom" size="1048576">

View File

@ -9,6 +9,7 @@
#include "bus/generic/slot.h"
//#define VERBOSE 1
//#define LOG_OUTPUT_FUNC osd_printf_info
#include "logmacro.h"

View File

@ -17,6 +17,7 @@
#include <cstring>
//#define VERBOSE 1
//#define LOG_OUTPUT_FUNC osd_printf_info
#include "logmacro.h"

View File

@ -95,6 +95,7 @@ DEFINE_DEVICE_TYPE(FUJITSU_29DL164BD, fujitsu_29dl164bd_device, "mbm29dl
DEFINE_DEVICE_TYPE(FUJITSU_29LV002TC, fujitsu_29lv002tc_device, "mbm29lv002tc", "Fujitsu MBM29LV002TC Flash")
DEFINE_DEVICE_TYPE(FUJITSU_29LV800B, fujitsu_29lv800b_device, "mbm29lv800b", "Fujitsu MBM29LV800B Flash")
DEFINE_DEVICE_TYPE(INTEL_E28F400B, intel_e28f400b_device, "intel_e28f400b", "Intel E28F400B Flash")
DEFINE_DEVICE_TYPE(MACRONIX_29F008TC, macronix_29f008tc_device, "macronix_29f008tc", "Macronix 29F008TC Flash")
DEFINE_DEVICE_TYPE(MACRONIX_29L001MC, macronix_29l001mc_device, "macronix_29l001mc", "Macronix 29L001MC Flash")
DEFINE_DEVICE_TYPE(MACRONIX_29LV160TMC, macronix_29lv160tmc_device, "macronix_29lv160tmc", "Macronix 29LV160TMC Flash")
DEFINE_DEVICE_TYPE(TMS_29F040, tms_29f040_device, "tms_29f040", "Texas Instruments 29F040 Flash")
@ -353,6 +354,13 @@ intelfsh_device::intelfsh_device(const machine_config &mconfig, device_type type
m_maker_id = MFG_SHARP;
m_device_id = 0xb5;
break;
case FLASH_MACRONIX_29F008TC:
m_bits = 8;
m_size = 0x100000;
m_maker_id = MFG_MACRONIX;
m_device_id = 0x81;
m_sector_is_4k = true;
break;
case FLASH_MACRONIX_29L001MC:
m_bits = 8;
m_size = 0x20000;
@ -465,6 +473,9 @@ cat28f020_device::cat28f020_device(const machine_config &mconfig, const char *ta
intel_e28f008sa_device::intel_e28f008sa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: intelfsh8_device(mconfig, INTEL_E28F008SA, tag, owner, clock, FLASH_INTEL_E28F008SA) { }
macronix_29f008tc_device::macronix_29f008tc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: intelfsh8_device(mconfig, MACRONIX_29F008TC, tag, owner, clock, FLASH_MACRONIX_29F008TC) { }
macronix_29l001mc_device::macronix_29l001mc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: intelfsh8_device(mconfig, MACRONIX_29L001MC, tag, owner, clock, FLASH_MACRONIX_29L001MC) { }

View File

@ -34,6 +34,7 @@ public:
FLASH_SHARP_LH28F016S,
FLASH_SHARP_LH28F016S_16BIT,
FLASH_INTEL_E28F008SA,
FLASH_MACRONIX_29F008TC,
FLASH_MACRONIX_29L001MC,
FLASH_MACRONIX_29LV160TMC,
FLASH_PANASONIC_MN63F805MNP,
@ -81,27 +82,27 @@ protected:
optional_memory_region m_region;
// configuration state
uint32_t m_type;
int32_t m_size;
uint8_t m_bits;
uint32_t m_addrmask;
uint16_t m_device_id;
uint8_t m_maker_id;
uint32_t m_type;
int32_t m_size;
uint8_t m_bits;
uint32_t m_addrmask;
uint16_t m_device_id;
uint8_t m_maker_id;
bool m_sector_is_4k;
bool m_sector_is_16k;
bool m_top_boot_sector;
bool m_bot_boot_sector;
uint8_t m_page_size;
uint8_t m_page_size;
// internal state
std::unique_ptr<uint8_t[]> m_data;
uint8_t m_status;
int32_t m_erase_sector;
int32_t m_flash_mode;
uint8_t m_status;
int32_t m_erase_sector;
int32_t m_flash_mode;
bool m_flash_master_lock;
emu_timer * m_timer;
int32_t m_bank;
uint8_t m_byte_count;
int32_t m_bank;
uint8_t m_byte_count;
};
@ -246,6 +247,12 @@ public:
intel_e28f008sa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
class macronix_29f008tc_device : public intelfsh8_device
{
public:
macronix_29f008tc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
class macronix_29l001mc_device : public intelfsh8_device
{
public:
@ -392,6 +399,7 @@ DECLARE_DEVICE_TYPE(FUJITSU_29DL164BD, fujitsu_29dl164bd_device)
DECLARE_DEVICE_TYPE(FUJITSU_29LV002TC, fujitsu_29lv002tc_device)
DECLARE_DEVICE_TYPE(FUJITSU_29LV800B, fujitsu_29lv800b_device)
DECLARE_DEVICE_TYPE(INTEL_E28F400B, intel_e28f400b_device)
DECLARE_DEVICE_TYPE(MACRONIX_29F008TC, macronix_29f008tc_device)
DECLARE_DEVICE_TYPE(MACRONIX_29L001MC, macronix_29l001mc_device)
DECLARE_DEVICE_TYPE(MACRONIX_29LV160TMC, macronix_29lv160tmc_device)
DECLARE_DEVICE_TYPE(TMS_29F040, tms_29f040_device)