summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/release/build/newsrc.bat9
-rw-r--r--docs/release/docs/SDL.txt377
-rw-r--r--docs/release/docs/config.txt1265
-rw-r--r--docs/release/docs/floppy.txt634
-rw-r--r--docs/release/docs/hlsl.txt132
-rw-r--r--docs/release/docs/imgtool.txt578
-rw-r--r--docs/release/docs/license.txt1
-rw-r--r--docs/release/docs/mame.txt66
-rw-r--r--docs/release/docs/newvideo.txt147
-rw-r--r--docs/release/docs/nscsi.txt235
-rw-r--r--docs/release/docs/windows.txt371
-rw-r--r--docs/release/hbmame177s.rar (renamed from docs/release/hbmame176s.rar)bin21495623 -> 21453562 bytes
-rw-r--r--docs/release/scripts/build/makedep.py3
-rw-r--r--docs/release/scripts/genie.lua48
-rw-r--r--docs/release/scripts/src/3rdparty.lua284
-rw-r--r--docs/release/scripts/src/bus.lua53
-rw-r--r--docs/release/scripts/src/devices.lua2
-rw-r--r--docs/release/scripts/src/emu.lua9
-rw-r--r--docs/release/scripts/src/formats.lua1722
-rw-r--r--docs/release/scripts/src/lib.lua334
-rw-r--r--docs/release/scripts/src/machine.lua13
-rw-r--r--docs/release/scripts/src/main.lua21
-rw-r--r--docs/release/scripts/src/netlist.lua22
-rw-r--r--docs/release/scripts/src/osd/modules.lua4
-rw-r--r--docs/release/scripts/src/osd/windows.lua2
-rw-r--r--docs/release/scripts/src/sound.lua13
-rw-r--r--docs/release/scripts/src/video.lua12
-rw-r--r--docs/release/scripts/target/hbmame/hbmame.lua2
-rw-r--r--docs/release/scripts/target/mame/arcade.lua68
-rw-r--r--docs/release/scripts/target/mame/mame.lua3
-rw-r--r--docs/release/scripts/target/mame/mess.lua159
-rw-r--r--docs/release/scripts/target/mame/nl.lua2
-rw-r--r--docs/release/scripts/target/mame/virtual.lua95
-rw-r--r--docs/release/scripts/target/zexall/zexall.lua4
-rw-r--r--docs/release/scripts/toolchain.lua9
-rw-r--r--docs/release/src/emu/digfx.h2
-rw-r--r--docs/release/src/emu/validity.cpp8
-rw-r--r--docs/release/src/emu/video.cpp6
-rw-r--r--docs/release/src/frontend/mame/audit.cpp13
-rw-r--r--docs/release/src/frontend/mame/audit.h2
-rw-r--r--docs/release/src/hbmame/bus/neogeo/neogeo_slot.cpp6
-rw-r--r--docs/release/src/hbmame/bus/neogeo/neogeo_slot.h3
-rw-r--r--docs/release/src/hbmame/bus/neogeo_ctrl/mahjong.cpp14
-rw-r--r--docs/release/src/hbmame/drivers/cps2.cpp509
-rw-r--r--docs/release/src/hbmame/drivers/dotrikun.cpp (renamed from docs/release/src/hbmame/drivers/mineswp.cpp)126
-rw-r--r--docs/release/src/hbmame/drivers/mmagic.cpp2
-rw-r--r--docs/release/src/hbmame/drivers/neogeo.cpp6
-rw-r--r--docs/release/src/hbmame/drivers/neogeohb.cpp54
-rw-r--r--docs/release/src/hbmame/drivers/pacman.cpp18
-rw-r--r--docs/release/src/hbmame/drivers/pgm.cpp16
-rw-r--r--docs/release/src/hbmame/drivers/spacmiss.cpp8
-rw-r--r--docs/release/src/hbmame/hbmame.lst39
-rw-r--r--docs/release/src/hbmame/hbmame.mak1
-rw-r--r--docs/release/src/hbmame/includes/galaxian.h6
-rw-r--r--docs/release/src/hbmame/includes/pacman.h3
-rw-r--r--docs/release/src/hbmame/machine/ng_memcard.cpp14
-rw-r--r--docs/release/src/hbmame/machine/ng_memcard.h4
-rw-r--r--docs/release/src/hbmame/video/cps1.cpp10
-rw-r--r--docs/release/src/hbmame/video/pacman.cpp4
-rw-r--r--docs/release/src/osd/winui/hbmameui.rc4
-rw-r--r--docs/release/src/osd/winui/mui_util.cpp5
-rw-r--r--docs/release/src/osd/winui/newui.cpp4
-rw-r--r--docs/release/src/osd/winui/properties.cpp6
-rw-r--r--docs/release/src/osd/winui/win_options.h3
-rw-r--r--docs/release/src/version.cpp2
65 files changed, 3029 insertions, 4568 deletions
diff --git a/docs/release/build/newsrc.bat b/docs/release/build/newsrc.bat
index 06cf3aa1547..0049e45a531 100644
--- a/docs/release/build/newsrc.bat
+++ b/docs/release/build/newsrc.bat
@@ -37,16 +37,7 @@ xcopy /E /Y %from%\scripts %to%\scripts
rem convert all the unix documents to windows format for notepad
type %from%\docs\BSD3Clause.txt | MORE /P > %to%\docs\BSD3Clause.txt
-type %from%\docs\config.txt | MORE /P > %to%\docs\config.txt
-type %from%\docs\floppy.txt | MORE /P > %to%\docs\floppy.txt
-type %from%\docs\hlsl.txt | MORE /P > %to%\docs\hlsl.txt
-type %from%\docs\imgtool.txt | MORE /P > %to%\docs\imgtool.txt
-type %from%\docs\mame.txt | MORE /P > %to%\docs\mame.txt
type %from%\docs\LICENSE | MORE /P > %to%\docs\license.txt
-type %from%\docs\newvideo.txt | MORE /P > %to%\docs\newvideo.txt
-type %from%\docs\nscsi.txt | MORE /P > %to%\docs\nscsi.txt
-type %from%\docs\SDL.txt | MORE /P > %to%\docs\SDL.txt
-type %from%\docs\windows.txt | MORE /P > %to%\docs\windows.txt
type %from%\docs\winui_license.txt | MORE /P > %to%\docs\winui_license.txt
pause
diff --git a/docs/release/docs/SDL.txt b/docs/release/docs/SDL.txt
deleted file mode 100644
index 4794068b5fb..00000000000
--- a/docs/release/docs/SDL.txt
+++ /dev/null
@@ -1,377 +0,0 @@
-This file describes SDL-specific usage information about MAME. It is
-intended to cover aspects of using and configuring the program that are
-specific to running MAME from the command line on any system which is
-supported by SDL (including Windows).
-
-In addition to the keys described in config.txt, the following additional
-keys are defined for SDL-specific versions of MAME:
-
-
-
-Debugging options
------------------
-
--[no]oslog
-
- Outputs the error.log data to the stderr TTY channel (usually the
- command line window MAME was started in). This can be used at
- the same time as -log to output the log data to both targets as well.
- Default is OFF (-nooslog).
-
--watchdog <duration> / -wdog <duration>
-
- Enables an internal watchdog timer that will automatically kill the MAME
- process if more than <duration> seconds passes without a frame update.
- Keep in mind that some games sit for a while during load time without
- updating the screen, so <duration> should be long enough to cover that.
- 10-30 seconds on a modern system should be plenty in general. By default
- there is no watchdog.
-
-
-
-Performance options
--------------------
-
--[no]multithreading / -[no]mt
-
- Enables multithreading for the final drawing operation. This can help
- performance on multicore/hyperthreaded systems with slow video cards,
- but may cause undesired behavior in some games.
- Note that some drivers in MAME and MESS will use multiple threads even
- when this is set to OFF, assuming -numprocessors allows it.
- The default is OFF (-nomultithreading).
-
--numprocessors <auto|value> / -np <auto|value>
-
- Specify the number of processors to use for work queues. Specifying
- "auto" will use the value reported by the system or environment
- variable OSDPROCESSORS. To avoid abuse, this value is internally limited
- to 4 times the number of processors reported by the system.
- The default is "auto".
-
--sdlvideofps
-
- Enable output of benchmark data on the SDL video subsystem, including
- your system's video driver, X server (if applicable), and OpenGL stack
- in -video opengl mode.
-
--bench [n]
-
- Benchmark for [n] number of emulated seconds; implies the command string:
- -str [n] -video none -sound none -nothrottle. Default is OFF (-nobench)
-
-
-
-Video options
--------------
-
--video <soft|opengl|none>
-
- Specifies which video subsystem to use for drawing. The default for
- Mac OS X is 'opengl' because OS X is guaranteed to have a compliant
- OpenGL stack. The default on all other systems is 'soft'.
-
--numscreens <count>
-
- Tells MAME how many output windows to create. For most games, a single
- output window is all you need, but some games originally used multiple
- screens. Each screen (up to 4) has its own independent settings for
- physical monitor, aspect ratio, resolution, and view, which can be
- set using the options below. The default is 1. SDL currently has a
- limit of 1 with the expectation of increasing this when SDL 2.0 is
- released.
-
--[no]window / -[no]w
-
- Run MAME in either a window or full screen. The default is OFF
- (-nowindow).
-
--[no]maximize / -[no]max
-
- Controls initial window size in windowed mode. If it is set on, the
- window will initially be set to the maximum supported size when you
- start MAME. If it is turned off, the window will start out at the
- smallest supported size. This option only has an effect when the
- -window option is used. The default is ON (-maximize).
-
--[no]keepaspect / -[no]ka
-
- Enables aspect ratio enforcement. When this option is on, the game's
- proper aspect ratio (generally 4:3 or 3:4) is enforced, so you get the
- game looking like it should. When running in a window with this option
- on, you can only resize the window to the proper aspect ratio, unless
- you are holding down the CONTROL key. By turning the option off, the
- aspect ratio is allowed to float. In full screen mode, this means that
- all games will stretch to the full screen size (even vertical games).
- In window mode, it means that you can freely resize the window without
- any constraints. The default is ON (-keepaspect).
-
--[no]unevenstretch
-
- Allow non-integer stretch factors allowing for great window sizing
- flexability. The default is ON. (-unevenstretch)
-
--[no]centerh
-
- Center horizontally within the view area. Default is ON (-centerh).
-
--[no]centerv
-
- Center vertically within the view area. Default is ON (-centerv).
-
--[no]waitvsync
-
- Waits for the refresh period on your computer's monitor to finish
- before starting to draw video to your screen. If this option is off,
- MAME will just draw to the screen at any old time, even in the middle
- of a refresh cycle. This can cause "tearing" artifacts, where the top
- portion of the screen is out of sync with the bottom portion. Tearing
- is not noticeable on all games, and some people hate it more than
- others. However, if you turn this option on, you will waste more of
- your CPU cycles waiting for the proper time to draw, so you will see a
- performance hit. You should only need to turn this on in windowed mode.
- In full screen mode, it is only needed if -triplebuffer does not
- remove the tearing, in which case you should use -notriplebuffer
- -waitvsync. Note that support for this option depends entirely on your
- operating system and video drivers; in general it will not work in
- windowed mode so -video opengl and fullscreen give the greatest chance
- of success.
- The default is OFF (-nowaitvsync).
-
--[no]syncrefresh
-
- Enables speed throttling only to the refresh of your monitor. This
- means that the game's actual refresh rate is ignored; however, the
- sound code still attempts to keep up with the game's original refresh
- rate, so you may encounter sound problems. This option is intended
- mainly for those who have tweaked their video card's settings to
- provide carefully matched refresh rate options. Note that this option
- does not work with -video gdi mode.The default is OFF (-nosyncrefresh).
-
-
-
-Video soft-specific options
----------------------------
-
--scalemode
-
- Scale mode: none, async, yv12, yuy2, yv12x2, yuy2x2 (-video soft only)
- Default is 'none'.
-
-
-
-Video OpenGL-specific options
------------------------------
-
--[no]filter / -[no]flt
-
- Enable bilinear filtering on the game screen graphics. When disabled,
- point filtering is applied, which is crisper but leads to scaling
- artifacts. If you don't like the filtered look, you are probably better
- off increasing the -prescale value rather than turning off filtering
- altogether. The default is ON (-filter).
-
--prescale <amount>
-
- Controls the size of the screen images when they are passed off to the
- graphics system for scaling. At the minimum setting of 1, the screen
- is rendered at its original resolution before being scaled. At higher
- settings, the screen is expanded by a factor of <amount> before being
- scaled. This produces a less blurry image at the expense of some speed
- and also increases the effective resolution of non-screen elements such
- as artwork and fonts. The default is 1.
-
--[no]gl_forcepow2texture Always use only power-of-2 sized textures (default off)
--[no]gl_notexturerect Don't use OpenGL GL_ARB_texture_rectangle (default on)
--[no]gl_vbo Enable OpenGL VBO, if available (default on)
--[no]gl_pbo Enable OpenGL PBO, if available (default on)
-
- These 4 options are for compatibility in -video opengl. If you report
- rendering artifacts you may be asked to try messing with them by the
- devs, but normally they should be left at their defaults which results
- in the best possible video performance.
-
--gl_glsl Enable OpenGL GLSL, if available (default off)
--gl_glsl_filter Enable OpenGL GLSL filtering instead of FF filtering 0-plain,
- 1-bilinear (default)
--glsl_shader_mame0 Custom OpenGL GLSL shader set mame bitmap 0
--glsl_shader_mame1 Custom OpenGL GLSL shader set mame bitmap 1
--glsl_shader_mame2 Custom OpenGL GLSL shader set mame bitmap 2
--glsl_shader_mame3 Custom OpenGL GLSL shader set mame bitmap 3
--glsl_shader_mame4 Custom OpenGL GLSL shader set mame bitmap 4
--glsl_shader_mame5 Custom OpenGL GLSL shader set mame bitmap 5
--glsl_shader_mame6 Custom OpenGL GLSL shader set mame bitmap 6
--glsl_shader_mame7 Custom OpenGL GLSL shader set mame bitmap 7
--glsl_shader_mame8 Custom OpenGL GLSL shader set mame bitmap 8
--glsl_shader_mame9 Custom OpenGL GLSL shader set mame bitmap 9
--glsl_shader_screen0 Custom OpenGL GLSL shader screen bitmap 0
--glsl_shader_screen1 Custom OpenGL GLSL shader screen bitmap 1
--glsl_shader_screen2 Custom OpenGL GLSL shader screen bitmap 2
--glsl_shader_screen3 Custom OpenGL GLSL shader screen bitmap 3
--glsl_shader_screen4 Custom OpenGL GLSL shader screen bitmap 4
--glsl_shader_screen5 Custom OpenGL GLSL shader screen bitmap 5
--glsl_shader_screen6 Custom OpenGL GLSL shader screen bitmap 6
--glsl_shader_screen7 Custom OpenGL GLSL shader screen bitmap 7
--glsl_shader_screen8 Custom OpenGL GLSL shader screen bitmap 8
--glsl_shader_screen9 Custom OpenGL GLSL shader screen bitmap 9
--gl_glsl_vid_attr Enable OpenGL GLSL handling of brightness and contrast.
- Better RGB game performance. Default is on.
-
-
-
-Per-window options
-------------------
-
-NOTE: Multiple Screens are limited to 1 until SDL 2.0 is released.
-
--screen <display>
--screen0 <display>
--screen1 <display>
--screen2 <display>
--screen3 <display>
-
- Specifies which physical monitor on your system you wish to have each
- window use by default. In order to use multiple windows, you must have
- increased the value of the -numscreens option. The name of each
- display in your system can be determined by running MAME with the
- -verbose option. The display names are typically in the format of:
- \\.\DISPLAYn, where 'n' is a number from 1 to the number of connected
- monitors. The default value for these options is 'auto', which means
- that the first window is placed on the first display, the second
- window on the second display, etc.
-
- The -screen0, -screen1, -screen2, -screen3 parameters apply to the
- specific window. The -screen parameter applies to all windows. The
- window-specific options override values from the all window option.
-
--aspect <width:height> / -screen_aspect <num:den>
--aspect0 <width:height>
--aspect1 <width:height>
--aspect2 <width:height>
--aspect3 <width:height>
-
- Specifies the physical aspect ratio of the physical monitor for each
- window. In order to use multiple windows, you must have increased the
- value of the -numscreens option. The physical aspect ratio can be
- determined by measuring the width and height of the visible screen
- image and specifying them separated by a colon. The default value for
- these options is 'auto', which means that MAME assumes the aspect
- ratio is proportional to the number of pixels in the desktop video
- mode for each monitor.
-
- The -aspect0, -aspect1, -aspect2, -aspect3 parameters apply to the
- specific window. The -aspect parameter applies to all windows. The
- window-specific options override values from the all window option.
-
--resolution <widthxheight[@refresh]> / -r <widthxheight[@refresh]>
--resolution0 <widthxheight[@refresh]> / -r0 <widthxheight[@refresh]>
--resolution1 <widthxheight[@refresh]> / -r1 <widthxheight[@refresh]>
--resolution2 <widthxheight[@refresh]> / -r2 <widthxheight[@refresh]>
--resolution3 <widthxheight[@refresh]> / -r3 <widthxheight[@refresh]>
-
- Specifies an exact resolution to run in. In full screen mode, MAME
- will try to use the specific resolution you request. The width and
- height are required; the refresh rate is optional. If omitted or
- set to 0, MAME will determine the mode auomatically. For example,
- -resolution 640x480 will force 640x480 resolution, but MAME is free to
- choose the refresh rate. Similarly, -resolution 0x0@60 will force a
- 60Hz refresh rate, but allows MAME to choose the resolution. The
- string "auto" is also supported, and is equivalent to 0x0@0. In window
- mode, this resolution is used as a maximum size for the window. This
- option requires the -switchres option as well in order to actually
- Enable resolution switching.
-
- The -resolution0, -resolution1, -resolution2, -resolution3 parameters
- apply to the specific window. The -resolution parameter applies to all
- windows. The window-specific options override values from the all
- window option.
-
--view <viewname>
--view0 <viewname>
--view1 <viewname>
--view2 <viewname>
--view3 <viewname>
-
- Specifies the initial view setting for each window. The <viewname>
- does not need to be a perfect match; rather, it will select the first
- view whose name matches all the characters specified by <viewname>.
- For example, -view native will match the "Native (15:14)" view even
- though it is not a perfect match. The value 'auto' is also supported,
- and requests that MAME perform a default selection. The default value
- for these options is 'auto'.
-
- The -view0, -view1, -view2, -view3 parameters apply to the
- specific window. The -view parameter applies to all windows. The
- window-specific options override values from the all window option.
-
-
-
-Full screen options
--------------------
-
--[no]switchres
-
- Enables resolution switching. This option is required for the
- -resolution* options to switch resolutions in full screen mode. On
- modern video cards, there is little reason to switch resolutions unless
- you are trying to achieve the "exact" pixel resolutions of the original
- games, which requires significant tweaking. This option is also useful
- on LCD displays, since they run with a fixed resolution and switching
- resolutions on them is just silly.
- The default is OFF (-noswitchres).
-
-
-
-Sound options
--------------
-
--sound <sdl|none>
-
- Specifies which sound subsystem to use. 'none' disables sound altogether.
- The default is sdl.
-
--audio_latency <value>
-
- This controls the amount of latency built into the audio streaming. By
- default MAME tries to keep the audio buffer between 1/5 and 2/5 full.
- On some systems, this is pushing it too close to the edge, and you get
- poor sound sometimes. The latency parameter controls the lower threshold.
- The default is 2 (meaning lower=2/5 and upper=3/5). Set it to 3
- (-audio_latency 3) to keep the sound buffer between 3/5 and 4/5 full.
- If you crank it up to 4, you can definitely notice the lag.
-
-
-
-SDL Keyboard Mapping
---------------------
-
--keymap Enable keymap. Default is OFF (-nokeymap)
--keymap_file Keymap Filename. Default is 'keymap.dat'.
--uimodekey Key to toggle keyboard mode. Default is 'SCRLOCK'
-
-
-
-SDL Joystick Mapping
---------------------
-
--joy_idx1 Name of joystick mapped to joystick #1, default is auto.
--joy_idx2 Name of joystick mapped to joystick #2, default is auto.
--joy_idx3 Name of joystick mapped to joystick #3, default is auto.
--joy_idx4 Name of joystick mapped to joystick #4, default is auto.
--joy_idx5 Name of joystick mapped to joystick #5, default is auto.
--joy_idx6 Name of joystick mapped to joystick #6, default is auto.
--joy_idx7 Name of joystick mapped to joystick #7, default is auto.
--joy_idx8 Name of joystick mapped to joystick #8, default is auto.
--sixaxis Use special handling for PS3 Sixaxis controllers.
- Default is OFF (-nosixaxis)
-
-
-
-SDL Lowlevel driver options
----------------------------
-
--videodriver SDL video driver to use ('x11', 'directfb', ... or 'auto' for SDL default
--audiodriver SDL audio driver to use ('alsa', 'arts', ... or 'auto' for SDL default
--gl_lib Alternative libGL.so to use; 'auto' for system default
-
-
diff --git a/docs/release/docs/config.txt b/docs/release/docs/config.txt
deleted file mode 100644
index 1b4c5e2ad62..00000000000
--- a/docs/release/docs/config.txt
+++ /dev/null
@@ -1,1265 +0,0 @@
-This file describes general usage information about MAME. It is intended
-to cover aspects of using and configuring the program that are common
-across operating systems. For additional OS-specific options, please see
-the separate documentation for your particular version of MAME.
-
-
-
-Using the program
------------------
-
-The usual way to run MAME is by telling it to run a particular game:
-
- mame <gamename> [options]
-
-For example:
-
- mame robby -sound none
-
-...will run Robby Roto without sound. There are many, many options
-available. All commonly supported options are listed below. Options that
-are specific to one operating system or version of MAME will be listed
-in a separate document.
-
-An alternative way to run MAME is to give it a command:
-
- mame <command> [parameters]
-
-For example:
-
- mame -listsource gridlee
-
-...will print the name of the source file where the gridlee driver lives
-to the screen. There are just a handful of these commands in MAME. They
-are all listed below, just before the options list.
-
-
-
-Default Keys
-------------
-
-All the keys below are fully configurable in the user interface. This list
-shows the standard keyboard configuration.
-
-Tab Toggles the configuration menu.
-
-~ Toggles the On Screen Display. When the on-screen display is
- visible, you can use the following keys to control it:
-
- Up - select previous parameter to modify
- Down - select next parameter to modify
- Enter - reset parameter value to its default
-
- Left - decrease the value of the selected parameter
- Control+Left - decrease the value by 10x
- Shift+Left - decrease the value by 0.1x
- Alt+Left - decrease the value by the smallest amount
-
- Right - increase the value of the selected parameter
- Control+Right - increase the value by 10x
- Shift+Right - increase the value by 0.1x
- Alt+Right - increase the value by the smallest amount
-
- If you are running with -debug, this key send a 'break'
- in emulation.
-
-P Pauses the game.
-
-Shift+P While paused, advances to next frame.
-
-F2 Service Mode for games that support it.
-
-F3 Resets the game.
-
-Shift+F3 Performs a "hard reset", which tears everything down and re-
- creates it from scratch. This is a more thorough and complete
- reset than an F3.
-
-LCtrl+F3 [SDL ONLY]
- Toggle Uneven stretch.
-
-F4 Shows the game palette, decoded GFX, and any tilemaps. Use the
- Enter key to switch between the three modes (palette, graphics,
- and tilemaps). Press F4 again to turn off the display. The key
- controls in each mode vary slightly:
-
- * Palette/colortable mode:
- [ ] - switch between palette and colortable modes
- Up/Down - scroll up/down one line at a time
- Page Up/Page Down - scroll up/down one page at a time
- Home/End - move to top/bottom of list
- -/+ - increase/decrease the number of colors per row
- Enter - switch to graphics viewer
-
- * Graphics mode:
- [ ] - switch between different graphics sets
- Up/Down - scroll up/down one line at a time
- Page Up/Page Down - scroll up/down one page at a time
- Home/End - move to top/bottom of list
- Left/Right - change color displayed
- R - rotate tiles 90 degrees clockwise
- -/+ - increase/decrease the number of tiles per row
- Enter - switch to tilemap viewer
-
- * Tilemap mode:
- [ ] - switch between different tilemaps
- Up/Down/Left/Right - scroll 8 pixels at a time
- Shift+Up/Down/Left/Right - scroll 1 pixel at a time
- Control+Up/Down/Left/Right - scroll 64 pixels at a time
- R - rotate tilemap view 90 degrees clockwise
- -/+ - increase/decrease the zoom factor
- Enter - switch to palette/colortable mode
-
- Note: Not all games have decoded graphics and/or tilemaps.
-
-LCtrl+F4 [SDL ONLY]
- Toggle Keepaspect ratio.
-
-LCtrl+F5 [SDL ONLY]
- Toggle Filter.
-
-Alt+Ctrl+F5 [WINDOWS ONLY. NON SDL]
- Toggle HLSL Post-Processing.
-
-F6 Toggle cheat mode (if started with "-cheat").
-
-LCtrl+F6 Decrease Prescaling.
-
-F7 Load a save state. You will be requested to press a key to
- determine which save state you wish to load. Note that the save
- state feature is not supported for a large number of drivers. If
- support is not enabled for a given driver, you will receive a
- warning when attempting to save or load.
-
-LCtrl+F7 Increase Prescaling.
-
-Shift+F7 Create a save state. Requires an additional keypress to identify
- the state, similar to the load option above.
-
-F8 Decrease frame skip on the fly.
-
-F9 Increase frame skip on the fly.
-
-F10 Toggle speed throttling.
-
-F11 Toggles speed display.
-
-Shift+F11 Toggles internal profiler display (if compiled in).
-
-Alt+F11 Record HLSL Rendered Video.
-
-F12 Saves a screen snapshot.
-
-Alt+F12 Take HLSL Rendered Snapshot.
-
-Insert [WINDOW ONLY, NON SDL]
-Page DN [SDL ONLY]
- Fast forward. While held, runs the game with throttling disabled
- and with the maximum frameskip.
-
-Alt+ENTER Toggles between full-screen and windowed mode.
-
-Scroll Lock Default mapping for the uimodekey. This key allows user to
- disable and enable the emulated keyboard in machines that require
- it. All emulations which require emulated keyboards will start in
- that mode and you can only access the internal UI (hitting TAB) by
- first hitting this key. You can change the initial status of the
- emulated keyboard is presented upon start by using -ui_active trigger
- as detailed below.
-
-Escape Exits emulator.
-
-
-
-Core commands
--------------
-
--help / -h / -?
-
- Displays current MAME version and copyright notice.
-
--validate / -valid
-
- Performs internal validation on every driver in the system. Run this
- before submitting changes to ensure that you haven't violated any of
- the core system rules.
-
-
-
-Configuration commands
-----------------------
-
--createconfig / -cc
-
- Creates the default mame.ini file. All the configuration options
- (not commands) described below can be permanently changed by editing
- this configuration file.
-
--showconfig / -sc
-
- Displays the current configuration settings. If you route this to a
- file, you can use it as an INI file. For example, the command:
-
- mame -showconfig >mame.ini
-
- is equivalent to -createconfig.
-
--showusage / -su
-
- Displays a summary of all the command line options. For options that
- are not mentioned here, the short summary given by "mame -showusage"
- is usually sufficient.
-
-
-
-Frontend commands
------------------
-
-Note: By default, all the '-list' commands below write info to the screen.
-If you wish to write the info to a textfile instead, add this to the end
-of your command:
-
- > filename
-
-...where 'filename' is the textfile's path and name
-(e.g., c:\mame\list.txt).
-
--listxml / -lx [<gamename|wildcard>]
-
- List comprehensive details for all of the supported games. The output
- is quite long, so it is usually better to redirect this into a file.
- The output is in XML format. By default all games are listed; however,
- you can limit this list by specifying a driver name or wildcard after
- the -listxml command.
-
--listfull / -ll [<gamename|wildcard>]
-
- Displays a list of game driver names and descriptions. By default all
- games are listed; however, you can limit this list by specifying a
- driver name or wildcard after the -listfull command.
-
--listsource / -ls [<gamename|wildcard>]
-
- Displays a list of drivers and the names of the source files their
- game drivers live in. Useful for finding which driver a game runs on
- in order to fix bugs. By default all games are listed; however, you
- can limit this list by specifying a driver name or wildcard after
- the -listsource command.
-
--listclones / -lc [<gamename|wildcard>]
-
- Displays a list of clones. By default all clones are listed; however,
- you can limit this list by specifying a driver name or wildcard after
- the -listsource command.
-
--listbrothers / -lb [<gamename|wildcard>]
-
- Displays a list of 'brothers', or rather, other sets which are located
- in the same sourcefile as the gamename searched for.
-
--listcrc [<gamename|wildcard>]
-
- Displays a full list of CRCs of all ROM images referenced by all
- drivers within MAME.
-
--listroms [<gamename|wildcard>]
-
- Displays a list of ROM images referenced by the specified game.
-
--listsamples [<gamename|wildcard>]
-
- Displays a list of samples referenced by the specified game.
-
--verifyroms [<gamename|wildcard>]
-
- Checks for invalid or missing ROM images. By default all drivers that
- have valid ZIP files or directories in the rompath are verified;
- however, you can limit this list by specifying a driver name or
- wildcard after the -verifyroms command.
-
--verifysamples [<gamename|wildcard>]
-
- Checks for invalid or missing samples. By default all drivers that
- have valid ZIP files or directories in the samplepath are verified;
- however, you can limit this list by specifying a driver name or
- wildcard after the -verifyroms command.
-
--romident [path\to\romstocheck.zip]
-
- Attempts to identify ROM files, if they are known to MAME, in the
- specified .zip file or directory. This command can be used to try and
- identify ROM sets taken from unknown boards. On exit, the errorlevel
- is returned as one of the following:
-
- 0: means all files were identified
- 7: means all files were identified except for 1 or more "non-ROM"
- files
- 8: means some files were identified
- 9: means no files were identified
-
--listdevices / -ld [<gamename|wildcard>]
-
- Displays a list of all devices known to be hooked up to a game. The ":"
- is considered the game itself with the devices list being attached to give
- the user a better understanding of what the emulation is using.
-
--listslots [<gamename|wildcard>]
-
- Show available slots and options for each slot (if available). Primarily
- used for MESS to allow control over internal plug-in cards, much like PC's
- needing video, sound and other cards.
-
--listmedia / -lm [<gamename|wildcard>]
-
- List available media that the chosen game or system allows to be used. This
- includes media types (cartridge, cassette, diskette and more) as well as
- common file extentions which are supported.
-
--listsoftware [<gamename|wildcard>]
-
- Posts to screen all software lists which can be used by the entered gamename
- or system. Notice, this is simply a copy/paste of the .XML file which reside
- in the HASH folder which are allowed to be used.
-
--verifysoftware [<gamename|wildcard>]
-
- Checks for invalid or missing ROM images in your software lists. By default
- all drivers that have valid ZIP files or directories in the rompath are verified;
- however, you can limit this list by specifying a specific driver name or wildcard
- after the -verifysoftware command.
-
--getsoftlist [<gamename|wildcard>]
-
- Posts to screen a specific software list which matches with the gamename
- provided.
-
--verifysoftlist [softwarelistname]
-
- Checks a specified software list for missing ROM images if files exist for issued
- softwarelistname. By default, all drivers that have valid ZIP files or directories
- in the rompath are verified; however, you can limit this list by specifying a
- specific softwarelistname (without .XML) after the -verifysoftlist command.
-
-
-OSD related options
--------------------
-
--uimodekey [keystring]
-
- Key used to toggle emulated keyboard on and off. Default setting is SCRLOCK.
-
--uifontprovider
-
- Chooses provider for UI font: win, none or auto. The Default setting is AUTO.
-
-
-OSD CLI options
----------------
-
--listmidi
-
- Create a list of available MIDI I/O devices for use with emulation.
-
--listnetwork
-
- Create a list of available Network Adapters for use with emulation.
-
-
-
-Configuration options
----------------------
-
--[no]readconfig / -[no]rc
-
- Enables or disables the reading of the config files. When enabled
- (which is the default), MAME reads the following config files in order:
-
- - mame.ini
- - <mymame>.ini (i.e. if MAME was renamed mame060.exe, MAME
- parses mame060.ini here)
- - debug.ini (if the debugger is enabled)
- - <driver>.ini (based on the source filename of the driver)
- - vertical.ini (for games with vertical monitor orientation)
- - horizont.ini (for games with horizontal monitor orientation)
- - arcade.ini (for games in source added with GAME() macro)
- - console.ini (for games in source added with CONS() macro)
- - computer.ini (for games in source added with COMP() macro)
- - othersys.ini (for games in source added with SYST() macro)
- - vector.ini (for vector games only)
- - <parent>.ini (for clones only, may be called recursively)
- - <gamename>.ini
-
-
- The settings in the later ini's override those in the earlier ini's.
- So, for example, if you wanted to disable overlay effects in the
- vector games, you can create a vector.ini with the "effect none" line
- in it, and it will override whatever effect value you have in your
- mame.ini. The default is ON (-readconfig).
-
-
-
-Core search path options
-------------------------
-
--rompath / -rp <path>
-
- Specifies a list of paths within which to find ROM or hard disk images.
- Multiple paths can be specified by separating them with semicolons.
- The default is 'roms' (that is, a directory "roms" in the same directory
- as the MAME executable).
-
--hashpath <path>
-
- Specifies a list of paths within which to find Software List HASH files.
- Multiple paths can be specified by separating them with semicolons.
- The default is 'hash' (that is, a directory "roms" in the same directory
- as the MAME executable).
-
--samplepath / -sp <path>
-
- Specifies a list of paths within which to find sample files. Multiple
- paths can be specified by separating them with semicolons. The default
- is 'samples' (that is, a directory "samples" in the same directory as
- the MAME executable).
-
--artpath <path> / -artwork_directory <path>
-
- Specifies a list of paths within which to find artwork files. Multiple
- paths can be specified by separating them with semicolons. The default
- is 'artwork' (that is, a directory "artwork" in the same directory as
- the MAME executable).
-
--ctrlrpath / -ctrlr_directory <path>
-
- Specifies a list of paths within which to find controller-specific
- configuration files. Multiple paths can be specified by separating
- them with semicolons. The default is 'ctrlr' (that is, a directory
- "ctrlr" in the same directory as the MAME executable).
-
--inipath <path>
-
- Specifies a list of paths within which to find .INI files. Multiple
- paths can be specified by separating them with semicolons. The default
- is '.;ini' (that is, search in the current directory first, and then
- in the directory "ini" in the same directory as the MAME executable).
-
--fontpath <path>
-
- Specifies a list of paths within which to find .BDF font files. Multiple
- paths can be specified by separating them with semicolons. The default
- is '.' (that is, search in the same directory as the MAME executable).
-
--cheatpath <path>
-
- Specifies a list of paths within which to find .XML cheat files.
- Multiple paths can be specified by separating them with semicolons. The
- default is 'cheat' (that is, a folder called 'cheat' located in the same
- directory as the as the MAME executable).
-
--crosshairpath <path>
-
- Specifies a list of paths within which to find crosshair files. Multiple
- paths can be specified by separating them with semicolons. The default
- is 'crsshair' (that is, a directory "crsshair" in the same directory as
- the MAME executable). If the Crosshair is set to default in the menu,
- MAME will look for gamename\cross#.png and then cross#.png in the
- specified crsshairpath, where # is the player number. Failing that,
- MAME will use built-in default crosshairs.
-
-
-
-Core Output Directory Options
------------------------------
-
--cfg_directory <path>
-
- Specifies a single directory where configuration files are stored.
- Configuration files store user configurable settings that are read at
- startup and written when MAME exits. The default is 'cfg' (that is,
- a directory "cfg" in the same directory as the MAME executable). If
- this directory does not exist, it will be automatically created.
-
--nvram_directory <path>
-
- Specifies a single directory where NVRAM files are stored. NVRAM files
- store the contents of EEPROM and non-volatile RAM (NVRAM) for games
- which used this type of hardware. This data is read at startup and
- written when MAME exits. The default is 'nvram' (that is, a directory
- "nvram" in the same directory as the MAME executable). If this
- directory does not exist, it will be automatically created.
-
--input_directory <path>
-
- Specifies a single directory where input recording files are stored.
- Input recordings are created via the -record option and played back
- via the -playback option. The default is 'inp' (that is, a directory
- "inp" in the same directory as the MAME executable). If this directory
- does not exist, it will be automatically created.
-
--state_directory <path>
-
- Specifies a single directory where save state files are stored. Save
- state files are read and written either upon user request, or when
- using the -autosave option. The default is 'sta' (that is, a directory
- "sta" in the same directory as the MAME executable). If this directory
- does not exist, it will be automatically created.
-
--snapshot_directory <path>
-
- Specifies a single directory where screen snapshots are stored, when
- requested by the user. The default is 'snap' (that is, a directory
- "snap" in the same directory as the MAME executable). If this
- directory does not exist, it will be automatically created.
-
--diff_directory <path>
-
- Specifies a single directory where hard drive differencing files are
- stored. Hard drive differencing files store any data that is written
- back to a hard disk image, in order to preserve the original image.
- The differencing files are created at startup when a game with a hard
- disk image. The default is 'diff' (that is, a directory "diff" in the
- same directory as the MAME executable). If this directory does not
- exist, it will be automatically created.
-
--comment_directory <path>
-
- Specifies a single directory where debugger comment files are stored.
- Debugger comment files are written by the debugger when comments are
- added to the disassembly for a game. The default is 'comments' (that
- is, a directory "comments" in the same directory as the MAME
- executable). If this directory does not exist, it will be
- automatically created.
-
-
-
-Core state/playback options
----------------------------
-
--state <slot>
-
- Immediately after starting the specified game, will cause the save
- state in the specified <slot> to be loaded.
-
--[no]autosave
-
- When enabled, automatically creates a save state file when exiting
- MAME and automatically attempts to reload it when later starting MAME
- with the same game. This only works for games that have explicitly
- enabled save state support in their driver. The default is OFF
- (-noautosave).
-
--playback / -pb <filename>
-
- Specifies a file from which to play back a series of game inputs. This
- feature does not work reliably for all games, but can be used to watch
- a previously recorded game session from start to finish. In order to
- make things consistent, you should only record and playback with all
- configuration (.cfg), NVRAM (.nv), and memory card files deleted. The
- default is NULL (no playback).
-
--record / -rec <filename>
-
- Specifies a file to record all input from a game session. This can be
- used to record a game session for later playback. This feature does
- not work reliably for all games, but can be used to watch a previously
- recorded game session from start to finish. In order to make things
- consistent, you should only record and playback with all configuration
- (.cfg), NVRAM (.nv), and memory card files deleted. The default is
- NULL (no recording).
-
--mngwrite <filename>
-
- Writes each video frame to the given <filename> in MNG format,
- producing an animation of the game session. Note that -mngwrite only
- writes video frames; it does not save any audio data. Use -wavwrite
- for that, and reassemble the audio/video using offline tools. The
- default is NULL (no recording).
-
--aviwrite <filename>
-
- Stream video and sound data to the given <filename> in AVI format,
- producing an animation of the game session complete with sound. The
- default is NULL (no recording).
-
--wavwrite <filename>
-
- Writes the final mixer output to the given <filename> in WAV format,
- producing an audio recording of the game session. The default is
- NULL (no recording).
-
--snapname <name>
-
- Describes how MAME should name files for snapshots. <name> is a string
- that provides a template that is used to generate a filename. Three
- simple substitutions are provided: the / character represents the
- path separator on any target platform (even Windows); the string %g
- represents the driver name of the current game; and the string %i
- represents an incrementing index. If %i is omitted, then each
- snapshot taken will overwrite the previous one; otherwise, MAME will
- find the next empty value for %i and use that for a filename. The
- default is %g/%i, which creates a separate folder for each game,
- and names the snapshots under it starting with 0000 and increasing
- from there. In addition to the above, for drivers using different
- media, like carts or floppy disks, you can also use the %d_[media]
- indicator. Replace [media] with the media switch you want to use.
- A few examples: if you use 'mame robby -snapname foo/%g%i' snapshots
- will be saved as 'snaps\foo\robby0000.png' , 'snaps\foo\robby0001.png'
- and so on ; if you use 'mess nes -cart robby -snapname %g/%d_cart'
- snapshots will be saved as 'snaps\nes\robby.png' ; if you use
- 'mess c64 -flop1 robby -snapname %g/%d_flop1/%i' snapshots will be
- saved as 'snaps\c64\robby\0000.png'.
-
--snapsize <width>x<height>
-
- Hard-codes the size for snapshots and movie recording. By default,
- MAME will create snapshots at the game's current resolution in raw
- pixels, and will create movies at the game's starting resolution in
- raw pixels. If you specify this option, then MAME will create both
- snapshots and movies at the size specified, and will bilinear filter
- the result. Note that this size does not automatically rotate if the
- game is vertically oriented. The default is 'auto'.
-
--snapview <viewname>
-
- Specifies the view to use when rendering snapshots and movies. By
- default, both use a special 'internal' view, which renders a separate
- snapshot per screen or renders movies only of the first screen. By
- specifying this option, you can override this default behavior and
- select a single view that will apply to all snapshots and movies.
- Note that <viewname> does not need to be a perfect match; rather, it
- will select the first view whose name matches all the characters
- specified by <viewname>. For example, -snapview native will match the
- "Native (15:14)" view even though it is not a perfect match.
- <viewname> can also be 'auto', which selects the first view with all
- screens present. The default value is 'internal'.
-
--[no]snapbilinear
-
- Specify if the snapshot or movie should have bilinear filtering
- applied. Shutting this off can make a difference in some performance
- while recording video to a file. The default is ON (-snapbilinear).
-
--statename <name>
-
- Describes how MAME should store save state files, relative to the
- state_directory path. <name> is a string that provides a template that
- is used to generate a relative path. Two simple substitutions are
- provided: the / character represents the path separator on any target
- platform (even Windows); the string %g represents the driver name of
- the current game. The default is %g, which creates a separate folder for
- each game. In addition to the above, for drivers using different
- media, like carts or floppy disks, you can also use the %d_[media]
- indicator. Replace [media] with the media switch you want to use.
- A few examples: if you use 'mame robby -statename foo/%g' save states
- will be stored inside 'sta\foo\robby\' ; if you use 'mess nes -cart
- robby -statename %g/%d_cart' save states will be stored inside
- 'sta\nes\robby\' ; if you use 'mess c64 -flop1 robby -statename
- %g/%d_flop1' save states will be stored inside 'sta\c64\robby\'.
-
--[no]burnin
-
- Tracks brightness of the screen during play and at the end of
- emulation generates a PNG that can be used to simulate burn-in
- effects on other games. The resulting PNG is created such that the
- least used-areas of the screen are fully white (since burned-in areas
- are darker, all other areas of the screen must be lightened a touch).
- The intention is that this PNG can be loaded via an artwork file with
- a low alpha (e.g, 0.1-0.2 seems to work well) and blended over the
- entire screen. The PNG files are saved in the snap directory under
- the gamename/burnin-<screen.name>.png. The default is OFF (-noburnin).
-
-
-
-Core performance options
-------------------------
-
--[no]autoframeskip / -[no]afs
-
- Automatically determines the frameskip level while you're playing the
- game, adjusting it constantly in a frantic attempt to keep the game
- running at full speed. Turning this on overrides the value you have
- set for -frameskip below. The default is OFF (-noautoframeskip).
-
--frameskip / -fs <level>
-
- Specifies the frameskip value. This is the number of frames out of
- every 12 to drop when running. For example, if you say -frameskip 2,
- then MAME will display 10 out of every 12 frames. By skipping those
- frames, you may be able to get full speed in a game that requires more
- horsepower than your computer has. The default value is -frameskip 0,
- which skips no frames.
-
--seconds_to_run / -str <seconds>
-
- This option can be used for benchmarking and automated testing. It tells
- MAME to stop execution after a fixed number of seconds. By combining
- this with a fixed set of other command line options, you can set up a
- consistent environment for benchmarking MAME performance. In addition,
- upon exit, the -str option will write a screenshot called final.png
- to the game's snapshot directory.
-
--[no]throttle
-
- Configures the default thottling setting. When throttling is on, MAME
- attempts to keep the game running at the game's intended speed. When
- throttling is off, MAME runs the game as fast as it can. Note that the
- fastest speed is more often than not limited by your graphics card,
- especially for older games. The default is ON (-throttle).
-
--[no]sleep
-
- Allows MAME to give time back to the system when running with -throttle.
- This allows other programs to have some CPU time, assuming that the
- game isn't taxing 100% of your CPU resources. This option can
- potentially cause hiccups in performance if other demanding programs
- are running. The default is ON (-sleep).
-
--speed <factor>
-
- Changes the way MAME throttles gameplay such that the game runs at some
- multiplier of the original speed. A <factor> of 1.0 means to run the
- game at its normal speed. A <factor> of 0.5 means run at half speed,
- and a <factor> of 2.0 means run at 2x speed. Note that changing this
- value affects sound playback as well, which will scale in pitch
- accordingly. The internal resolution of the fraction is two decimal
- places, so a value of 1.002 is the same as 1.0. The default is 1.0.
-
--[no]refreshspeed / -[no]rs
-
- Allows MAME to dynamically adjust the gameplay speed such that it does
- not exceed the slowest refresh rate for any targeted monitors in your
- system. Thus, if you have a 60Hz monitor and run a game that is
- actually designed to run at 60.6Hz, MAME will dynamically change the
- speed down to 99% in order to prevent sound hiccups or other
- undesirable side effects of running at a slower refresh rate. The
- default is OFF (-norefreshspeed).
-
-
-
-Core rotation options
----------------------
-
--[no]rotate
-
- Rotate the game to match its normal state (horizontal/vertical). This
- ensures that both vertically and horizontally oriented games show up
- correctly without the need to rotate your monitor. If you want to keep
- the game displaying 'raw' on the screen the way it would have in the
- arcade, turn this option OFF. The default is ON (-rotate).
-
--[no]ror
--[no]rol
-
- Rotate the game screen to the right (clockwise) or left (counter-
- clockwise) relative to either its normal state (if -rotate is
- specified) or its native state (if -norotate is specified). The
- default for both of these options is OFF (-noror -norol).
-
--[no]autoror
--[no]autorol
-
- These options are designed for use with pivoting screens that only
- pivot in a single direction. If your screen only pivots clockwise,
- use -autorol to ensure that the game will fill the screen either
- horizontally or vertically in one of the directions you can handle.
- If your screen only pivots counter-clockwise, use -autoror.
-
--[no]flipx
--[no]flipy
-
- Flip (mirror) the game screen either horizontally (-flipx) or
- vertically (-flipy). The flips are applied after the -rotate and
- -ror/-rol options are applied. The default for both of these options
- is OFF (-noflipx -noflipy).
-
-
-
-Core artwork options
---------------------
-
--[no]artwork_crop / -[no]artcrop
-
- Enable cropping of artwork to the game screen area only. This works
- best with -video gdi or -video d3d, and means that vertically oriented
- games running full screen can display their artwork to the left and
- right sides of the screen. This does not work with -video ddraw
- because of the way the game screens are rendered and scaled after the
- fact. This option can also be controlled via the Video Options menu in
- the user interface. The default is OFF (-noartwork_crop).
-
--[no]use_backdrops / -[no]backdrop
-
- Enables/disables the display of backdrops. The default is ON
- (-use_backdrops).
-
--[no]use_overlays / -[no]overlay
-
- Enables/disables the display of overlays. The default is ON
- (-use_overlays).
-
--[no]use_bezels / -[no]bezels
-
- Enables/disables the display of bezels. The default is ON
- (-use_bezels).
-
--[no]use_cpanels / -[no]cpanels
-
- Enables/disables the display of control panels. The default is ON
- (-use_cpanels).
-
--[no]use_marquees / -[no]marquees
-
- Enables/disables the display of marquees. The default is ON
- (-use_marquees).
-
-
-
-Core screen options
--------------------
-
--brightness <value>
-
- Controls the default brightness, or black level, of the game screens.
- This option does not affect the artwork or other parts of the display.
- Using the MAME UI, you can individually set the brightness for each
- game screen; this option controls the initial value for all visible
- game screens. The standard value is 1.0. Selecting lower values (down
- to 0.1) will produce a darkened display, while selecting higher values
- (up to 2.0) will give a brighter display. The default is 1.0.
-
--contrast <value>
-
- Controls the contrast, or white level, of the game screens. This
- option does not affect the artwork or other parts of the display.
- Using the MAME UI, you can individually set the contrast for each
- game screen; this option controls the initial value for all visible
- game screens. The standard value is 1.0. Selecting lower values (down
- to 0.1) will produce a dimmer display, while selecting higher values
- (up to 2.0) will give a more saturated display. The default is 1.0.
-
--gamma <value>
-
- Controls the gamma, which produces a potentially nonlinear black to
- white ramp, for the game screens. This option does not affect the
- artwork or other parts of the display. Using the MAME UI, you can
- individually set the gamma for each game screen; this option controls
- the initial value for all visible game screens. The standard value is
- 1.0, which gives a linear ramp from black to white. Selecting lower
- values (down to 0.1) will increase the nonlinearity toward black,
- while selecting higher values (up to 3.0) will push the nonlinearity
- toward white. The default is 1.0.
-
--pause_brightness <value>
-
- This controls the brightness level when MAME is paused. The default
- value is 0.65.
-
--effect <filename>
-
- Specifies a single PNG file that is used as an overlay over any game
- screens in the video display. This PNG file is assumed to live in the
- root of one of the artpath directories. The pattern in the PNG file is
- repeated both horizontally and vertically to cover the entire game
- screen areas (but not any external artwork), and is rendered at
- the target resolution of the game image. For -video gdi and -video d3d
- modes, this means that one pixel in the PNG will map to one pixel on
- your output display. For -video ddraw, this means that one pixel in the
- PNG will map to one pixel in the prescaled game screen. If you wish to
- use an effect that requires mapping n PNG pixels to each game screen
- pixel with -video ddraw, you need to specify a -prescale factor of n as
- well. The RGB values of each pixel in the PNG are multiplied against the
- RGB values of the target screen. The default is 'none', meaning no
- effect.
-
-
-
-Core vector options
--------------------
-
--beam_width_min <value>
--beam_width_max <value>
-
- Sets the minimum and maximum width of the vectors. This is a scaling factor
- against the standard vector width, which is interpolated between minimum and
- maximum according to the beam's intensity. A value of 1.0 will keep the default
- vector line width. Smaller values will reduce the width, and larger values
- will increase the width. The default is 1.0.
-
--beam_intensity_weight <value>
-
- Applies an exponential weight to the minimum and maximum beam width. For positive
- values the interpolated scaling factor will affect lines with higher intensity
- more than lines with lower intensity. The default is 0.0.
-
--flicker <value>
-
- Simulates a vector "flicker" effect, similar to a vector monitor that
- needs adjustment. This option requires a float argument in the range
- of 0.00 - 100.00 (0=none, 100=maximum). The default is 0.
-
-
-
-Core sound options
-------------------
-
--samplerate <value> / -sr <value>
-
- Sets the audio sample rate. Smaller values (e.g. 11025) cause lower
- audio quality but faster emulation speed. Higher values (e.g. 48000)
- cause higher audio quality but slower emulation speed. The default is
- 48000.
-
--[no]samples
-
- Use samples if available. The default is ON (-samples).
-
--volume / -vol <value>
-
- Sets the startup volume. It can later be changed with the user
- interface (see Keys section). The volume is an attenuation in dB:
- e.g., "-volume -12" will start with -12dB attenuation. The default
- is 0.
-
-
-
-Core input options
-------------------
-
--[no]coin_lockout / -[no]coinlock
-
- Enables simulation of the "coin lockout" feature that is implmeneted
- on a number of game PCBs. It was up to the operator whether or not
- the coin lockout outputs were actually connected to the coin
- mechanisms. If this feature is enabled, then attempts to enter a coin
- while the lockout is active will fail and will display a popup message
- in the user interface (In debug mode). If this feature is disabled, the
- coin lockout signal will be ignored. The default is ON (-coin_lockout).
-
--ctrlr <controller>
-
- Enables support for special controllers. Configuration files are
- loaded from the ctrlrpath. They are in the same format as the .cfg
- files that are saved, but only control configuration data is read
- from the file. The default is NULL (no controller file).
-
--[no]mouse
-
- Controls whether or not MAME makes use of mouse controllers. When
- this is enabled, you will likely be unable to use your mouse for other
- purposes until you exit or pause the game. The default is OFF
- (-nomouse).
-
--[no]joystick / -[no]joy
-
- Controls whether or not MAME makes use of joystick/gamepad controllers.
- When this is enabled, MAME will ask DirectInput about which
- controllers are connected. The default is OFF (-nojoystick).
-
--[no]lightgun / -[no]gun
-
- Controls whether or not MAME makes use of lightgun controllers.
- Note that most lightguns map to the mouse, so using -lightgun and
- -mouse together may produce strange results. The default is OFF
- (-nolightgun).
-
--[no]multikeyboard / -[no]multikey
-
- Determines whether MAME differentiates between multiple keyboards.
- Some systems may report more than one keyboard; by default, the data
- from all of these keyboards is combined so that it looks like a single
- keyboard. Turning this option on will enable MAME to report keypresses
- on different keyboards independently. The default is OFF
- (-nomultikeyboard).
-
--[no]multimouse
-
- Determines whether MAME differentiates between multiple mice. Some
- systems may report more than one mouse device; by default, the data
- from all of these mice is combined so that it looks like a single
- mouse. Turning this option on will enable MAME to report mouse
- movement and button presses on different mice independently. The
- default is OFF (-nomultimouse).
-
--[no]steadykey / -[no]steady
-
- Some games require two or more buttons to be pressed at exactly the
- same time to make special moves. Due to limitations in the keyboard
- hardware, it can be difficult or even impossible to accomplish that
- using the standard keyboard handling. This option selects a different
- handling that makes it easier to register simultaneous button presses,
- but has the disadvantage of making controls less responsive. The
- default is OFF (-nosteadykey)
-
--[no]ui_active
-
- Enable user interface on top of emulated keyboard (if present). The
- default if OFF (-noui_active)
-
--[no]offscreen_reload / -[no]reload
-
- Controls whether or not MAME treats a second button input from a
- lightgun as a reload signal. In this case, MAME will report the gun's
- position as (0,MAX) with the trigger held, which is equivalent to an
- offscreen reload. This is only needed for games that required you to
- shoot offscreen to reload, and then only if your gun does not support
- off screen reloads. The default is OFF (-nooffscreen_reload).
-
--joystick_map <map> / -joymap <map>
-
- Controls how joystick values map to digital joystick controls. MAME
- accepts all joystick input from the system as analog data. For true
- analog joysticks, this needs to be mapped down to the usual 4-way or
- 8-way digital joystick values. To do this, MAME divides the analog
- range into a 9x9 grid. It then takes the joystick axis position (for
- X and Y axes only), maps it to this grid, and then looks up a
- translation from a joystick map. This parameter allows you to specify
- the map. The default is 'auto', which means that a standard 8-way,
- 4-way, or 4-way diagonal map is selected automatically based on the
- input port configuration of the current game.
-
- Maps are defined as a string of numbers and characters. Since the grid
- is 9x9, there are a total of 81 characters necessary to define a
- complete map. Below is an example map for an 8-way joystick:
-
- 777888999 Note that the numeric digits correspond to the keys
- 777888999 on a numeric keypad. So '7' maps to up+left, '4' maps
- 777888999 to left, '5' maps to neutral, etc. In addition to the
- 444555666 numeric values, you can specify the character 's',
- 444555666 which means "sticky". In this case, the value of the
- 444555666 map is the same as it was the last time a non-sticky
- 111222333 value was read.
- 111222333
- 111222333
-
- To specify the map for this parameter, you can specify a string of
- rows separated by a '.' (which indicates the end of a row), like so:
-
- 777888999.777888999.777888999.444555666.444555666.444555666.
- 111222333.111222333.111222333
-
- However, this can be reduced using several shorthands supported by the
- <map> parameter. If information about a row is missing, then it is
- assumed that any missing data in columns 5-9 are left/right symmetric
- with data in columns 0-4; and any missing data in colums 0-4 is
- assumed to be copies of the previous data. The same logic applies to
- missing rows, except that up/down symmetry is assumed.
-
- By using these shorthands, the 81 character map can be simply
- specified by this 11 character string: 7778...4445
-
- Looking at the first row, 7778 is only 4 characters long. The 5th
- entry can't use symmetry, so it is assumed to be equal to the previous
- character '8'. The 6th character is left/right symmetric with the 4th
- character, giving an '8'. The 7th character is left/right symmetric
- with the 3rd character, giving a '9' (which is '7' with left/right
- flipped). Eventually this gives the full 777888999 string of the row.
-
- The second and third rows are missing, so they are assumed to be
- identical to the first row. The fourth row decodes similarly to the
- first row, producing 444555666. The fifth row is missing so it is
- assumed to be the same as the fourth.
-
- The remaining three rows are also missing, so they are assumed to be
- the up/down mirrors of the first three rows, giving three final rows
- of 111222333.
-
--joystick_deadzone <value> / -joy_deadzone <value> / -jdz <value>
-
- If you play with an analog joystick, the center can drift a little.
- joystick_deadzone tells how far along an axis you must move before the
- axis starts to change. This option expects a float in the range of
- 0.0 to 1.0. Where 0 is the center of the joystick and 1 is the outer
- limit. The default is 0.3.
-
--joystick_saturation <value> / joy_saturation <value> / -jsat <value>
-
- If you play with an analog joystick, the ends can drift a little,
- and may not match in the +/- directions. joystick_saturation tells how
- far along an axis movement change will be accepted before it reaches
- the maximum range. This option expects a float in the range of 0.0 to
- 1.0, where 0 is the center of the joystick and 1 is the outer limit.
- The default is 0.85.
-
--natural
-
- Allows user to specify whether or not to use a natural keyboard or not.
- This allows you to start your game or system in a 'native' mode, depending
- on your region, allowing compatability for non-"QWERTY" style keyboards.
- The default is OFF (-nonatrual)
-
--joystick_contradictory
-
- Enable contradictory direction digital joystick input at the same time
- such as Left and Right or Up and Down at the same time. The default
- is OFF (-nojoystick_contradictory)
-
--coin_impulse [n]
-
- Set coin impulse time based on n (n<0 disable impulse, n==0 obey driver,
- 0<n set time n). Default is 0.
-
-
-
-Core input automatic enable options
------------------------------------
-
--paddle_device enable (none|keyboard|mouse|lightgun|joystick) if a paddle control is present
--adstick_device enable (none|keyboard|mouse|lightgun|joystick) if an analog joystick control is present
--pedal_device enable (none|keyboard|mouse|lightgun|joystick) if a pedal control is present
--dial_device enable (none|keyboard|mouse|lightgun|joystick) if a dial control is present
--trackball_device enable (none|keyboard|mouse|lightgun|joystick) if a trackball control is present
--lightgun_device enable (none|keyboard|mouse|lightgun|joystick) if a lightgun control is present
--positional_device enable (none|keyboard|mouse|lightgun|joystick) if a positional control is present
--mouse_device enable (none|keyboard|mouse|lightgun|joystick) if a mouse control is present
-
- Each of these options controls autoenabling the mouse, joystick, or
- lightgun depending on the presence of a particular class of analog
- control for a particular game. For example, if you specify the option
- -paddle mouse, then any game that has a paddle control will
- automatically enable mouse controls just as if you had explicitly
- specified -mouse. Note that these controls override the values of
- -[no]mouse, -[no]joystick, etc.
-
-
-
-Debugging options
------------------
-
--[no]verbose / -[no]v
-
- Displays internal diagnostic information. This information is very
- useful for debugging problems with your configuration. IMPORTANT: when
- reporting bugs, please run with mame -verbose and include the
- resulting information. The default is OFF (-noverbose).
-
--[no]oslog
-
- Output error.log data to the system debugger. The default is OFF
- (-nooslog).
-
--[no]log
-
- Creates a file called error.log which contains all of the internal
- log messages generated by the MAME core and game drivers. The default
- is OFF (-nolog).
-
--[no]debug
-
- Activates the integrated debugger. By default, the debugger is entered
- by pressing the tilde (~) key during emulation. It is also entered
- immediately at startup. The default is OFF (-nodebug).
-
--debugscript <filename>
-
- Specifies a file that contains a list of debugger commands to execute
- immediately upon startup. The default is NULL (no commands).
-
--[no]update_in_pause
-
- Enables updating of the main screen bitmap while the game is paused.
- This means that the VIDEO_UPDATE callback will be called repeatedly
- during pause, which can be useful for debugging. The default is OFF
- (-noupdate_in_pause).
-
-
-Core communication options
---------------------------
-
--comm_localhost <string>
-
- Local address to bind to. This can be a traditional xxx.xxx.xxx.xxx
- address or a string containing a resolvable hostname. The default is
- value is "0.0.0.0"
-
--comm_localport <string>
-
- Local port to bind to. This can be any traditional communications port
- as an unsigned 16-bit integer (0-65535). The default value is "15122".
-
--comm_remotehost <string>
-
- Remote address to connect to. This can be a traditional xxx.xxx.xxx.xxx
- address or a string containing a resolvable hostname. The default is
- value is "0.0.0.0"
-
--comm_remoteport <string>
-
- Remote port to connect to. This can be any traditional communications port
- as an unsigned 16-bit integer (0-65535). The default value is "15122".
-
-
-
-Core misc options
------------------
-
--[no]drc
- Enable DRC cpu core if available. The default is ON (-drc).
-
--drc_use_c
-
- Force DRC use the C code backend. The default is OFF
- (-nodrc_use_c).
-
--drc_log_uml
-
- Write DRC UML disassembly log. The default is OFF
- (-nodrc_log_uml).
-
--drc_log_native
-
- write DRC native disassembly log. The default is OFF
- (-nodrc_log_native).
-
--bios <biosname>
-
- Specifies the specific BIOS to use with the current game, for game
- systems that make use of a BIOS. The -listxml output will list all of
- the possible BIOS names for a game. The default is 'default'.
-
--[no]cheat / -[no]c
-
- Enables the reading of the cheat database, if present, and the Cheat
- menu in the user interface. The default is OFF (-nocheat).
-
--[no]skip_gameinfo
-
- Forces MAME to skip displaying the game info screen. The default is
- OFF (-noskip_gameinfo).
-
--uifont <fontname>
-
- Specifies the name of a font file to use for the UI font. If this font
- cannot be found or cannot be loaded, the system will fall back to its
- built-in UI font. On some platforms 'fontname' can be a system font
- name (TTF) instead of a (BDF) font file. The default is 'default' (use
- the OSD-determined default font).
-
--ramsize [n]
-
- Allows you to change the default RAM size (if supported by driver).
-
--confirm_quit
-
- Display a Confirm Quit dialong to screen on exit, requiring one extra
- step to exit MAME. The default is OFF (-noconfirm_quit).
-
--ui_mouse
-
- Displays a mouse cursor when using the built-in UI for MAME. The default
- is (-noui_mouse).
-
--autoboot_command "<command>"
-
- Command string to execute after machine boot (in quotes " "). To issue
- a quote to the emulation, use """ in the string. Using \n will issue a
- create a new line, issuing what was typed prior as a command.
- Example: -autoboot_command "load """$""",8,1\n"
-
--autoboot_delay [n]
-
- Timer delay (in seconds) to trigger command execution on autoboot.
-
--autoboot_script / -script [filename.lua]
-
- File containing scripting to execute after machine boot.
-
diff --git a/docs/release/docs/floppy.txt b/docs/release/docs/floppy.txt
deleted file mode 100644
index a8955b91e3a..00000000000
--- a/docs/release/docs/floppy.txt
+++ /dev/null
@@ -1,634 +0,0 @@
-The new floppy subsystem
-------------------------
-
- 1. Introduction
-
-The new floppy subsystem aims at emulating the behaviour of floppies
-and floppy controllers at a level low enough that protections work as
-a matter of course. It reaches its goal by following the real
-hardware configuration:
-
-- a floppy image class keeps in memory the magnetic state of the
- floppy surface and its physical characteristics
-
-- an image handler class talks with the floppy image class to simulate
- the floppy drive, providing all the signals you have on a floppy drive
- connector
-
-- floppy controller devices talk with the image handler and provide
- the register interfaces to the host we all know and love
-
-- format handling classes are given the task of statelessly converting
- to and from an on-disk image format to the in-memory magnetic state
- format the floppy image class manages
-
-
- 2. Floppy storage 101
- 2.1. Floppy disk
-
-A floppy disk is a disc that stores magnetic orientations on their
-surface disposed in a series on concentric circles called tracks or
-cylinders[1]. Its main characteristics are its size (goes from a
-diameter of around 2.8" to 8") , its number of writable sides (1 or 2)
-and its magnetic resistivity. The magnetic resistivity indicates how
-close magnetic orientation changes can happen and the information
-kept. That's one third of what defines the term "density" that is so
-often used for floppies (the other two are floppy drive head size and
-bit-level encoding).
-
-The magnetic orientations are always binary, e.g. they're one way or
-the opposite, there's no intermediate state. Their direction can
-either be tengentially to the track, e.g in the direction or opposite
-to the rotation, or in the case of perpendicular recording the
-direction is perpendicular to the disc surface (hence the name).
-Perpendicular recording allows for closer orientation changes by
-writing the magnetic information more deeply, but arrived late in the
-technology lifetime. 2.88Mb disks and the floppy children (Zip
-drives, etc) used perpendicular recording. For simulation purposes
-the direction is not important, only the fact that only two
-orientations are possible is. Two more states are possible though: a
-portion of a track can be demagnetized (no orientation) or damaged (no
-orientation and can't be written to).
-
-A specific position in the disk rotation triggers an index pulse.
-That position can be detected through a hole in the surface (very
-visible in 5.25" and 3" floppies for instance) or through a specific
-position of the rotating center (3.5" floppies, perhaps others). This
-index pulse is used to designate the beginning of the track, but is
-not used by every system. Older 8" floppies have multiple index holes
-used to mark the beginning of sectors (called hard sectoring) but one
-of them is positioned differently to be recognized as the track start,
-and the others are at fixed positions relative to the origin one.
-
-
- 2.2 Floppy drive
-
-A floppy drive is what reads and writes a floppy disk. It includes an
-assembly capable of rotating the disk at a fixed speed and one or two
-magnetic heads tied to a positioning motor to access the tracks.
-
-The head width and positioning motor step size decides how many tracks
-are written on the floppy. Total number of tracks goes from 32 to 84
-depending on the floppy and drive, with the track 0 being the most
-exterior (longer) one of the concentric circles, and the highest
-numbered the smallest interior circle. As a result the tracks with
-the lowest numbers have the lowest physical magnetic orientation
-density, hence the best reliability. Which is why important and/or
-often changed structures like the boot block or the fat allocation
-table are at track 0. That is also where the terminology "stepping
-in" to increase the track number and "stepping out" to decrease it
-comes from. The number of tracks available is the second part of what
-is usually behind the term "density".
-
-A sensor detects when the head is on track 0 and the controller is not
-supposed to try to go past it. In addition physical blocks prevent
-the head from going out of the correct track range. Some systems
-(Apple II, some C64) do not take the track 0 sensor into account and
-just wham the head against the track 0 physical block, giving a
-well-known crash noise and eventually damaging the head alignment.
-
-Also, some systems (Apple II and C64 again) have direct access to the
-phases of the head positioning motor, allowing to trick the head into
-going between tracks, in middle or even quarter positions. That was
-not usable to write more tracks, since the head width did not change,
-but since reliable reading was only possible with the correct position
-it was used for some copy protection systems.
-
-The disk rotates at a fixed speed for a given track. The most usual
-speed is 300 rpm for every track, with 360 rpm found for HD 5.25"
-floppies and most 8" ones, and a number of different values like 90 rpm
-for the earlier floppies or 150 rpm for an HD floppy in an Amiga.
-Having a fixed rotational speed for the whole disk is called Constant
-Angular Velocity (CAV, almost everybody) or Zoned Constant Angular
-Velocity (ZCAV, C64) depending on whether the read/write bitrate is
-constant or track-dependant. Some systems (Apple II, Mac) vary the
-rotational speed depending on the track (something like 394 rpm up to
-590 rpm) to end up with a Constant Linear Velocity (CLV). The idea
-behind ZCAV/CLV is to get more bits out of the media by keeping the
-minimal spacing between magnetic orientation transitions close to the
-best the support can do. It seems that the complexity was not deemed
-worth it since almost no system does it.
-
-Finally, after the disc rotates and the head is over the proper track
-reading happens. The reading is done through an inductive head, which
-gives it the interesting characteristic of not reading the magnetic
-orientation directly but instead of being sensitive to orientation
-inversions, called flux transitions. This detection is weak and
-somewhat uncalibrated, so an amplifier with Automatic Gain Calibration
-(AGC) and a peak detector are put behind the head to deliver clean
-pulses. The AGC slowly increases the amplification level until a
-signal goes over the threshold, then modulates its gain so that said
-signal is at a fixed position over the threshold. Afterwards the
-increase happens again. This makes the amplifier calibrate itself to
-the signals read from the floppy as long as flux transitions happen
-often enough. Too long and the amplification level will reach a point
-where the random noise the head picks from the environment is
-amplified over the threshold, creating a pulse where none should be.
-Too long in our case happens to be around 16-20us with no transitions.
-That means a long enough zone with a fixed magnetic orientation or no
-orientation at all (demagnetized or damaged) is going to be read as a
-series of random pulses after a brief delay. This is used by
-protections and is known as "weak bits", which read differently each
-time they're accessed.
-
-A second level of filtering happens after the peak detector. When two
-transitions are a little close (but still over the media threshold) a
-bouncing effect happens between them giving two very close pulses in
-the middle in addition to the two normal pulses. The floppy drive
-detects when pulses are too close and filter them out, leaving the
-normal ones. As a result, if one writes a train of high-frequency
-pulses to the floppy they will be read back as a train of too close
-pulses (weak because they're over the media tolerance, but picked up
-by the AGC anyway, only somewhat unreliably) they will be all filtered
-out, giving a large amount of time without any pulse in the output
-signal. This is used by some protections since it's not writable with
-a normally clocked controller.
-
-Writing is symmetrical, with a series of pulses sent which make the
-write head invert the magnetic field orientation each time a pulse is
-received.
-
-So, in conclusion, the floppy drive provides inputs to control disk
-rotation and head position (and choice when double-sided), and the
-data goes both way as a train of pulses representing magnetic
-orientation inversions. The absolute value of the orientation itself
-is never known.
-
-
- 2.3 Floppy controller
-
-The task of the floppy controller is to turn the signals to/from the
-floppy drive into something the main CPU can digest. The level of
-support actually done by the controller is extremely variable from one
-device to the other, from pretty much nothing (Apple II, C64) through
-minimal (Amiga) to complete (Western Digital chips, uPD765 family).
-Usual functions include drive selection, motor control, track seeking
-and of course reading and writing data. Of these only the last two
-need to be described, the rest is obvious.
-
-The data is structured at two levels: how individual bits (or nibbles,
-or bytes) are encoded on the surface, and how these are grouped in
-individually-addressable sectors. Two standards exist for these,
-called FM and MFM, and in addition a number of systems use their
-home-grown variants. Moreover, some systems such as the Amiga use a
-standard bit-level encoding (MFM) but a homegrown sector-level
-organisation.
-
-
- 2.3.1 Bit-level encodings
- 2.3.1.1 Cell organization
-
-All floppy controllers, even the wonkiest like the Apple II one, start
-by dividing the track in equally-sized cells. They're angular
-sections in the middle of which a magnetic orientation inversion may
-be present. From a hardware point of view the cells are seen as
-durations, which combined with the floppy rotation give the section.
-For instance the standard MFM cell size for a 3" double-density floppy
-is 2us, which combined with the also standard 300 rpm rotational speed
-gives an angular size of 1/100000th of a turn. Another way of saying
-it is that there are 100K cells in a 3" DD track.
-
-In every cell there may or may not be a magnetic orientation
-transition, e.g. a pulse coming from (reading) or going to (writing)
-the floppy drive. A cell with a pulse is traditionally noted '1', and
-one without '0'. Two constraints apply to the cell contents though.
-First, pulses must not be too close together or they'll blur
-each-other and/or be filtered out. The limit is slightly better than
-1/50000th of a turn for single and double density floppies, half that
-for HD floppys, and half that again for ED floppies with perpendicular
-recording. Second, they must not be too away from each other or
-either the AGC is going to get wonky and introduce phantom pulses or
-the controller is going to lose sync and get a wrong timing on the
-cells on reading. Conservative rule of thumb is not to have more than
-three consecutive '0' cells.
-
-Of course protections play with that to make formats not reproducible
-by the system controller, either breaking the three-zeroes rule or
-playing with the cells durations/sizes.
-
-Bit endocing is then the art of transforming raw data into a cell 0/1
-configuration that respects the two constraints.
-
- 2.3.1.2 FM encoding
-
-The very first encoding method developed for floppies is called
-Frequency Modulation, or FM. The cell size is set at slighly over the
-physical limit, e.g. 4us. That means it is possible to reliably have
-consecutive '1' cells. Each bit is encoded on two cells:
-
-- the first cell, called the clock bit, is '1'
-
-- the second cell, called data bit, is the bit
-
-Since every other cell at least is '1' there is no risk of going over
-three zeroes.
-
-The name Frequency Modulation simply derives from the fact that a 0 is
-encoded with one period of a 125Khz pulse train while a 1 is two
-periods of a 250Khz pulse train.
-
- 2.3.1.3 MFM encoding
-
-The FM encoding has been superseded by the Modified Frequency
-Modulation encoding, which can cram exactly twice as much data on the
-same surface, hence its other name of "double density". The cell size
-is set at slightly over half the physical limit, e.g. 2us usually.
-The constraint means that two '1' cells must be separated by at least
-one '0' cell. Each bit is once again encoded on two cells:
-
-- the first cell, called the clock bit, is '1' if both the previous
- and current data bits are 0, '0' otherwise
-
-- the second cell, called data bit, is the bit
-
-The minimum space rule is respected since a '1' clock bit is by
-definition surrounded by two '0' data bits, and a '1' data bit is
-surrounded by two '0' clock bits. The longest '0'-cell string
-possible is when encoding 101 which gives x10001, respecting the
-maximum of three zeroes.
-
- 2.3.1.4 GCR encodings
-
-Group Coded Recording, or GCR, encodings are a class of encodings
-where strings of bits at least nibble-size are encoded into a given
-cell stream given by a table. It has been used in particular by the
-Apple II, the Mac and the C64, and each system has its own table, or
-tables.
-
- 2.3.1.5 Other encodings
-
-Other encodings exist, like M2FM, but they're very rare and
-system-specific.
-
- 2.3.1.6 Reading back encoded data
-
-Writing encoded data is easy, you only need a clock at the appropriate
-frequency and send or not a pulse on the clock edges. Reading back
-the data is where the fun is. Cells are a logical construct and not a
-physical measurable entity. Rotational speeds very around the defined
-one (+/- 2% is not rare) and local perturbations (air turbulence,
-surface distance...) make the instant speed very variable in general.
-So to extract the cell values stream the controller must dynamically
-synchronize with the pulse train that the floppy head picks up. The
-principle is simple: a cell-sized duration window is build within
-which the presence of at least one pulse indicates the cell is a '1',
-and the absence of any a '0'. After reaching the end of the window
-the starting time is moved appropriately to try to keep the observed
-pulse at the exact middle of the window. This allows to correct the
-phase on every '1' cell, making the synchronization work if the
-rotational speed is not too off. Subsequent generations of
-controllers used a Phase-Locked Loop (PLL) which vary both phase and
-window duration to adapt better to wrong rotational speeds, with
-usually a tolerance of +/- 15%.
-
-Once the cell data stream is extracted decoding depends on the
-encoding. In the FM and MFM case the only question is to recognize
-data bits from clock bits, while in GCR the start position of the
-first group should be found. That second level of synchronization is
-handled at a higher level using patterns not found in a normal stream.
-
-
- 2.3.2 Sector-level organization
-
-Floppies have been designed for read/write random access to reasonably
-sized blocks of data. Track selection allows for a first level of
-random access and sizing, but the ~6K of a double density track would
-be too big a block to handle. 256/512 bytes are considered a more
-appropriate value. To that end data on a track is organized as a
-series of (sector header, sector data) pairs where the sector header
-indicates important information like the sector number and size, and
-the sector data contains the data. Sectors have to be broken in two
-parts because while reading is easy, read the header then read the
-data if you want it, writing requires reading the header to find the
-correct place then once that is done switching on the writing head for
-the data. Starting writing is not instantaneous and will not be
-perfectly phase-aligned with the read header, so space for
-synchronization is required between header and data.
-
-In addition somewhere in the sector header and in the sector data are
-pretty much always added some kind of checksum allowing to know
-whether the data was damaged or not.
-
-FM and MFM have (not always used) standard sector layout methods.
-
- 2.3.2.1 FM sector layout
-
-The standard "PC" track/sector layout for FM is as such:
-- A number of FM-encoded 0xff (usually 40)
-- 6 FM-encoded 0x00 (giving a steady 125KHz pulse train)
-- The 16-cell stream 1111011101111010 (f77a, clock 0xd7, data 0xfc)
-- A number of FM-encoded 0xff (usually 26, very variable)
-
-Then for each sector:
-- 6 FM-encoded 0x00 (giving a steady 125KHz pulse train)
-- The 16-cell stream 1111010101111110 (f57e, clock 0xc7, data 0xfe)
-- Sector header, e.g. FM encoded track, head, sector, size code and two bytes of crc
-- 11 FM-encoded 0xff
-- 6 FM-encoded 0x00 (giving a steady 125KHz pulse train)
-- The 16-cell stream 1111010101101111 (f56f, clock 0xc7, data 0xfb)
-- FM-encoded sector data followed by two bytes of crc
-- A number of FM-encoded 0xff (usually 48, very variable)
-
-The track is finished with a stream of '1' cells.
-
-The 125KHz pulse trains are used to lock the PLL to the signal
-correctly. The specific 16-cells streams allow to distinguish between
-clock and data bits by providing a pattern that is not supposed to
-happen in normal FM-encoded data. In the sector header track numbers
-start at 0, heads are 0/1 depending on the size, sector numbers
-usually start at 1 and size code is 0 for 128 bytes, 1 for 256, 2 for
-512, etc.
-
-The crc is a cyclic redundancy check of the data bits starting with
-the mark just after the pulse train using polynom 0x11021.
-
-The Western Digital-based controllers usually get rid of everything
-but some 0xff before the first sector and allow a better use of space
-as a result.
-
- 2.3.2.2 MFM sector layout
-
-The standard "PC" track/sector layout for MFM is as such:
-- A number of MFM-encoded 0x4e (usually 80)
-- 12 FM-encoded 0x00 (giving a steady 250KHz pulse train)
-- 3 times the 16-cell stream 0101001000100100 (5224, clock 0x14, data 0xc2)
-- The MFM-encoded value 0xfc
-- A number of MFM-encoded 0x4e (usually 50, very variable)
-
-Then for each sector:
-- 12 FM-encoded 0x00 (giving a steady 250KHz pulse train)
-- 3 times the 16-cell stream 0100010010001001 (4489, clock 0x0a, data 0xa1)
-- Sector header, e.g. MFM-encoded 0xfe, track, head, sector, size code and two bytes of crc
-- 22 MFM-encoded 0x4e
-- 12 MFM-encoded 0x00 (giving a steady 250KHz pulse train)
-- 3 times the 16-cell stream 0100010010001001 (4489, clock 0x0a, data 0xa1)
-- MFM-encoded 0xfb, sector data followed by two bytes of crc
-- A number of MFM-encoded 0x4e (usually 84, very variable)
-
-The track is finished with a stream of MFM-encoded 0x4e.
-
-The 250KHz pulse trains are used to lock the PLL to the signal
-correctly. The cell pattern 4489 does not appear in normal
-MFM-encoded data and is used for clock/data separation.
-
-As for FM, the Western Digital-based controllers usually get rid of
-everything but some 0x4e before the first sector and allow a better
-use of space as a result.
-
- 2.3.2.3 Formatting and write splices
-
-To be usable, a floppy must have the sector headers and default sector
-data written on every track before using it. The controller starts
-writing at a given place, often the index pulse but on some systems
-whenever the command is sent, and writes until a complete turn is
-done. That's called formatting the floppy. At the point where the
-writing stops there is a synchronization loss since there is no chance
-the cell stream clock warps around perfectly. This brutal phase
-change is called a write splice, specifically the track write splice.
-It is the point where writing should start if one wants to raw copy
-the track to a new floppy.
-
-Similarly two write splices are created when a sector is written at
-the start and end of the data block part. They're not supposed to
-happen on a mastered disk though, even if there are some rare
-exceptions.
-
-
- 3 The new implementation
- 3.1 Floppy disk representation
-
-Th floppy disk contents are represented by the class floppy_image. It
-contains information of the media type and a representation of the
-magnetic state of the surface.
-
-The media type is divided in two parts. The first half
-indicates the physical form factor, i.e. all medias with that
-form factor can be physically inserted in a reader that handles
-it. The second half indicates the variants which are usually
-detectable by the reader, such as density and number of sides.
-
-Track data consists of a series of 32-bits lsb-first values
-representing magnetic cells. Bits 0-27 indicate the absolute
-position of the start of the cell (not the size), and bits
-28-31 the type. Type can be:
-- 0, MG_A -> Magnetic orientation A
-- 1, MG_B -> Magnetic orientation B
-- 2, MG_N -> Non-magnetized zone (neutral)
-- 3, MG_D -> Damaged zone, reads as neutral but cannot be changed by writing
-
-The position is in angular units of 1/200,000,000th of a turn. It
-corresponds to one nanosecond when the drive rotates at 300 rpm.
-
-The last cell implicit end position is of course 200,000,000.
-
-Unformatted tracks are encoded as zero-size.
-
-The "track splice" information indicates where to start writing
-if you try to rewrite a physical disk with the data. Some
-preservation formats encode that information, it is guessed for
-others. The write track function of fdcs should set it. The
-representation is the angular position relative to the index.
-
- 3.2 Converting to and from the internal representation
- 3.2.1 Class and interface
-
-We need to be able to convert on-disk formats of the floppy data to
-and from the internal representation. This is done through classes
-derived from floppy_image_format_t. The interface to be implemented
-includes:
-- name() gives the short name of the on-disk format
-
-- description() gives a short description of the format
-
-- extensions() gives a comma-separated list of file name extensions
- found for that format
-
-- supports_save() returns true is converting to that external format
- is supported
-
-- identify(file, form factor) gives a 0-100 score for the file to be
- of that format:
- - 0 = not that format
- - 100 = certainly that format
- - 50 = format identified from file size only
-
-- load(file, form factor, floppy_image) loads an image and converts it
- into the internal representation
-
-- save(file, floppy_image) (if implemented) converts from the internal
- representation and saves an image
-
-All these methods are supposed to be stateless.
-
- 3.2.2 Conversion helper methods
-
-A number of methods are provided to simplify writing the converter
-classes.
-
- 3.2.2.1 Load-oriented conversion methods
-
-generate_track_from_bitstream(track number,
- head number,
- UINT8 *cell stream,
- int cell count,
- floppy image)
-
- Takes a stream of cell types (0/1), MSB-first, converts it to the
- internal format and stores it at the given track and head in the
- given image.
-
-generate_track_from_levels(track number,
- head number,
- UINT32 *cell levels,
- int cell count,
- splice position,
- floppy image)
-
- Takes a variant of the internal format where each value represents a
- cell, the position part of the values is the size of the cell and
- the level part is MG_0, MG_1 for normal cell types, MG_N, MG_D for
- unformatted/damaged cells, and MG_W for Dungeon-Master style weak
- bits. Converts it into the internal format. The sizes are
- normalized so that they total to a full turn.
-
-normalize_times(UINT32 *levels,
- int level_count)
-
- Takes an internal-format buffer where the position part represents
- angle until the next change and turns it into a normal positional
- stream, first ensuring that the total size is normalized to a full
- turn.
-
-
- 3.2.2.2 Save-oriented conversion methods
-
-generate_bitstream_from_track(track number,
- head number,
- base cell size,
- UINT8 *cell stream,
- int &cell_stream_size,
- floppy image)
-
- Extract a cell 0/1 stream from the internal format using a PLL setup
- with an initial cell size set to 'base cell size' and a +/- 25%
- tolerance.
-
-
-struct desc_xs { int track, head, size; const UINT8 *data }
-extract_sectors_from_bitstream_mfm_pc(...)
-extract_sectors_from_bitstream_fm_pc(const UINT8 *cell stream,
- int cell_stream_size,
- desc_xs *sectors,
- UINT8 *sectdata,
- int sectdata_size)
-
- Extract standard mfm or fm sectors from a regenerated
- cell stream. Sectors must point to an array of 256 desc_xs.
-
- An existing sector is recognizable by having ->data non-null.
- Sector data is written in sectdata up to sectdata_size bytes.
-
-
-get_geometry_mfm_pc(...)
-get_geometry_fm_pc(floppy image,
- base cell size,
- int &track_count,
- int &head_count,
- int &sector_count)
-
- Extract the geometry (heads, tracks, sectors) from a pc-ish floppy
- image by checking track 20.
-
-
-get_track_data_mfm_pc(...)
-get_track_data_fm_pc(track number,
- head number,
- floppy image,
- base cell size,
- sector size,
- sector count,
- UINT8 *sector data)
-
- Extract what you'd get by reading in order 'sector size'-sized
- sectors from number 1 to sector count and put the result in sector
- data.
-
-
- 3.3 Floppy drive
-
-The class floppy_image_interface simulates the floppy drive. That
-includes a number of control signals, reading, and writing. Control
-signal changes must be synchronized, e.g. fired off a timer to ensure
-the current time is the same for all devices.
-
- 3.3.1 Control signals
-
-Due to the way they're usually connected to CPUs (e.g. directly on an
-I/O port), the control signals work with physical instead of logical
-values. Which means than in general 0 means active, 1 means inactive.
-Some signals also have a callback associated called when they change.
-
-mon_w(state) / mon_r()
-
- Motor on signal, rotates on 0.
-
-
-idx_r() / setup_index_pulse_cb(cb)
-
- Index signal, goes 0 at start of track for about 2ms. Callback is
- synchronized. Only happens when a disk is in and the motor is
- running.
-
-
-ready_r() / setup_ready_cb(cb)
-
- Ready signal, goes to 1 when the disk is removed or the motor
- stopped. Goes to 0 after two index pulses.
-
-
-wpt_r() / setup_wpt_cb(cb)
-
- Write protect signal (1 = readonly). Callback is unsynchronized.
-
-
-dskchg_r()
-
- Disk change signal, goes to 1 when a disk is change, goes to 0 on
- track change.
-
-
-dir_w(dir)
-
- Selects track stepping direction (1 = out = decrease track number).
-
-
-stp_w(state)
-
- Step signal, moves by one track on 1->0 transistion.
-
-
-trk00_r()
-
- Track 0 sensor, returns 0 when on track 0.
-
-
-ss_w(ss) / ss_r()
-
- Side select
-
-
- 3.3.2 Read/write interface
-
-The read/write interface is designed to work asynchronously,
-e.g. somewhat independently of the current time.
-
-
-
-
-[1] Cylinder is a hard-drive term somewhat improperly used for
- floppies. It comes from the fact that hard-drives are similar to
- floppies but include a series of stacked disks with a read/write head
- on each. The heads are physically linked and all point to the same
- circle on every disk at a given time, making the accessed area look
- like a cylinder. Hence the name.
-
diff --git a/docs/release/docs/hlsl.txt b/docs/release/docs/hlsl.txt
deleted file mode 100644
index 34e2d9aacca..00000000000
--- a/docs/release/docs/hlsl.txt
+++ /dev/null
@@ -1,132 +0,0 @@
-HLSL-Related Enable Switches
-----------------------------
-
-Name Values Description
-hlsl_enable 0 or 1 Enables HLSL post-processing in Direct3D 9 modes.
-hlsl_oversampling 0 or 1 Enables HLSL oversampling.
-yiq_enable 0 or 1 Enables YIQ-colorspace post-processing. Causes a
- performance drop but gives a much more authentic
- NTSC TV appearance on TV-based systems when configured
- properly.
-hlslpath [path] Path to the .fx files that are in use. (default: hlsl)
-hlsl_write [filename] Enables HLSL AVI writing. (huge disk bandwidth suggested)
-hlsl_snap_width [width] HLSL upscaled-snapshot width. (default: 2048)
-hlsl_snap_height [height] HLSL upscaled-snapshot height. (default: 1536)
-
-
-Surface/Color Processing Parameters
------------------------------------
-
-Name Values Description
-shadow_mask_tile_mode 0 or 1 0 for screen based tile mode or 1 for source based tile mode.
-shadow_mask_alpha 0.0 to 1.0 The ovearll darkness of each shadow mask pixel.
-shadow_mask_texture [filename] A PNG that defines the shadow mask for each pixel.
-shadow_mask_x_count 1+ The number of pixels one shadow mask tile uses on screen.
-shadow_mask_y_count 1+ This stretches the shadow mask tiles on X and Y axis.
-shadow_mask_usize 0.0 to 1.0 The size of one shadow mask tile in U/V coordinate.
-shadow_mask_vsize 0.0 to 1.0 The shadow mask textures always has a size of power-of-two.
-shadow_mask_voffset -1.0 to 1.0 The offset of the shadow mask texture in U/V coordinates.
-shadow_mask_voffset -1.0 to 1.0 An offset of 1.0 repressents one pixel on screen.
-distortion -1.0 to 1.0 Distortion amount of the screen.
-cubic_distortion -1.0 to 1.0 Cubic Distortion amount of the screen.
-distort_corner 0.0 to 1.0 Distorted corners amount of the screen.
-round_corner 0.0 to 1.0 Rounded corners amount of the screen.
-smooth_border 0.0 to 1.0 Smooth borders amount of the screen.
-reflection 0.0 to 1.0 Refelection amount of the screen highlight.
-vignetting 0.0 to 1.0 Vignetting amount of the image.
-scanline_alpha 0.0 to 1.0 The overall darkness of each scanline furrow.
-scanline_size 0.0 to 4.0 The overall height of each scanline.
-scanline_height [height] Individual height scaling value for scanlines.
-scanline_bright_scale 0.0 to 2.0 The overall brightness multiplier for each scanline.
-scanline_bright_offset 0.0 to 1.0 The overall brightness additive value for each scanline.
-scanline_jitter 0.0 to 1.0 The relative scanline movement per field.
-hum_bar_alpha 0.0 to 1.0 The maximum darkness of the hum bar gradient.
-defocus [xval,yval] This defines the overall defocus radius for the three
- post-converged beams. Values allowed range from 0.0 to
- 10.0.
-converge_x [r,g,b] Convergence in screen-relative X direction.
-converge_y [r,g,b] Convergence in screen-relative Y direction.
-radial_converge_x [r,g,b] Radial convergence in screen-relative X direction.
-radial_converge_y [r,g,b] Radial convergence in screen-relative Y direction.
- Allowed values for convergence: -10.0 to 10.0 for each color.
-red_ratio [r,g,b] These parameters define a 3x3 matrix which is multiplied
-grn_ratio [r,g,b] by the incoming RGB signal. This can be used for any
-blu_ratio [r,g,b] standard matrix convolution, including H/S/V or simply
- affecting the TV-style tint.
-saturation 0.0 to 4.0 This parameter defines the amount each color channel is
- raised above said channel's baseline grayscale value.
- A value of 0.0 gives a gamma-correct grayscale image,
- whereas 1.0 is full saturation, with each channel being
- oversaturated equally beyond that.
-offset [r,g,b] These parameters define a value for each color channel
- that is added to said channel after scaling and after
- matrix convolution. (-2.0 to 2.0)
-scale [r,g,b] These parameters define a value for each color channel
- that is multiplied with said channel after matrix
- convolution. (-2.0 to 2.0)
-power [r,g,b] These parameters define the exponent for each color
- channel that is applied after scaling, offsetting,
- saturation and matrix convolution. (-4.0 to 4.0)
-floor [r,g,b] These parameters define the lower limit of each final
- color channel value; 0.05, for example, raises the
- minimum to 0.05 but re-scales to leave the max at 1.0.
-phosphor_life [r,g,b] These parameters define the phosphor lifetime for each
- channel, with 0.0 representing no phosphorescence and
- 1.0 leaving the channel on indefinitely. Values allowed
- range from 0.0 to 1.0.
-
-
-NTSC Processing Parameters
---------------------------
-
-Name Default Values Description
-yiq_jitter 0.0 Jitter for the NTSC signal processing. (0.0 to 1.0)
-yiq_cc 3.57954545 Color Carrier frequency for NTSC signal processing. (0.0 to 6.0)
-yiq_a 0.5 A value for NTSC signal processing. (-1.0 to 1.0)
-yiq_b 0.5 B value for NTSC signal processing. (-1.0 to 1.0)
-yiq_o 0.0 Outgoing Color Carrier phase offset for NTSC signal processing. (-3.0 to 3.0)
-yiq_p 1.0 Incoming Pixel Clock scaling value for NTSC signal processing. (-3.0 to 3.0)
-yiq_n 1.0 Y filter notch width for NTSC signal processing. (0.0 to 6.0)
-yiq_y 6.0 Y filter cutoff frequency for NTSC signal processing. (0.0 to 6.0)
-yiq_i 1.2 I filter cutoff frequency for NTSC signal processing. (0.0 to 6.0)
-yiq_q 0.6 Q filter cutoff frequency for NTSC signal processing. (0.0 to 6.0)
-yiq_scan_time 52.6 Horizontal scanline duration for NTSC signal processing. (usec)
-yiq_phase_count 2 Phase Count value for NTSC signal processing. (3 for NES, else 2)
-
-
-Vector Post-Processing Options
-------------------------------
-Name Default Values Description
-vector_beam_smooth 0.0 The vector beam smoothness. (0.00 to 1.00)
-vector_length_scale 0.5 The maximum vector attenuation. (0.00 to 1.00)
-vector_length_ratio 0.5 The minimum vector length (vector length to screen size ratio)
- that is affected by the attenuation (0.000 to 1.000)
-
-
-Bloom Post-Processing Options
------------------------------
-Name Default Values Description
-bloom_blend_mode 0 or 1 0 for brighten blend mode or 1 for darken blend mode.
-bloom_scale 0.0 Bloom intensity factor. (0.000 to 2.000)
-bloom_overdrive 0.0,0.0,0.0 Bloom overdrive factor to bright full saturated colors. (0.000 to 2.000)
-bloom_lvl0_weight 1.00 Bloom level 0 weight. (full-size target) (0.00 to 1.00)
-bloom_lvl1_weight 0.64 Bloom level 1 weight. (1/4 smaller that level 0 target) (0.00 to 1.00)
-bloom_lvl2_weight 0.32 Bloom level 2 weight. (1/4 smaller that level 1 target) (0.00 to 1.00)
-bloom_lvl3_weight 0.16 Bloom level 3 weight. (1/4 smaller that level 2 target) (0.00 to 1.00)
-bloom_lvl4_weight 0.08 Bloom level 4 weight. (1/4 smaller that level 3 target) (0.00 to 1.00)
-bloom_lvl5_weight 0.06 Bloom level 5 weight. (1/4 smaller that level 4 target) (0.00 to 1.00)
-bloom_lvl6_weight 0.04 Bloom level 6 weight. (1/4 smaller that level 5 target) (0.00 to 1.00)
-bloom_lvl7_weight 0.02 Bloom level 7 weight. (1/4 smaller that level 6 target) (0.00 to 1.00)
-bloom_lvl8_weight 0.01 Bloom level 8 weight. (1/4 smaller that level 7 target) (0.00 to 1.00)
-
-
-Presets
--------
-../ini/presets/raster.ini for raster screens
-../ini/presets/vector.ini for color vector screens
-../ini/presets/vector-mono.ini for monochrome vector screens (rename to vector.ini or <system>.ini)
-../ini/presets/lcd.ini for screens with TFT color LCD
-../ini/presets/lcd-matrix.ini for screens with STN LCD matrix (rename to lcd.ini or <system>.ini)
-../ini/presets/gameboy.ini for Game Boy screen (same as lcd-matrix.ini with greenish color transformation)
-../ini/presets/gba.ini for Game Boy Advance screen (same as lcd.ini)
-
diff --git a/docs/release/docs/imgtool.txt b/docs/release/docs/imgtool.txt
deleted file mode 100644
index 2e0bb2c2c05..00000000000
--- a/docs/release/docs/imgtool.txt
+++ /dev/null
@@ -1,578 +0,0 @@
-Imgtool - A generic image manipulation tool for MESS
-
-Imgtool is a tool for the maintenance and manipulation of disk and other types
-of images that MESS users need to deal with. Functions include retrieving and
-storing files and CRC checking/validation.
-
-Imgtool is part of the MESS project. It shares large portions of code with
-MESS/MAME, and its existence would not be if it were not for MESS. As such,
-the distribution terms are the same as MESS. Please read mess.txt thoroughly.
-
-Some portions in Imgtool is Copyright (c) 1989, 1993 The Regents of the
-University of California. All rights reserved.
-
-Using Imgtool
-=============
-
-Imgtool is a command line program that contains several "subcommands" that
-actually do all of the work. Most commands are invoked in a manner along the
-lines of this:
-
- imgtool <subcommand> <format> <image> ...
-
-<subcommand> is the name of the subcommand
-<format> is the format of the image
-<image> is the filename of the image
-
-Further details vary with each subcommand. Also note that not all subcommands
-are applicable or supported for different image formats.
-
-Certain Imgtool subcommands (info, crc, good) make use of the CRC files, so if
-you use these commands, make sure that your CRC directory is set up.
-
-Imgtool Subcommands
-===================
-
-create Creates an image
-dir Lists the contents of an image
-get Gets a single file from an image
-put Puts a single file on an image (wildcards supported)
-getall Gets all files off an image
-del Deletes a file on an image
-info Retrieves info about an image (by reading CRC files)
-crc Retrieves info about an image in the same format used by the
- CRC files
-good CRC checks a set of images and for matching images, copy into
- a new directory
-listformats Lists all image file formats supported by imgtool
-listfilters Lists all filters supported by imgtool
-listdriveroptions Lists all format-specific options for the 'put' and 'create'
- commands
-
-Filters
-=======
-Filters are a means to process data being written into or read out of an image
-in a certain way. Filters can be specified on the get, put, and getall
-commands by specifying --filter=xxxx on the command line. Currently, only
-three filters are supported:
-
- ascii Translates end-of-lines to the appropriate format
- cocobas Processes tokenized CoCo BASIC programs
- dragonbas Processes tokenized Dragon BASIC programs
-
-Format Info
-===========
-
-rsdos CoCo Disks
-----------------
-Fully implemented. This format supports two format-specific options on the put
-command:
-
- --ftype=(basic|data|binary|assembler) Specifies the file type
- --ascii=(ascii|binary) Specifies the ASCII flag
-
-cococas CoCo Cassettes
-----------------------
-Both .cas and .wav supported, but read only.
-
-lnx Commodore 64 Lynx Archive
------------------------------
-only for early revisions of lynx archivs
-only extraction supported
-not heavily tested
-
-Lynx archivs could and should be handled in a c64 emulation
-with the native lynx tool
-
-
-t64 Commodore 64/C64S Archive for Tapes
----------------------------------------
-not heavily tested
-further creation/use of these archivs discouraged
-
-
-c64crt/crt Commodore 64 Cartridge
----------------------------------
-for professional use only (cartridge dumper)
-not heavily tested
-
-
-d64 Commodore SX64/VC1541/1551/2031 Diskette
-x64 VICE variant of the above
-d71 Commodore 128D/1571 Diskette
-d81 Commodore 65/1565/1581 Diskette
------------------------------------
-not heavily tested
-x64: further creation/use discouraged
-
-
-msdos/fat Microsoft DOS Diskette
---------------------------------
-directories not finished
-not heavily tested
-
-Formatting (low and high level) must be done with the msdos utility format!
-Boot structures must be installed on these disks with the msdos utility sys!
-
-standard parameter for common disk formats:
-type 0: 5 1/4 inch, double density, single sided, 160kb: sectors 8, heads 1, tracks 40
-type 1: 5 1/4 inch, DD, SS, 180kb: sectors 9, heads 1, tracks 40
-type 2: 5 1/4 inch, DD, double sided, 320kb: sectors 8, heads 2, tracks 40
-type 3: 5 1/4 inch, DD, DS, 360kb: sectors 9, heads 2, tracks 40
-type 4: 3 1/2 inch, DD, DS, 720kb: sectors 9, heads 2, tracks 80
-at disk controller necessary for high density
-type 5: 5 1/4 inch, high density, DS, 1.2mb: sectors 15, heads 2, tracks 80
- 3 1/2 inch, HD, DS, 1.2mb: sectors 15, heads 2, tracks 80
-type 6: 3 1/2 inch, HD, DS, 1.44mb: sectors 18, heads 2, tracks 80
-special disk controller necessary for enhanced density
-type 7: 3 1/2 inch, enhanced density, DS, 2.88mb: sectors 36, heads 2, tracks 80
-
-unix with bash: use
-dd if=/dev/zero of=<name.dsk> bs=512 count=$((9*2*40))
-to generate standard blank 360kb image
-
-
-msdoshd/fat Microsoft DOS Harddisk/PC Partition Table
------------------------------------------------------
-not finished and not working
-(see also unter msdos/fat)
-
-No low level format necessary with image files
-Partitioning must be done with the msdos utility fdisk
-Then you can format each partition with msdos utility format
-
-standard parameter for common disk formats:
-type 0: 20mb standard pc/xt harddisk: 17 sectors, 4 heads, 615 cylinders
-
-unix with bash: use
-dd if=/dev/zero of=<name.dsk> bs=512 count=$((17*4*615))
-to generate standard blank 20mb pc xt harddisk image
-
-
-Virtual MSX tape archive
-------------------------
-Converts .tap files from Virtual MSX 1.x to .cas files. It is not
-fault-tolerant.
-
-
-Virtual MSX Game Master 2 SRAM file
------------------------------------
-Very simple, not overly useful but some might want it. Virtual MSX stored the
-SRAM of Konami's Game Master 2 in "gmaster2.ram". To convert this to something
-useful with MESS and other MSX emulators, go:
-
-imgtool getall vmsx_gm2 gmaster2.ram
-
-You'll get a file called gmaster2.mem, which must place in the correct directory
-of mess to use (MESS\MEMCARD\GameMaster2 if your Game Master 2 .rom file is
-called GameMaster2.rom). It's ~/.xmess/memcard/GameMaster2.mem for xmess.
-
-
-fMSX style .cas file
---------------------
-Converts .cas files to .wav files. The MSX driver can use .cas files directly
-so you don't have to convert them. You can use it to export files to a real
-MSX. Connect the MSX to the line out of your computer. Give the apropriate
-command on the MSX (BLOAD "CAS:",R for example) and then play the .wav file
-on your computer.
-
-imgtool dir fmsx_cas file.cas
-imgtool getall fmsx_cas file.cas
-imgtool get fmsx_cas file.cas file.wav newfile.wav
-
-
-XelaSoft Archive (.xsa)
------------------------
-
-The XelaSoft Archive is a compressed file. It can only contain one
-file. Although it can contain any file, it's always used for MSX disk
-images. The were programs written by XelaSoft which made a dump
-of a disk, and compressing them at the same time. Very useful to store
-a disk dump on another disk. zip/gzip offer much better compression and
-are mainstream, so let's stick with that.
-
-imgtool uses XSA code developed by Alex Wulms/XelaSoft.
-
-http://web.inter.nl.net/users/A.P.Wulms/
-
-
-Various bogus MSX disk images (img/ddi/msx/multidisks)
-------------------------------------------------------
-
-These are formats you might come across, which have no actual added value
-whatsoever. The only format MESS will support, like most other MSX
-emulators, is .dsk (a plain dump without any header information). This
-filetype converts them all to .dsk format.
-
-msx_img are disk images with an extra byte at the beginning. It' 1 (0x01)
-for single-sided images and 2 (0x02) for double-side images. These
-files are at: ftp://ftp.funet.fi/pub/msx/. The extension is .img
-
-msx_ddi are DiskDupe 5.12 disk images. There is a 0x1800 bytes header
-at the beginning. The CompuJunkS MSX emulator used these files. The header
-often contain garbage so it's simply stripped. The extension is .ddi
-
-msx_msx are disk images with a weird sector order. You can find them
-at: ftp://jazz.snu.ac.kr/pub/msx/. The extension is .msx
-
-msx_mul are "multi disk" images, used by fmsx-dos 1.6. It is simply
-more than one .dsk image appended to one another. The extension is
-still .dsk, but the file is larger than 720kB (actually always a
-multiple of 720kB.
-
-
-rom16 16 bit wide rom image
----------------------------
-allows easy access to even and odd parts
-file even: even bytes
-file odd: odd bytes
-
-
-Amstrad NC100/NC150/NC200 PCMCIA Ram Card Images (crd/card)
------------------------------------------------------------
-
-The card filesystem is similar to FAT, but not identical.
-The maximum card size is 1mb, and maximum file size is 64k.
-(Files will be cut at 64k if they are larger - e.g. when putting a large file)
-
-As far as I know there is no directory system, however there is always a
-system "NC100" directory which points to the root directory. (Like the DOS "."
-directory).
-
-Using imgtool, you can put, get and delete files.
-
-At this time only ascii file type is supported. These files can be loaded
-into the internal wordprocessor,or,if the file is a BASIC listing, it can
-be loaded into basic with "*EXEC <filename>" at the ">" prompt.
-
-From BASIC you can get a directory listing of the card filesystem with "*."
-at the ">" prompt.
-
-The file date information is not supported at this time.
-
-The card filesystem reading/writing in imgtool has not been heavily tested.
-
-
-TI99 floppy disk images (v9t9/pc99fm/pc99mfm/ti99_old)
-------------------------------------------------------
-
-These modules enable you to create and catalog ti99 images, to delete
-individual files and directories, and to get and put files in TIFILE format.
-Note that you cannot create images in pc99 format.
-
-The v9t9 module supports the v9t9 disk images that is used by MESS, the pc99fm
-module supports FM-encoded pc99 images, and the pc99mfm supports MFM-encoded
-pc99 images, and the ti99_old module supports the now obsolete image format
-that was used by MESS versions prior to .69. The MESS ti99 drivers supports
-the v9t9 disk image format only. (Note that the old MESS format was identical
-to the V9T9 format for single-sided disks, but that the track order was
-completely different for double-sided disks, which caused the two formats to be
-incompatible for double-sided disk images. I have changed the format to v9t9
-as this format is used by most other TI99 utilities and emulators.)
-
-The TIFILE format is a file format that is supported by many ti99 utilities: it
-encodes a TI99 file as a flat stream of bytes, which enables to store it on
-file systems that do not support the TI99 file structure and to transmit it
-through networks. This format uses a data format similar to the one used on
-ti99 floppies (i.e. logical records are grouped in physical records of 256
-bytes), with a custom 128-byte header.
-
-Legal characters for volume and file names are upper case ASCII characters,
-except period ('.') and space (' '). Lower case characters are not recommended
-because they are not supported by TI99/4. You had better avoid control
-characters and non-ASCII characters, too. (Additionally, the NULL character is
-forbidden in file names, but I think nobody in his right sense would even try
-to enter a NULL character in a file name.) The restriction on the period ('.')
-character may sound strange to users of other OSes, but this character is used
-as a path separator by TI systems. (As a matter of fact, no TI99 floppy disk
-DSR (except the HFDC DSR) implements disk directories, but other TI systems
-implement this convention extensively.) Since period is used as the path
-separator, TI99 users often use the slash ('/') or dash ('-') characters as
-file extension separators; note, however, that the use of file extensions is
-never systematic in TI99: you may use file extensions if you find them useful,
-just like you may use any other file naming scheme, but no program enforce or
-require filename extensions as it is often the case in the DOS/windows world.
-
-
-Parameters for create:
-
---label=...: an optional string of up to 10 characters.
---sides=[1|2]: 1 for single-sided, 2 for double-sided.
---tracks=[1-80]: number of track per side. Should be 40 for a 40-track disk,
- and 80 for an 80-track disk.
---sectors=[1-36]: number of sectors per track. Should be 9 in single density
- (FM), 18 in double density (MFM), and 36 in high density (MFM).
---protection=[0|1]: when set to 1, the disk will be protected and some (but not
- all) TI99 programs won't overwrite the disk.
---density=[Auto|SD|DD|HD]: you should probably leave this parameter to Auto, so
- that imgtool picks the correct value automatically (according to the number
- of sectors per track). If you really need to, SD forces single density
- (FM), DD forces double density (MFM), and HD forces high density (MFM).
-
-Supported geometries for create:
-
- description |sides|tracks|sectors| size | FDC Compatibility (1)
- | | | | |
-SSSD 48TPI 5"1/4 | 1 | 40 | 9 | 90K | All
- | | | | |
-DSSD 48TPI 5"1/4 | 2 | 40 | 9 | 180K | All
- | | | | |
-DSDD 48TPI 5"1/4 | 2 | 40 | 18 | 360K | SNUG BwG, Myarc HFDC
- | | | | |
-DSDD 96TPI 5"1/4 | 2 | 80 | 18 | 720K | Myarc HFDC (2)
-or DSDD 3"1/2 | | | | |
- | | | | |
-DSHD 3"1/2 | 2 | 80 | 36 |1.44M | Myarc HFDC (Geneve Only) (3)
-
-(1) Only emulated controllers are listed in this table
-(2) SNUG BwG can read such images, but it will corrupt them when writing new
- data to them
-(3) You cannot boot from such images (this is because the Geneve MDOS operating
- system needs to replaces the incomplete HFDC DSR with a better DSR to
- support HD: since MDOS is not loaded yet at boot time, you cannot boot from
- a HD disk).
-
-
-Examples:
-
-List the catalog of image test.dsk:
-imgtool dir v9t9 test.dsk
-
-Extract file FILE1 located on image test.dsk:
-imgtool get v9t9 test.dsk FILE1
-
-Extract file FILE1 located in subdirectory SUBDIR1 on image test.dsk:
-imgtool get v9t9 test.dsk SUBDIR1.FILE1
-
-Write file FILE1 on image test.dsk:
-imgtool put v9t9 test.dsk FILE1
-(Note that file FILE1 must not exist before the command is run. Use the delete
-command first if you need to overwrite an existing file.)
-
-Delete file FILE1 located in subdirectory SUBDIR1 on image test.dsk:
-imgtool delete v9t9 test.dsk SUBDIR1.FILE1
-
-Delete subdirectory SUBDIR1 on image test.dsk:
-imgtool delete v9t9 test.dsk SUBDIR1
-(Subdirectory SUBDIR1 must be empty.)
-
-Create a SSSD image compatible with all controllers:
-imgtool create v9t9 test.dsk --sides=1 --tracks=40 --sectors=9
-
-Create a DSSD image compatible with all controllers:
-imgtool create v9t9 test.dsk --sides=2 --tracks=40 --sectors=9
-
-Create a DSDD image compatible with BwG and HFDC controllers:
-imgtool create v9t9 test.dsk --sides=2 --tracks=40 --sectors=18
-
-Create a 80-track DSDD image compatible with the HFDC controller:
-imgtool create v9t9 test.dsk --sides=2 --tracks=80 --sectors=18
-
-Create a DSHD image compatible with the Geneve with a HFDC controller:
-imgtool create v9t9 test.dsk --sides=2 --tracks=80 --sectors=36
-
-
-TI99 hard disk images (ti99hd)
-------------------------------
-
-This module can catalog ti99 hard disk images, delete individual files and
-directories, and get and put files in TIFILE format. Only images in HFDC
-format are supported for now (no SCSI format).
-
-
-TI990 disk images (ti990hd)
----------------------------
-
-This module supports disk images in DNOS format (which appears to be virtually
-identical to DX10 3.x format). Although the module is named ti990hd, this
-module will work fine with floppy images as well as hard disk images: just make
-sure that the disks are formatted in the proper format, as neither DX10 2.x nor
-TX990 formats are supported.
-
-
-Parameters for create:
-
-The most interesting command is create, as you cannot create new images within
-emulation.
-
---cylinders: number of cylinders
---heads: number of heads
---sectors: number of sectors per track
---seclen: bytes per sector
-
-
-Known restrictions on geometry:
-
-256 < bytes per sector < 512 (arbitrary restriction, actual TI990s might
- accept values out of this range)
-bytes per sector must be even
-3 < # cylinders < 2047
-1 < # heads < 31
-1 < sectors per track < 256
-(sectors per track) * (bytes per sector) < 2^17 = 131072 (which implies
- (sectors per track) < 255 if sectors are 512-byte long)
-
-(There are probably other restrictions, so you had better stick to values
-similar to the ones used by actual disk units... Also note that according to
-the Spectra 126-Plus manual, ADU size limitations prevent most operating
-systems from supporting units larger than 500MBytes.)
-
-
-Known drive geometries:
-
-(Sources: 946250-9703 p. 3-14, 2270512-9701 p. 11-3, 945250-9701 pp. 5-20
-through 5-28, 946250-9701B pp. 2-1 through 2-3, 2540219A-0001 pp. 4-2 and 4-3,
-2306140-9701 p. 1-15, 223439B-9701 pp. 3-14 and 3-28. See also "Spectra
-126-Plus Product Reference Manual" by Cipher P/N 8500055 revision A4 page 2-8.)
-
-Disk Type Units Size (MB) Cylinders Heads Sectors/Track Bytes/Sector
-FD800 (min) 1 .244 77 1 26 128
-FD800 (max) 1 .978??? 77 2??? 26??? 256???
-FD1000 1 1.15 77 2 26 288
-DS31/DS32 1 2.81 203 2 24 288
-DS10 2 4.70 408 2(*2) 20 288
-DS25 1 22.3 408 5 38 288
-DS50 1 44.6 815 5 38 288
-DS200 1 169.5 815 19 38 288
-CD1400-32 2 13.5 821(h) 1 64 256
-CD1400-64 (rem) 1 13.5 821(h) 1 64 256
-CD1400-64 (fix) 1 38.5 821(h) 3 64 256
-CD1400-96 (rem) 1 13.5 821(h) 1 64 256
-CD1400-96 (fix) 1 67.3 821(h) 5 64 256
-DS80 1 62.7 803(g) 5 61 256
-DS300 1 238.3 803(c) 19 61 256
-WD800-18 1 18.5 651(b) 3 37 256
-WD800-43 1 43.2 651(b) 7 37 256
-WD800A/38 1 38.5 911(d) 5 33 256
-WD800A/69 1 69.3 911(d) 9 33 256
-WD800A/114 1 114.6 904(d) 15 33 256
-WD500 1 4.92 150(a) 4 32 256
-WD500A 1 17.1 694(a) 3 32 256
-WD900-138 1 138.1 805(e) 10 67 256
-WD900-138/2 2 69.0 805(e) 5(*2) 67 256
-WD900-425 1 425.8 693(e) 24 100 256
-WD900-425/2 2 212.9 693(e) 12(*2) 100 256
-MSU II 1 158.8 957(f) 9 36 512
-MSU IIA 1 332.9 1204(f) 15 36 512
-
-a) some extra cylinders are reserved for diagnostics
-b) 6 extra cylinders are reserved for storage system use (including 2 for
- diagnostics)
-c) some extra cylinders are reserved for diagnostics, and 10 extra cylinders
- are reserved to replace bad tracks
-d) 4 extra cylinders are reserved for storage system use (including 2 for
- diagnostics), and 10 extra cylinders are reserved to replace bad tracks
-e) 16 extra cylinders are reserved for bad track relocation
-f) there are extra cylinders, and the way logical addresses relates to physical
- address is so complex I don't even want to talk about it
-g) 2 extra cylinders are reserved for diagnostics, and 10 extra cylinders are
- reserved to replace bad tracks
-h) 2 extra cylinders are reserved for diagnostics
-
-Note that 2270512-9701 and 946250-9703 describe more disk units (namely CMD 16,
-CMD 80, WD800A-43 and WD800A-100 for the former, and WD500-10 for the later).
-Since there are no other references anywhere and DX-10 does not seem to know
-about them, I assume that these models were uncommon.
-
-FD800 is a 8" floppy disc unit that is not emulated, and it is only cited for
-completeness. (The FD800 controller is connected to the CRU bus instead of the
-TILINE bus, and it is the only disc controller that is supported by non-TILINE
-systems).
-
-FD1000 is a 8" floppy disc unit.
-
-DS31/DS32 was the first hard disk unit for ti990. The only difference between
-DS31 and DS32 is that DS32 does not require a screwdriver to change the disc
-cartridge.
-
-DS10 has one 5-mb fixed platter and one 5mb disk cartridge.
-
-CD1400-32 and CD1400-96 have a one-platter 16-mb removable unit, and a fixed
-unit (16 mb for CD1400-32 and 80 mb for CD1400-96).
-
-WDxxx units are Winchester drives that connect to a proprietary PBUS bus
-interface. This bus is a built-in interface in BS300 and BS300A systems, and
-the TPBI card enables any TILINE 990 system to support it. WD800s are 8"
-drives with integrated tape backup, WD500s are 5"1/4 drives with integrated
-FD1000 backup, and WD900s are 9" drives. The WD900 controller can optionally
-partition the disc into two partitions: the set-up with no partitioning is
-listed as WD900-138 and WD900-425, whereas the set-up with partitioning is
-listed as WD900-138/2 and WD900-425/2.
-
-MSU II and MSU IIa are SCSI units to be connected to the 990/SCSI controller
-board.
-
-
-Macintosh floppy disk images (mac)
-----------------------------------
-
-This module supports MFS (Macintosh File System) and HFS (Hierarchical File
-System) floppy disk images, either in diskcopy 4.2 or raw image format (the raw
-image format is partially compatible with diskcopy 6 format).
-
-This module can catalog images, and get files in MacBinary format. You can put
-files on MFS-formatted images, too, but not on HFS-formatted images.
-
-The module does not support folders in MFS format, because MFS folders are not
-documented by Apple.
-
-Extracted files are in MacBinary III format (which is fully compatible with
-MacBinary I and II). The MacBinary III format joins both macintosh file forks,
-the comment field, and most file info in one single file: it is supported by
-several Macintosh utilities.
-
-
-Texas Instruments calculators variable files
---------------------------------------------
-
-+--------+------------------------------------------+-----------+
-| Format | Description | Extension |
-+--------+------------------------------------------+-----------+
-| ti85p | TI-85 program file | 85p |
-| ti85s | TI-85 string file (also ZShell programs) | 85s |
-| ti85i | TI-85 picture file (85-image) | 85i |
-| ti85n | TI-85 real number file | 85n |
-| ti85c | TI-85 complex number file | 85c |
-| ti85l | TI-85 list (real or complex) | 85l |
-| ti85k | TI-85 constant file | 85k |
-| ti85m | TI-85 matrix (real or complex) file | 85m |
-| ti85v | TI-85 vector (real or complex) file | 85v |
-| ti85d | TI-85 graphics database file | 85d |
-| ti85e | TI-85 equation file | 85e |
-| ti85r | TI-85 range settings file | 85r |
-| ti85g | TI-85 grouped file | 85g |
-| ti85 | TI-85 generic file | 85? |
-| ti86p | TI-86 program file | 86p |
-| ti86s | TI-86 string file | 86s |
-| ti86i | TI-86 picture file (85-image) | 86i |
-| ti86n | TI-86 real number file | 86n |
-| ti86c | TI-86 complex number file | 86c |
-| ti86l | TI-86 list (real or complex) file | 86l |
-| ti86k | TI-86 constant file | 86k |
-| ti86m | TI-86 matrix (real or complex) file | 86m |
-| ti86v | TI-86 vector (real or complex) file | 86v |
-| ti86d | TI-86 graphics database file | 86d |
-| ti86e | TI-86 equation file | 86e |
-| ti86r | TI-86 range settings file | 86r |
-| ti86g | TI-86 grouped file | 86g |
-| ti86 | TI-86 generic file | 86? |
-+--------+------------------------------------------+-----------+
-
-Grouped formats (ti85g and ti86g) can keep more than one variable.
-Generic formats (ti85 and ti86) can be used for all types of variable files.
-For all types of variable files dir, create, put, get and delete commands are
-supported.
-
-
-Texas Instruments calculators memory backup files
--------------------------------------------------
-
-+--------+------------------------------------------+-----------+
-| Format | Description | Extension |
-+--------+------------------------------------------+-----------+
-| ti85b | TI-85 memory backup file | 85b |
-+--------+------------------------------------------+-----------+
-
-For TI memory backup files only dir command is supported.
-
-
diff --git a/docs/release/docs/license.txt b/docs/release/docs/license.txt
index 2c4afabdb63..bb15e9a2645 100644
--- a/docs/release/docs/license.txt
+++ b/docs/release/docs/license.txt
@@ -115,3 +115,4 @@ Affirmer's express Statement of Purpose.
For more information, please see
<http://creativecommons.org/publicdomain/zero/1.0/>
+
diff --git a/docs/release/docs/mame.txt b/docs/release/docs/mame.txt
deleted file mode 100644
index 3afb2e692d8..00000000000
--- a/docs/release/docs/mame.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-MAME(r)
-Copyright (c) 1997-2016 by MAMEdev and contributors
-MAME is a registered trademark of Nicola Salmoria
-
-
-----------
-I. Purpose
-----------
-MAME main purpose is to be a reference to the inner workings of the
-emulated machines. This is done both for educational purposes and for
-preservation purposes, in order to prevent historical software from
-disappearing forever once the hardware it runs on stops working. Of
-course, in order to preserve the software and demonstrate that the
-emulated behavior matches the original, one must also be able to
-actually use the software. This is considered a nice side effect, and is
-not MAME's primary focus.
-
-It is not our intention to infringe on any copyrights or patents on the
-original games. All of MAME's source code is either our own or freely
-available. To operate, the emulator requires images of the original
-ROMs, CDs, hard disks or other media from the machines, which must be
-provided by the user. No portions of the original game code are included
-in the executable.
-
-
---------
-II. Cost
---------
-MAME is free. Its source code is free. The project as whole is
-distributed under the GNU General Public License, version 2 or later
-(GPL-2.0+), but most of code (including core functionality) is also
-available under the 3-clause BSD license (BSD-3-clause).
-
-
--------------------------
-III. Software Image Files
--------------------------
-ROM, CD, hard disk and other media images are all copyrighted material.
-They cannot be distributed without the explicit permission of the
-copyright holder(s). They are not "abandonware", nor has any of the
-software supported by MAME passed out of copyright.
-
-MAME is not intended to be used as a tool for mass copyright
-infringement. Therefore, it is strongly against the authors' wishes to
-sell, advertise, or link to resources that provide illegal copies of
-ROM, CD, hard disk or other media images.
-
-
---------------------
-IV. Derivative Works
---------------------
-Because the name MAME is trademarked, you must abide by the rules set
-out for trademark usage if you wish to use "MAME" as part of the name
-your derivative work. In general, this means you must request
-permission, which requires that you follow the guidelines above.
-
-The version number of any derivative work should reflect the version
-number of the MAME release from which it was was derived.
-
-
--------------------------------
-V. Official Contact Information
--------------------------------
-For questions regarding the MAME license, trademark, or other usage, go
-to http://www.mamedev.org/
-
diff --git a/docs/release/docs/newvideo.txt b/docs/release/docs/newvideo.txt
deleted file mode 100644
index 28bf81e972b..00000000000
--- a/docs/release/docs/newvideo.txt
+++ /dev/null
@@ -1,147 +0,0 @@
-This article originally appeared in a slightly different form at
-http://aarongiles.com. You should read this if you are used to how
-MAME's video system worked prior to 0.107 and you want to understand
-how you should configure MAME with the new rendering system in place.
-
-
-The New Video Landscape
-
-Since its inception 9 years ago, MAME's video system has defaulted to
-a mode where it tries to change resolutions on you. And since the
-first port of the core to Windows 5 years ago, it has defaulted to
-using your graphics card to stretch the video to that resolution.
-
-I'm sure a lot of you out there have taken a lot of time to tweak the
-current set of video options to make them work the way you like. But
-every once in a while, you need to take a step back and re-evaluate
-the situation. The current video system has been in place for 5 years
-now without much substantial change. And with the recent rewrite,
-you're almost certainly going to want to rethink the way you have
-things configured.
-
-At the highest level, there are really three different ways you can
-configure the new system. Placing yourself into one of these three
-categories will help you get the initial settings right. From there,
-you can tweak with the settings to figure out what works best.
-
-
-Category 1: Bells and whistles. People who fall into this category
-would include anyone with a modern system and a decent video card
-(decent in this context means at least 16MB of VRAM and built in the
-last 5 years or so -- we're not talking cutting edge here). Any decent
-video card will be able to render the simple MAME graphics at pretty
-much any resolution without breaking a sweat. Configure your desktop
-to the video mode you want (preferably something high like 1024x768
-or greater with a high refresh rate, unless you are running on a
-fixed-mode LCD, in which case just match what your LCD panel is),
-and tell MAME to leave the resolution alone. In this day and age,
-there is little reason to switch resolutions at all, unless you
-fall into Category 3, below. In this mode, you will have full access
-to artwork options, and you'll get your artwork scaled to full
-resolution and with full alpha blending effects. Vector games will
-look crisp, you can use decent fonts, and you can see a whole lot
-more of the world when using the graphics/tilemap viewer. This mode
-uses Direct3D, so you should configure yourself like this:
-
- -video d3d -noswitchres [-triplebuffer] [-nofilter]
-
-The -noswitchres option tells MAME to just run at the current
-resolution. Although you can let MAME pick a resolution for you, it
-doesn't really make much sense in D3D mode, and in fact I may even
-remove that feature altogether. To avoid tearing artifacts, I
-recommend using the -triplebuffer option as well. Just make sure your
-monitor's refresh rate is higher than the game you are running. If
-you dislike the blurry look of the graphics, you can specify the
--nofilter option to disable bilinear filtering, though that will
-produce blocky artifacts. Alternatively, you can use the -prescale
-option which is described at the end of this article.
-
-
-Category 2: Like the old days. I really didn't even want to support
-this mode at all, but certain vocal MAMEdevs would have skinned me
-alive otherwise. People who fall into this category include those who
-have weak systems that worked fine with previous versions of MAME,
-but who don't run well with Direct3D rendering. (Note that just
-because Space Invaders runs unthrottled at 2000fps with DirectDraw
-and 1000fps with Direct3D doesn't mean that Direct3D is going to be
-a serious issue when playing at a regular 60fps, so if you're unsure,
-give the Direct3D route a try for a while.) In this mode, MAME will
-draw the game screen and artwork at the game's resolution, just like
-it did in MAME 0.106 and earlier; however, some artwork options,
-such as -artcrop, won't work as you might expect, and some alpha
-blending artwork modes (specifically overlays) will operate with a
-performance penality. MAME will then use your video card to stretch
-the video to the proper aspect ratio.
-
- -video ddraw -hwstretch [-switchres] [-triplebuffer]
-
-The -switchres is optional here. If your video card is really ancient
-and struggles expanding the screen to fit your desktop resolution,
-you might want to turn it on. Again, to avoid tearing artifacts, I
-recommend using the -triplebuffer option as well, but make sure your
-monitor's refresh rate is higher than the game you are running
-(-switchres will do that for you if you use it). If your video card
-produces blurry pixels which you don't like, try the -prescale option
-described at the end of this article.
-
-
-Category 3: Anal video mode types. These are the guys who have
-generally built their own cabinets and set them up with a CRT display
-where they have several dozen carefully hand-tweaked video modes that
-approximate the original video modes the games ran at. They want MAME
-to pick that hand-tweaked mode and use it, drawing one pixel on the
-screen for each pixel in the original game. They don't give a whit
-about artwork or anything other than the raw pixels going to the
-right place. Fortunately, you can still configure MAME for this case
-as well:
-
- -video ddraw -nohwstretch -switchres [-triplebuffer]
-
-Obviously in this case, the -switchres is required. You also want to
-disable hardware stretching, otherwise you won't get that "perfect"
-1:1 pixel mapping. Triple buffering may or may not help.
-
-
-So, I recommend starting with these initial options and then tweaking
-from there. One additional option you might want to try in
-combination with the above is the -prescale option. -prescale takes
-an integer parameter from 1 to 3, and specifies a magnification
-amount by which the screen pixels are expanded before they are drawn
-to the screen. Why is this useful? And how much of a performance
-impact does it have? Well, that depends on the mode you are running
-in.
-
-If you are running in Category 1 (-video d3d), then -prescale will
-use your video card to scale the game graphics up before rendering
-them to the screen. Depending on the video card, this is usually a
-small performance hit, but not too significant. The benefit is that
-each prescale factor reduces the blurriness of the pixels.
--prescale 1 is the default, which does no scaling. -prescale 2 will
-double each pixel, and -prescale 3 will triple each pixel. For my
-money, -prescale 2 is sufficient, but people with super high
-resolution displays claim that larger -prescale factors work even
-better.
-
-If you are running in Category 2 (-video ddraw -hwstretch), then
--prescale will cause MAME to compose the screen graphics at the
-specified scale factor. This is unfortunately done in software, but
-carries the benefit that artwork, fonts, and the graphics viewer can
-take advantage of the additional resolution to produce nicer results.
-The end effect is that you will get less blurry pixels, just like the
-Category 1 case, plus higher quality artwork, fonts, and more visible
-area in the graphics viewer.
-
-If you are running in Category 3 (-video ddraw -nohwstretch), then
--prescale will cause MAME to pick a video mode that is the prescale
-factor times the raw screen resolution, and then MAME will, in
-software, compose the screen graphics at the specified scale factor.
-This has all the advantages of the Category 2 case, except that since
-there wasn't any pixel blurring to begin with, there is no additional
-crispness that comes about as a result.
-
-Finally, you may be wondering about effects (and yes, scanlines are
-an "effect"). Effects are no longer hard-coded into the system.
-Rather, you can provide a PNG file in the artwork directory that will
-be loaded and overlaid on top of screen bitmaps. See the description
-of -effect in windows.txt for more details.
-
diff --git a/docs/release/docs/nscsi.txt b/docs/release/docs/nscsi.txt
deleted file mode 100644
index 4a9acab3d63..00000000000
--- a/docs/release/docs/nscsi.txt
+++ /dev/null
@@ -1,235 +0,0 @@
-The new SCSI subsystem
-----------------------
-
- 1. Introduction
-
-The nscsi subsystem was created to allow an implementation to be
-closer to the physical reality, making it easier (hopefully) to
-implement new controller chips from the documentations.
-
-
- 2. Global structure
-
-Parallel SCSI is built around a symmetric bus to which a number of
-devices are connected. The bus is composed of 9 control lines (for
-now, later scsi versions may have more) and up to 32 data lines (but
-currently implemented chips only handle 8). All the lines are open
-collector, which means that either one or multiple chip connect the
-line to ground and the line, of course, goes to ground, or no chip
-drives anything and the line stays at Vcc. Also, the bus uses
-inverted logic, where ground means 1. SCSI chips traditionally work
-in logical and not physical levels, so the nscsi subsystem also works
-in logical levels and does a logical-or of all the outputs of the
-devices.
-
-Structurally, the implementation is done around two main classes:
-nscsi_bus_devices represents the bus, and nscsi_device represents an
-individual device. A device only communicate with the bus, and the
-bus takes care of transparently handling the device discovery and
-communication. In addition the nscsi_full_device class proposes a
-scsi device with the scsi protocol implemented making building generic
-scsi devices like harddrives or cdrom readers easier.
-
-
- 3. Plugging in a scsi bus in a driver
-
-The nscsi subsystem leverages the slot interfaces and the device
-naming to allow for a configurable yet simple bus implementation.
-
-First you need to create a list of acceptable devices to plug on the
-bus. This usually comprises of cdrom, harddisk and the controller
-chip. For instance:
-
-static SLOT_INTERFACE_START( next_scsi_devices )
- SLOT_INTERFACE("cdrom", NSCSI_CDROM)
- SLOT_INTERFACE("harddisk", NSCSI_HARDDISK)
- SLOT_INTERFACE_INTERNAL("ncr5390", NCR5390)
-SLOT_INTERFACE_END
-
-The _INTERNAL interface indicates a device that is not
-user-selectable, which is useful for the controller.
-
-Then in the machine config (or in a fragment config) you need to first
-add the bus, and then the (potential) devices as subdevices of the bus
-with the scsi id as the name. For instance you can use:
-
- MCFG_NSCSI_BUS_ADD("scsibus")
- MCFG_NSCSI_ADD("scsibus:0", next_scsi_devices, "cdrom", 0, 0, 0, false)
- MCFG_NSCSI_ADD("scsibus:1", next_scsi_devices, "harddisk", 0, 0, 0, false)
- MCFG_NSCSI_ADD("scsibus:2", next_scsi_devices, 0, 0, 0, 0, false)
- MCFG_NSCSI_ADD("scsibus:3", next_scsi_devices, 0, 0, 0, 0, false)
- MCFG_NSCSI_ADD("scsibus:4", next_scsi_devices, 0, 0, 0, 0, false)
- MCFG_NSCSI_ADD("scsibus:5", next_scsi_devices, 0, 0, 0, 0, false)
- MCFG_NSCSI_ADD("scsibus:6", next_scsi_devices, 0, 0, 0, 0, false)
- MCFG_NSCSI_ADD("scsibus:7", next_scsi_devices, "ncr5390", 0, &next_ncr5390_interface, 10000000, true)
-
-That configuration puts as default a cdrom reader on scsi id 0 and a
-hard drive on scsi id 1, and forces the controller on id 7. The
-parameters of add are:
-- device tag, comprised of bus-tag:scsi-id
-- the list of acceptable devices
-- the device name as per the list, if one is to be there by default
-- the device input config, if any (and there usually isn't one)
-- the device configuration structure, usually for the controller only
-- the frequency, usually for the controller only
-- "false" for a user-modifyable slot, "true" for a fixed slot
-
-The full device name, for mapping purposes, will be
-bus-tag:scsi-id:device-type, i.e. "scsibus:7:ncr5390" for our
-controller here.
-
-
- 4. Creating a new scsi device using nscsi_device
-
-The base class "nscsi_device" is to be used for down-to-the-metal
-devices, i.e. scsi controller chips. The class provides three
-variables and one method. The first variable, scsi_bus, is a pointer
-to the nscsi_bus_device. The second, scsi_refid, is an opaque
-reference to pass to the bus on some operations. Finally, scsi_id
-gives the scsi id as per the device tag. It's written once at startup
-and never written or read afterwards, the device can do whatever it
-wants with the value or the variable.
-
-The virtual method scsi_ctrl_changed is called when watched-for
-control lines change. Which lines are watched is defined through the
-bus.
-
-The bus proposes five methods to access the lines. The read methods
-are ctrl_r() and data_r(). The meaning of the control bits are
-defined in the S_* enum of nscsi_device. The bottom three bits (INP,
-CTL and MSG) are setup so that masking with 7 (S_PHASE_MASK) gives the
-traditional numbers for the phases, which are also available with the
-S_PHASE_* enum.
-
-Writing the data lines is done with data_w(scsi_refid, value).
-Writing the control lines is done with ctrl_w(scsi_refid, value,
-mask-of-lines-to-change). To change all control lines in one call use
-S_ALL as the mask.
-
-Of course, what is read is the logical-or of all of what is driven by
-all devices.
-
-Finally, the method ctrl_wait_w(scsi_id, value,
-mask-of-wait-lines-to-change) allows to select which control lines are
-watched. The watch mask is per-device, and the device method
-scsi_ctrl_changed is called whenever a control line in the mask
-changes due to an action of another device (not itself, to avoid an
-annoying and somewhat useless recursion).
-
-Implementing the controller is then just a matter of following the
-state machines descriptions, at least if they're available. The only
-part often not described is the arbitration/selection, which is
-documented in the scsi standard though. For an initiator (which is
-what the controller essentially always is), it goes like this:
-- wait for the bus to be idle
-- assert the data line which number is your scsi_id (1 << scsi_id)
-- assert the busy line
-- wait the arbitration time
-- check that the of the active data lines the one with the highest number is yours
- - if no, the arbitration was lost, stop driving anything and restart at the beginning
-- assert the select line (at that point, the bus is yours)
-- wait a short while
-- keep your data line asserted, assert the data line which number is the scsi id of the target
-- wait a short while
-- assert the atn line if needed, deassert busy
-- wait for busy to be asserted or timeout
- - timeout means nobody is answering at that id, deassert everything and stop
-- wait a short while for deskewing
-- deassert the data bus and the select line
-- wait a short while
-
-and then you're done, you're connected with the target until the
-target deasserts the busy line, either because you asked it to or just
-to annoy you. The deassert is called a disconnect.
-
-The ncr5390 is an example of how to use a two-level state machine to
-handle all the events.
-
-
- 5. Creating a new scsi device using nscsi_full_device
-
-The base class "nscsi_full_device" is used to create HLE-d scsi
-devices intended for generic uses, like hard drives, cdroms, perhaps
-scanners, etc. The class provides the scsi protocol handling, leaving
-only the command handling and (optionally) the message handling to the
-implementation.
-
-The class currently only support target devices.
-
-The first method to implement is scsi_command(). That method is
-called when a command has fully arrived. The command is available in
-scsi_cmdbuf[], and its length is in scsi_cmdsize (but the length is
-generally useless, the command first byte giving it). The 4096-bytes
-scsi_cmdbuf array is then freely modifiable.
-
-In scsi_command(), the device can either handle the command or pass it
-up with nscsi_full_device::scsi_command().
-
-To handle the command, a number of methods are available:
-
-- get_lun(lua-set-in-command) will give you the lun to work on (the
- in-command one can be overriden by a message-level one).
-
-- bad_lun() replies to the host that the specific lun is unsupported.
-
-- scsi_data_in(buffer-id, size) sends size bytes from buffer buffer-id
-
-- scsi_data_out(buffer-id, size) recieves size bytes into buffer buffer-id
-
-- scsi_status_complete(status) ends the command with a given status.
-
-- sense(deferred, key) prepares the sense buffer for a subsequent
- request-sense command, which is useful when returning a
- check-condition status.
-
-The scsi_data_* and scsi_status_complete commands are queued, the
-command handler should call them all without waiting.
-
-buffer-id identifies a buffer. 0, aka SBUF_MAIN, targets the
-scsi_cmdbuf buffer. Other acceptable values are 2 or more. 2+ ids
-are handled through the scsi_get_data method for read and
-scsi_put_data for write.
-
-UINT8 device::scsi_get_data(int id, int pos) must return byte pos of
-buffer id, upcalling in nscsi_full_device for id < 2.
-
-void device::scsi_put_data(int id, int pos, UINT8 data) must write
-byte pos in buffer id, upcalling in nscsi_full_device for id < 2.
-
-scsi_get_data and scsi_put_data should do the external reads/writes
-when needed.
-
-The device can also override scsi_message to handle scsi messages
-other than the ones generically handled, and it can also override some
-of the timings (but a lot of them aren't used, beware).
-
-A number of enums are defined to make things easier. The SS_* enum
-gives status returns (with SS_GOOD for all's well). The SC_* enum
-gives the scsi commands. The SM_* enum gives the scsi messages, with
-the exception of identify (which is 80-ff, doesn't really fit in an
-enum).
-
-
- 6. What's missing
- 6.1. What's missing in scsi_full_device
-
-Initiator support - we have no initiator device to HLE at that point.
-
-Delays - a scsi_delay command would help giving more realistic timings
-to the cdrom reader in particular.
-
-Disconnected operation - would first require delays and in addition an
-emulated OS that can handle it.
-
-16-bits wide operation - needs an OS and an initiator that can handle
-it.
-
-
- 6.2. What's missing in the ncr5390 (and probably future other controllers)
-
-Bus free detection. Right now the bus is considered free if the
-controllers isn't using it, which is true. This may change once
-disconnected operation is in.
-
-Target commands, we don't emulate (vs. HLE) any target yet.
-
diff --git a/docs/release/docs/windows.txt b/docs/release/docs/windows.txt
deleted file mode 100644
index dc205ee197b..00000000000
--- a/docs/release/docs/windows.txt
+++ /dev/null
@@ -1,371 +0,0 @@
-This file describes Windows-specific usage information about MAME. It is
-intended to cover aspects of using and configuring the program that are
-specific to running MAME from the command line on a Windows-based system.
-For common options that apply to all systems, please see config.txt.
-
-In addition to the keys described in config.txt, the following additional
-keys are defined for Windows versions of MAME:
-
-
-
-Windows debugging options
--------------------------
-
--[no]oslog
-
- Outputs the error.log data to the Windows debugger. This can be used at
- the same time as -log to output the log data to both targets as well.
- Default is OFF (-nooslog).
-
--watchdog <duration> / -wdog <duration>
-
- Enables an internal watchdog timer that will automatically kill the MAME
- process if more than <duration> seconds passes without a frame update.
- Keep in mind that some games sit for a while during load time without
- updating the screen, so <duration> should be long enough to cover that.
- 10-30 seconds on a modern system should be plenty in general. By default
- there is no watchdog.
-
--debugger_font <fontname> / -dfont <fontname>
-
- Specifies the name of the font to use for debugger windows. By default,
- the font is Lucida Console.
-
--debugger_font_size <points> / -dfontsize <points>
-
- Specifies the size of the font to use for debugger windows, in points.
- By default, this is set to 9pt.
-
-
-
-Windows performance options
----------------------------
-
--priority <priority>
-
- Sets the thread priority for the MAME threads. By default the priority
- is left alone to guarantee proper cooperation with other applications.
- The valid range is -15 to 1, with 1 being the highest priority. The
- default is 0 (NORMAL priority).
-
--[no]multithreading / -[no]mt
-
- Enables multithreading within MAME. At the moment, this causes the
- window and all DirectDraw/Direct3D code to execute on a second thread,
- which can improve performance on hyperthreaded and multicore systems.
- The default is OFF (-nomultithreading).
-
--numprocessors <auto|value> / -np <auto|value>
-
- Specify the number of processors to use for work queues. Specifying
- "auto" will use the value reported by the system or environment
- variable OSDPROCESSORS. To avoid abuse, this value is internally limited
- to 4 times the number of processors reported by the system.
- The default is "auto".
-
--profile [n]
-
- Enables profiling, specifying the stack depth of [n] to track.
-
--bench [n]
-
- Benchmark for [n] number of emulated seconds; implies the command string:
- -str [n] -video none -sound none -nothrottle
-
-
-
-Windows video options
----------------------
-
--video <gdi|ddraw|d3d|none>
-
- Specifies which video subsystem to use for drawing. By specifying 'gdi'
- here, you tell MAME to render video using standard Windows graphics
- drawing calls. This is the slowest but most compatible option.
- Specifying 'ddraw' instructs MAME to use DirectDraw for rendering.
- This causes MAME to render everything at a lower resolution and then
- upscale the results at the end. This produces high performance,
- especially on older or low-power video cards, but has a noticeably
- lower output quality. Specifying 'd3d' tells MAME to use Direct3D for
- rendering. This produces the highest quality output and enables all
- rendering options. It is recommended if you have a recent (2002+)
- video card. The final option 'none' displays no windows and does no
- drawing. This is primarily present for doing CPU benchmarks without
- the overhead of the video system. The default is d3d.
-
--numscreens <count>
-
- Tells MAME how many output windows to create. For most games, a single
- output window is all you need, but some games originally used multiple
- screens. Each screen (up to 4) has its own independent settings for
- physical monitor, aspect ratio, resolution, and view, which can be
- set using the options below. The default is 1.
-
--[no]window / -[no]w
-
- Run MAME in either a window or full screen. The default is OFF
- (-nowindow).
-
--[no]maximize / -[no]max
-
- Controls initial window size in windowed mode. If it is set on, the
- window will initially be set to the maximum supported size when you
- start MAME. If it is turned off, the window will start out at the
- smallest supported size. This option only has an effect when the
- -window option is used. The default is ON (-maximize).
-
--[no]keepaspect / -[no]ka
-
- Enables aspect ratio enforcement. When this option is on, the game's
- proper aspect ratio (generally 4:3 or 3:4) is enforced, so you get the
- game looking like it should. When running in a window with this option
- on, you can only resize the window to the proper aspect ratio, unless
- you are holding down the CONTROL key. By turning the option off, the
- aspect ratio is allowed to float. In full screen mode, this means that
- all games will stretch to the full screen size (even vertical games).
- In window mode, it means that you can freely resize the window without
- any constraints. The default is ON (-keepaspect).
-
--prescale <amount>
-
- Controls the size of the screen images when they are passed off to the
- graphics system for scaling. At the minimum setting of 1, the screen
- is rendered at its original resolution before being scaled. At higher
- settings, the screen is expanded by a factor of <amount> before being
- scaled. With -video ddraw or -video d3d, this produces a less blurry
- image at the expense of some speed. In -video ddraw mode, this also
- increases the effective resolution of non-screen elements such as
- artwork and fonts. The default is 1.
-
--[no]waitvsync
-
- Waits for the refresh period on your computer's monitor to finish
- before starting to draw video to your screen. If this option is off,
- MAME will just draw to the screen at any old time, even in the middle
- of a refresh cycle. This can cause "tearing" artifacts, where the top
- portion of the screen is out of sync with the bottom portion. Tearing
- is not noticeable on all games, and some people hate it more than
- others. However, if you turn this option on, you will waste more of
- your CPU cycles waiting for the proper time to draw, so you will see a
- performance hit. You should only need to turn this on in windowed mode.
- In full screen mode, it is only needed if -triplebuffer does not
- remove the tearing, in which case you should use -notriplebuffer
- -waitvsync. Note that this option does not work with -video gdi mode.
- The default is OFF (-nowaitvsync).
-
--[no]syncrefresh
-
- Enables speed throttling only to the refresh of your monitor. This
- means that the game's actual refresh rate is ignored; however, the
- sound code still attempts to keep up with the game's original refresh
- rate, so you may encounter sound problems. This option is intended
- mainly for those who have tweaked their video card's settings to
- provide carefully matched refresh rate options. Note that this option
- does not work with -video gdi mode.The default is OFF (-nosyncrefresh).
-
-
-
-DirectDraw-specific options
----------------------------
-
--[no]hwstretch / -[no]hws
-
- When enabled, MAME uses the hardware stretching abilities of your
- video card to scale the game image and associated artwork to the
- target resolution. Depending on the quality of your graphic card and
- its drivers, this may be a fractional, antialiased scaling (nice) or
- an integer, blocky scaling (not so nice), in which case you might want
- to disable this option. In addition, if you have configured specific
- arcade-like video modes for MAME and don't want MAME to perform any
- non-integral scaling of the image, you should also disable this option.
- The default is ON (-hwstretch).
-
-
-
-Direct3D-specific options
--------------------------
-
--[no]filter / -[no]d3dfilter / -[no]flt
-
- Enable bilinear filtering on the game screen graphics. When disabled,
- point filtering is applied, which is crisper but leads to scaling
- artifacts. If you don't like the filtered look, you are probably better
- off increasing the -prescale value rather than turning off filtering
- altogether. The default is ON (-filter).
-
-
-
-Per-window options
-------------------
-
--screen <display>
--screen0 <display>
--screen1 <display>
--screen2 <display>
--screen3 <display>
-
- Specifies which physical monitor on your system you wish to have each
- window use by default. In order to use multiple windows, you must have
- increased the value of the -numscreens option. The name of each
- display in your system can be determined by running MAME with the
- -verbose option. The display names are typically in the format of:
- \\.\DISPLAYn, where 'n' is a number from 1 to the number of connected
- monitors. The default value for these options is 'auto', which means
- that the first window is placed on the first display, the second
- window on the second display, etc.
-
- The -screen0, -screen1, -screen2, -screen3 parameters apply to the
- specific window. The -screen parameter applies to all windows. The
- window-specific options override values from the all window option.
-
--aspect <width:height> / -screen_aspect <num:den>
--aspect0 <width:height>
--aspect1 <width:height>
--aspect2 <width:height>
--aspect3 <width:height>
-
- Specifies the physical aspect ratio of the physical monitor for each
- window. In order to use multiple windows, you must have increased the
- value of the -numscreens option. The physical aspect ratio can be
- determined by measuring the width and height of the visible screen
- image and specifying them separated by a colon. The default value for
- these options is 'auto', which means that MAME assumes the aspect
- ratio is proportional to the number of pixels in the desktop video
- mode for each monitor.
-
- The -aspect0, -aspect1, -aspect2, -aspect3 parameters apply to the
- specific window. The -aspect parameter applies to all windows. The
- window-specific options override values from the all window option.
-
--resolution <widthxheight[@refresh]> / -r <widthxheight[@refresh]>
--resolution0 <widthxheight[@refresh]> / -r0 <widthxheight[@refresh]>
--resolution1 <widthxheight[@refresh]> / -r1 <widthxheight[@refresh]>
--resolution2 <widthxheight[@refresh]> / -r2 <widthxheight[@refresh]>
--resolution3 <widthxheight[@refresh]> / -r3 <widthxheight[@refresh]>
-
- Specifies an exact resolution to run in. In full screen mode, MAME
- will try to use the specific resolution you request. The width and
- height are required; the refresh rate is optional. If omitted or
- set to 0, MAME will determine the mode auomatically. For example,
- -resolution 640x480 will force 640x480 resolution, but MAME is free to
- choose the refresh rate. Similarly, -resolution 0x0@60 will force a
- 60Hz refresh rate, but allows MAME to choose the resolution. The
- string "auto" is also supported, and is equivalent to 0x0@0. In window
- mode, this resolution is used as a maximum size for the window. This
- option requires the -switchres option as well in order to actually
- enable resolution switching with -video ddraw or -video d3d. The
- default value for these options is 'auto'.
-
- The -resolution0, -resolution1, -resolution2, -resolution3 parameters
- apply to the specific window. The -resolution parameter applies to all
- windows. The window-specific options override values from the all
- window option.
-
--view <viewname>
--view0 <viewname>
--view1 <viewname>
--view2 <viewname>
--view3 <viewname>
-
- Specifies the initial view setting for each window. The <viewname>
- does not need to be a perfect match; rather, it will select the first
- view whose name matches all the characters specified by <viewname>.
- For example, -view native will match the "Native (15:14)" view even
- though it is not a perfect match. The value 'auto' is also supported,
- and requests that MAME perform a default selection. The default value
- for these options is 'auto'.
-
- The -view0, -view1, -view2, -view3 parameters apply to the
- specific window. The -view parameter applies to all windows. The
- window-specific options override values from the all window option.
-
-
-
-Full screen options
--------------------
-
--[no]triplebuffer / -[no]tb
-
- Enables or disables "triple buffering". Normally, MAME just draws
- directly to the screen, without any fancy buffering. But with this
- option enabled, MAME creates three buffers to draw to, and cycles
- between them in order. It attempts to keep things flowing such that one
- buffer is currently displayed, the second buffer is waiting to be
- displayed, and the third buffer is being drawn to. -triplebuffer will
- override -waitvsync, if the buffer is sucessfully created. This option
- does not work with -video gdi. The default is OFF (-notriplebuffer).
-
--[no]switchres
-
- Enables resolution switching. This option is required for the
- -resolution* options to switch resolutions in full screen mode. On
- modern video cards, there is little reason to switch resolutions unless
- you are trying to achieve the "exact" pixel resolutions of the original
- games, which requires significant tweaking. This option is also useful
- on LCD displays, since they run with a fixed resolution and switching
- resolutions on them is just silly. This option does not work with
- -video gdi. The default is OFF (-noswitchres).
-
--full_screen_brightness / -fsb <value>
-
- Controls the brightness, or black level, of the entire display. The
- standard value is 1.0. Selecting lower values (down to 0.1) will produce
- a darkened display, while selecting higher values (up to 2.0) will
- give a brighter display. Note that not all video cards have hardware to
- support this option. This option does not work with -video gdi. The
- default is 1.0.
-
--full_screen_contrast / -fsc <value>
-
- Controls the contrast, or white level, of the entire display. The
- standard value is 1.0. Selecting lower values (down to 0.1) will produce
- a dimmer display, while selecting higher values (up to 2.0) will
- give a more saturated display. Note that not all video cards have
- hardware to support this option. This option does not work with
- -video gdi. The default is 1.0.
-
--full_screen_gamma / -fsg <value>
-
- Controls the gamma, which produces a potentially nonlinear black to
- white ramp, for the entire display. The standard value is 1.0, which
- gives a linear ramp from black to white. Selecting lower values (down
- to 0.1) will increase the nonlinearity toward black, while selecting
- higher values (up to 3.0) will push the nonlinearity toward white. Note
- that not all video cards have hardware to support this option. This
- option does not work with -video gdi. The default is 1.0.
-
-
-
-Windows sound options
----------------------
-
--sound <dsound|sdl|none>
-
- Specifies which sound subsystem to use. 'none' disables sound altogether.
- The default is dsound.
-
-
--audio_latency <value>
-
- This controls the amount of latency built into the audio streaming. By
- default MAME tries to keep the DirectSound audio buffer between 1/5 and
- 2/5 full. On some systems, this is pushing it too close to the edge,
- and you get poor sound sometimes. The latency parameter controls the
- lower threshold. The default is 1 (meaning lower=1/5 and upper=2/5).
- Set it to 2 (-audio_latency 2) to keep the sound buffer between 2/5 and
- 3/5 full. If you crank it up to 4, you can definitely notice the lag.
-
-
-
-Input device options
---------------------
-
--[no]dual_lightgun / -[no]dual
-
- Controls whether or not MAME attempts to track two lightguns connected
- at the same time. This option requires -lightgun. This option is a hack
- for supporting older dual lightgun setups. If you have multiple
- lightguns connected, you will probably just need to enable -mouse and
- configure each lightgun independently. The default is OFF
- (-nodual_lightgun).
-
diff --git a/docs/release/hbmame176s.rar b/docs/release/hbmame177s.rar
index b21e523ea09..af440d75381 100644
--- a/docs/release/hbmame176s.rar
+++ b/docs/release/hbmame177s.rar
Binary files differ
diff --git a/docs/release/scripts/build/makedep.py b/docs/release/scripts/build/makedep.py
index b1278879d77..cf4a97f1af0 100644
--- a/docs/release/scripts/build/makedep.py
+++ b/docs/release/scripts/build/makedep.py
@@ -10,7 +10,7 @@ import sys
files_included = ['src/emu/emu.h']
-include_dirs = ['src/emu/', 'src/devices/', 'src/mame/']
+include_dirs = ['src/emu/', 'src/devices/', 'src/mame/', 'src/lib/']
mappings = dict()
@@ -201,6 +201,7 @@ parse_lua_file(root +'scripts/src/cpu.lua')
parse_lua_file(root +'scripts/src/machine.lua')
parse_lua_file(root +'scripts/src/sound.lua')
parse_lua_file(root +'scripts/src/video.lua')
+parse_lua_file(root +'scripts/src/formats.lua')
for filename in sys.argv[2].rsplit(',') :
deps_files_included.append(filename.replace('\\','/'))
diff --git a/docs/release/scripts/genie.lua b/docs/release/scripts/genie.lua
index d07ff394ce2..6d086f1994a 100644
--- a/docs/release/scripts/genie.lua
+++ b/docs/release/scripts/genie.lua
@@ -75,10 +75,17 @@ end
function addprojectflags()
local version = str_to_version(_OPTIONS["gcc_version"])
- if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "gcc") and (version >= 50100) then
- buildoptions_cpp {
- "-Wsuggest-override",
- }
+ if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "gcc") then
+ if version >= 50100 then
+ buildoptions_cpp {
+ "-Wsuggest-override",
+ }
+ end
+ if version >= 60000 then
+ buildoptions_cpp {
+ "-flifetime-dse=1",
+ }
+ end
end
end
@@ -87,6 +94,7 @@ SOUNDS = {}
MACHINES = {}
VIDEOS = {}
BUSES = {}
+FORMATS = {}
newoption {
trigger = "with-tools",
@@ -478,7 +486,7 @@ configuration { "Release", "vs*" }
"Optimize",
}
--- Force VS2013/15 targets to use bundled SDL2
+-- Force VS2015 targets to use bundled SDL2
if string.sub(_ACTION,1,4) == "vs20" and _OPTIONS["osd"]=="sdl" then
if _OPTIONS["with-bundled-sdl2"]==nil then
_OPTIONS["with-bundled-sdl2"] = "1"
@@ -545,7 +553,7 @@ configuration { "Debug" }
defines {
"MAME_DEBUG",
"MAME_PROFILER",
--- "BGFX_CONFIG_DEBUG=1",
+-- "BGFX_CONFIG_DEBUG=1",
}
if _OPTIONS["FASTDEBUG"]=="1" then
@@ -950,28 +958,20 @@ end
buildoptions {
"-Wno-cast-align",
"-Wno-tautological-compare",
- "-Wno-dynamic-class-memaccess",
"-Wno-unused-value",
- "-Wno-inline-new-delete",
"-Wno-constant-logical-operand",
- "-Wno-deprecated-register",
+ "-Wno-missing-braces", -- clang is not as permissive as GCC about std::array initialization
"-fdiagnostics-show-note-include-stack",
}
if (version >= 30500) then
buildoptions {
- "-Wno-absolute-value",
"-Wno-unknown-warning-option",
"-Wno-extern-c-compat",
}
end
- if (version >= 70000) then
- buildoptions {
- "-Wno-tautological-undefined-compare",
- }
- end
else
- if (version < 40900) then
- print("GCC version 4.9 or later needed")
+ if (version < 50000) then
+ print("GCC version 5.0 or later needed")
os.exit(-1)
end
buildoptions {
@@ -1149,6 +1149,7 @@ configuration { "vs*" }
"_WIN32",
"_CRT_NONSTDC_NO_DEPRECATE",
"_CRT_SECURE_NO_DEPRECATE",
+ "_CRT_STDIO_LEGACY_WIDE_SPECIFIERS",
}
links {
"user32",
@@ -1298,6 +1299,12 @@ configuration { "winphone8* or winstore8*" }
}
+-- adding this till we sort out asserts in debug mode
+configuration { "Debug", "gmake" }
+ buildoptions_cpp {
+ "-Wno-terminate",
+ }
+
configuration { }
if (_OPTIONS["SOURCES"] ~= nil) then
@@ -1313,6 +1320,13 @@ if (not os.isfile(path.join("src", "osd", _OPTIONS["osd"] .. ".lua"))) then
end
dofile(path.join("src", "osd", _OPTIONS["osd"] .. ".lua"))
dofile(path.join("src", "lib.lua"))
+if (MACHINES["NETLIST"]~=null or _OPTIONS["with-tools"]) then
+dofile(path.join("src", "netlist.lua"))
+end
+--if (STANDALONE~=true) then
+dofile(path.join("src", "formats.lua"))
+formatsProject(_OPTIONS["target"],_OPTIONS["subtarget"])
+--end
group "3rdparty"
dofile(path.join("src", "3rdparty.lua"))
diff --git a/docs/release/scripts/src/3rdparty.lua b/docs/release/scripts/src/3rdparty.lua
index e3c29933220..23b9264bba3 100644
--- a/docs/release/scripts/src/3rdparty.lua
+++ b/docs/release/scripts/src/3rdparty.lua
@@ -355,14 +355,14 @@ project "7z"
configuration { "gmake or ninja" }
buildoptions_c {
"-Wno-undef",
- "-Wno-strict-prototypes",
+ "-Wno-strict-prototypes",
}
configuration { "mingw*" }
buildoptions_c {
"-Wno-strict-prototypes",
}
-
+
configuration { "vs*" }
buildoptions {
"/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
@@ -431,6 +431,7 @@ end
--------------------------------------------------
-- LUA library objects
--------------------------------------------------
+if (STANDALONE~=true) then
if not _OPTIONS["with-system-lua"] then
project "lua"
@@ -565,6 +566,7 @@ project "lualibs"
MAME_DIR .. "3rdparty/luafilesystem/src/lfs.c",
}
+end
--------------------------------------------------
-- portmidi library objects
--------------------------------------------------
@@ -735,8 +737,16 @@ end
configuration { }
+ local version = str_to_version(_OPTIONS["gcc_version"])
+ if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "gcc") then
+ if version >= 60000 then
+ buildoptions_cpp {
+ "-Wno-misleading-indentation",
+ }
+ end
+ end
+
if _OPTIONS["targetos"]=="windows" then
- local version = str_to_version(_OPTIONS["gcc_version"])
if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "clang") then
buildoptions {
"-Wno-unknown-attributes",
@@ -747,7 +757,6 @@ end
end
if _OPTIONS["targetos"]=="macosx" then
- local version = str_to_version(_OPTIONS["gcc_version"])
if _OPTIONS["gcc"]~=nil and string.find(_OPTIONS["gcc"], "clang") then
buildoptions {
"-Wno-switch",
@@ -818,150 +827,150 @@ end
--
--if not _OPTIONS["with-system-portaudio"] then
--project "portaudio"
--- uuid "0755c5f5-eccf-47f3-98a9-df67018a94d4"
--- kind "StaticLib"
+-- uuid "0755c5f5-eccf-47f3-98a9-df67018a94d4"
+-- kind "StaticLib"
--
--- configuration { "vs*" }
--- buildoptions {
--- "/wd4245", -- warning C4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
--- "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
--- "/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
--- "/wd4389", -- warning C4389: 'operator' : signed/unsigned mismatch
--- "/wd4189", -- warning C4189: 'xxx' : local variable is initialized but not referenced
--- "/wd4127", -- warning C4127: conditional expression is constant
--- }
+-- configuration { "vs*" }
+-- buildoptions {
+-- "/wd4245", -- warning C4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
+-- "/wd4244", -- warning C4244: 'argument' : conversion from 'xxx' to 'xxx', possible loss of data
+-- "/wd4100", -- warning C4100: 'xxx' : unreferenced formal parameter
+-- "/wd4389", -- warning C4389: 'operator' : signed/unsigned mismatch
+-- "/wd4189", -- warning C4189: 'xxx' : local variable is initialized but not referenced
+-- "/wd4127", -- warning C4127: conditional expression is constant
+-- }
--if _OPTIONS["vs"]=="intel-15" then
--- buildoptions {
--- "/Qwd869", -- remark #869: parameter "xxx" was never referenced
--- "/Qwd1478", -- warning #1478: function "xxx" (declared at line yyy of "zzz") was declared deprecated
--- "/Qwd2544", -- message #2544: empty dependent statement in if-statement
--- "/Qwd1879", -- warning #1879: unimplemented pragma ignored
--- }
+-- buildoptions {
+-- "/Qwd869", -- remark #869: parameter "xxx" was never referenced
+-- "/Qwd1478", -- warning #1478: function "xxx" (declared at line yyy of "zzz") was declared deprecated
+-- "/Qwd2544", -- message #2544: empty dependent statement in if-statement
+-- "/Qwd1879", -- warning #1879: unimplemented pragma ignored
+-- }
--end
--- configuration { "vs2015*" }
--- buildoptions {
--- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
--- }
+-- configuration { "vs2015*" }
+-- buildoptions {
+-- "/wd4456", -- warning C4456: declaration of 'xxx' hides previous local declaration
+-- }
--
--- configuration { "gmake or ninja" }
--- buildoptions_c {
--- "-Wno-strict-prototypes",
--- "-Wno-bad-function-cast",
--- "-Wno-undef",
--- "-Wno-missing-braces",
--- "-Wno-unused-variable",
--- "-Wno-unused-value",
--- "-Wno-unused-function",
--- "-Wno-unknown-pragmas",
--- }
+-- configuration { "gmake or ninja" }
+-- buildoptions_c {
+-- "-Wno-strict-prototypes",
+-- "-Wno-bad-function-cast",
+-- "-Wno-undef",
+-- "-Wno-missing-braces",
+-- "-Wno-unused-variable",
+-- "-Wno-unused-value",
+-- "-Wno-unused-function",
+-- "-Wno-unknown-pragmas",
+-- }
--
--- local version = str_to_version(_OPTIONS["gcc_version"])
--- if (_OPTIONS["gcc"]~=nil) then
--- if string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "android") then
--- buildoptions_c {
--- "-Wno-unknown-warning-option",
--- "-Wno-absolute-value",
--- "-Wno-unused-but-set-variable",
--- "-Wno-maybe-uninitialized",
--- "-Wno-sometimes-uninitialized",
--- }
--- else
--- if (version >= 40600) then
--- buildoptions_c {
--- "-Wno-unused-but-set-variable",
--- "-Wno-maybe-uninitialized",
--- "-Wno-sometimes-uninitialized",
--- }
--- end
--- end
--- end
--- configuration { "vs*" }
--- buildoptions {
--- "/wd4204", -- warning C4204: nonstandard extension used : non-constant aggregate initializer
--- "/wd4701", -- warning C4701: potentially uninitialized local variable 'xxx' used
--- }
+-- local version = str_to_version(_OPTIONS["gcc_version"])
+-- if (_OPTIONS["gcc"]~=nil) then
+-- if string.find(_OPTIONS["gcc"], "clang") or string.find(_OPTIONS["gcc"], "android") then
+-- buildoptions_c {
+-- "-Wno-unknown-warning-option",
+-- "-Wno-absolute-value",
+-- "-Wno-unused-but-set-variable",
+-- "-Wno-maybe-uninitialized",
+-- "-Wno-sometimes-uninitialized",
+-- }
+-- else
+-- if (version >= 40600) then
+-- buildoptions_c {
+-- "-Wno-unused-but-set-variable",
+-- "-Wno-maybe-uninitialized",
+-- "-Wno-sometimes-uninitialized",
+-- }
+-- end
+-- end
+-- end
+-- configuration { "vs*" }
+-- buildoptions {
+-- "/wd4204", -- warning C4204: nonstandard extension used : non-constant aggregate initializer
+-- "/wd4701", -- warning C4701: potentially uninitialized local variable 'xxx' used
+-- }
--
--- configuration { }
+-- configuration { }
--
--- includedirs {
--- MAME_DIR .. "3rdparty/portaudio/include",
--- MAME_DIR .. "3rdparty/portaudio/src/common",
--- }
+-- includedirs {
+-- MAME_DIR .. "3rdparty/portaudio/include",
+-- MAME_DIR .. "3rdparty/portaudio/src/common",
+-- }
--
--- files {
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_allocation.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_converters.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_cpuload.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_dither.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_debugprint.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_front.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_process.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_stream.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_trace.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/skeleton/pa_hostapi_skeleton.c",
--- }
+-- files {
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_allocation.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_converters.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_cpuload.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_dither.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_debugprint.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_front.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_process.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_stream.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_trace.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/skeleton/pa_hostapi_skeleton.c",
+-- }
--
--- if _OPTIONS["targetos"]=="windows" then
--- defines {
--- "PA_USE_DS=1",
--- "PA_USE_WDMKS=1",
--- "PA_USE_WMME=1",
--- }
--- includedirs {
--- MAME_DIR .. "3rdparty/portaudio/src/os/win",
--- }
+-- if _OPTIONS["targetos"]=="windows" then
+-- defines {
+-- "PA_USE_DS=1",
+-- "PA_USE_WDMKS=1",
+-- "PA_USE_WMME=1",
+-- }
+-- includedirs {
+-- MAME_DIR .. "3rdparty/portaudio/src/os/win",
+-- }
--
--- configuration { }
--- files {
--- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_util.c",
--- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_waveformat.c",
--- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_hostapis.c",
--- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_wdmks_utils.c",
--- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_coinitialize.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_ringbuffer.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c",
--- }
+-- configuration { }
+-- files {
+-- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_util.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_waveformat.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_hostapis.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_wdmks_utils.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/os/win/pa_win_coinitialize.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/dsound/pa_win_ds.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/dsound/pa_win_ds_dynlink.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/wdmks/pa_win_wdmks.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_ringbuffer.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/wmme/pa_win_wmme.c",
+-- }
--
--- end
--- if _OPTIONS["targetos"]=="linux" then
--- defines {
--- "PA_USE_ALSA=1",
--- "PA_USE_OSS=1",
--- "HAVE_LINUX_SOUNDCARD_H",
--- }
--- includedirs {
--- MAME_DIR .. "3rdparty/portaudio/src/os/unix",
--- }
--- files {
--- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_hostapis.c",
--- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_util.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/alsa/pa_linux_alsa.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/oss/pa_unix_oss.c",
--- }
--- end
--- if _OPTIONS["targetos"]=="macosx" then
--- defines {
--- "PA_USE_COREAUDIO=1",
--- }
--- includedirs {
--- MAME_DIR .. "3rdparty/portaudio/src/os/unix",
--- }
--- files {
--- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_hostapis.c",
--- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_util.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c",
--- MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c",
--- MAME_DIR .. "3rdparty/portaudio/src/common/pa_ringbuffer.c",
--- }
--- end
+-- end
+-- if _OPTIONS["targetos"]=="linux" then
+-- defines {
+-- "PA_USE_ALSA=1",
+-- "PA_USE_OSS=1",
+-- "HAVE_LINUX_SOUNDCARD_H",
+-- }
+-- includedirs {
+-- MAME_DIR .. "3rdparty/portaudio/src/os/unix",
+-- }
+-- files {
+-- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_hostapis.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_util.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/alsa/pa_linux_alsa.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/oss/pa_unix_oss.c",
+-- }
+-- end
+-- if _OPTIONS["targetos"]=="macosx" then
+-- defines {
+-- "PA_USE_COREAUDIO=1",
+-- }
+-- includedirs {
+-- MAME_DIR .. "3rdparty/portaudio/src/os/unix",
+-- }
+-- files {
+-- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_hostapis.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/os/unix/pa_unix_util.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c",
+-- MAME_DIR .. "3rdparty/portaudio/src/common/pa_ringbuffer.c",
+-- }
+-- end
--
--else
--links {
--- ext_lib("portaudio"),
+-- ext_lib("portaudio"),
--}
--end
@@ -1034,11 +1043,6 @@ project "uv"
"WIN32_LEAN_AND_MEAN",
"_WIN32_WINNT=0x0502",
}
- if _ACTION == "vs2013" then
- files {
- MAME_DIR .. "3rdparty/libuv/src/win/snprintf.c",
- }
- end
configuration { }
files {
MAME_DIR .. "3rdparty/libuv/src/win/async.c",
@@ -1161,7 +1165,7 @@ project "uv"
links {
"kvm",
}
- end
+ end
if (_OPTIONS["SHADOW_CHECK"]=="1") then
removebuildoptions {
diff --git a/docs/release/scripts/src/bus.lua b/docs/release/scripts/src/bus.lua
index fa5f6dabd15..0ba196a4500 100644
--- a/docs/release/scripts/src/bus.lua
+++ b/docs/release/scripts/src/bus.lua
@@ -153,17 +153,32 @@ end
---------------------------------------------------
--
---@src/devices/bus/apricot/expansion.h,BUSES["APRICOT_EXPANSION"] = true
+--@src/devices/bus/apricot/expansion/expansion.h,BUSES["APRICOT_EXPANSION"] = true
---------------------------------------------------
if (BUSES["APRICOT_EXPANSION"]~=null) then
files {
- MAME_DIR .. "src/devices/bus/apricot/expansion.cpp",
- MAME_DIR .. "src/devices/bus/apricot/expansion.h",
- MAME_DIR .. "src/devices/bus/apricot/cards.cpp",
- MAME_DIR .. "src/devices/bus/apricot/cards.h",
- MAME_DIR .. "src/devices/bus/apricot/ram.cpp",
- MAME_DIR .. "src/devices/bus/apricot/ram.h",
+ MAME_DIR .. "src/devices/bus/apricot/expansion/expansion.cpp",
+ MAME_DIR .. "src/devices/bus/apricot/expansion/expansion.h",
+ MAME_DIR .. "src/devices/bus/apricot/expansion/cards.cpp",
+ MAME_DIR .. "src/devices/bus/apricot/expansion/cards.h",
+ MAME_DIR .. "src/devices/bus/apricot/expansion/ram.cpp",
+ MAME_DIR .. "src/devices/bus/apricot/expansion/ram.h",
+ }
+end
+
+
+---------------------------------------------------
+--
+--@src/devices/bus/apricot/keyboard/keyboard.h,BUSES["APRICOT_KEYBOARD"] = true
+---------------------------------------------------
+
+if (BUSES["APRICOT_KEYBOARD"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/bus/apricot/keyboard/keyboard.cpp",
+ MAME_DIR .. "src/devices/bus/apricot/keyboard/keyboard.h",
+ MAME_DIR .. "src/devices/bus/apricot/keyboard/hle.cpp",
+ MAME_DIR .. "src/devices/bus/apricot/keyboard/hle.h",
}
end
@@ -1159,6 +1174,14 @@ if (BUSES["POFO"]~=null) then
MAME_DIR .. "src/devices/bus/pofo/hpc101.h",
MAME_DIR .. "src/devices/bus/pofo/hpc102.cpp",
MAME_DIR .. "src/devices/bus/pofo/hpc102.h",
+ MAME_DIR .. "src/devices/bus/pofo/hpc104.cpp",
+ MAME_DIR .. "src/devices/bus/pofo/hpc104.h",
+ MAME_DIR .. "src/devices/bus/pofo/ccm.cpp",
+ MAME_DIR .. "src/devices/bus/pofo/ccm.h",
+ MAME_DIR .. "src/devices/bus/pofo/ram.cpp",
+ MAME_DIR .. "src/devices/bus/pofo/ram.h",
+ MAME_DIR .. "src/devices/bus/pofo/rom.cpp",
+ MAME_DIR .. "src/devices/bus/pofo/rom.h",
}
end
@@ -2840,5 +2863,19 @@ end
if (BUSES["HP_OPTROM"]~=null) then
files {
MAME_DIR .. "src/devices/bus/hp_optroms/hp_optrom.cpp",
- }
+ }
+end
+
+---------------------------------------------------
+--
+--@src/devices/bus/compis/graphics.h,BUSES["COMPIS_GRAPHICS"] = true
+---------------------------------------------------
+
+if (BUSES["COMPIS_GRAPHICS"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/bus/compis/graphics.cpp",
+ MAME_DIR .. "src/devices/bus/compis/graphics.h",
+ MAME_DIR .. "src/devices/bus/compis/hrg.cpp",
+ MAME_DIR .. "src/devices/bus/compis/hrg.h",
+ }
end
diff --git a/docs/release/scripts/src/devices.lua b/docs/release/scripts/src/devices.lua
index cbdb046f397..081bc7617bb 100644
--- a/docs/release/scripts/src/devices.lua
+++ b/docs/release/scripts/src/devices.lua
@@ -41,7 +41,6 @@ function devicesProject(_target, _subtarget)
GEN_DIR .. "emu",
GEN_DIR .. "emu/layout",
ext_includedir("expat"),
- ext_includedir("lua"),
ext_includedir("flac"),
}
@@ -72,7 +71,6 @@ if #disasm_files > 0 then
MAME_DIR .. "3rdparty",
GEN_DIR .. "emu",
ext_includedir("expat"),
- ext_includedir("lua"),
}
files {
diff --git a/docs/release/scripts/src/emu.lua b/docs/release/scripts/src/emu.lua
index 1f96f3b4e22..cc0e2f8e649 100644
--- a/docs/release/scripts/src/emu.lua
+++ b/docs/release/scripts/src/emu.lua
@@ -30,7 +30,6 @@ includedirs {
includedirs {
ext_includedir("expat"),
- ext_includedir("lua"),
ext_includedir("zlib"),
ext_includedir("flac"),
ext_includedir("jpeg"),
@@ -83,6 +82,8 @@ files {
MAME_DIR .. "src/emu/dioutput.h",
MAME_DIR .. "src/emu/dipty.cpp",
MAME_DIR .. "src/emu/dipty.h",
+ MAME_DIR .. "src/emu/dirom.cpp",
+ MAME_DIR .. "src/emu/dirom.h",
MAME_DIR .. "src/emu/dirtc.cpp",
MAME_DIR .. "src/emu/dirtc.h",
MAME_DIR .. "src/emu/diserial.cpp",
@@ -111,7 +112,7 @@ files {
MAME_DIR .. "src/emu/emucore.cpp",
MAME_DIR .. "src/emu/emucore.h",
MAME_DIR .. "src/emu/emumem.cpp",
- MAME_DIR .. "src/emu/emumem.h",
+ MAME_DIR .. "src/emu/emumem.h",
MAME_DIR .. "src/emu/emuopts.cpp",
MAME_DIR .. "src/emu/emuopts.h",
MAME_DIR .. "src/emu/emupal.cpp",
@@ -149,6 +150,8 @@ files {
MAME_DIR .. "src/emu/rendutil.h",
MAME_DIR .. "src/emu/romload.cpp",
MAME_DIR .. "src/emu/romload.h",
+ MAME_DIR .. "src/emu/romentry.h",
+ MAME_DIR .. "src/emu/romentry.cpp",
MAME_DIR .. "src/emu/save.cpp",
MAME_DIR .. "src/emu/save.h",
MAME_DIR .. "src/emu/schedule.cpp",
@@ -157,6 +160,8 @@ files {
MAME_DIR .. "src/emu/screen.h",
MAME_DIR .. "src/emu/softlist.cpp",
MAME_DIR .. "src/emu/softlist.h",
+ MAME_DIR .. "src/emu/softlist_dev.cpp",
+ MAME_DIR .. "src/emu/softlist_dev.h",
MAME_DIR .. "src/emu/sound.cpp",
MAME_DIR .. "src/emu/sound.h",
MAME_DIR .. "src/emu/speaker.cpp",
diff --git a/docs/release/scripts/src/formats.lua b/docs/release/scripts/src/formats.lua
new file mode 100644
index 00000000000..643beb7d36f
--- /dev/null
+++ b/docs/release/scripts/src/formats.lua
@@ -0,0 +1,1722 @@
+-- license:BSD-3-Clause
+-- copyright-holders:MAMEdev Team
+
+---------------------------------------------------------------------------
+--
+-- formats.lua
+--
+-- Rules for building formats
+--
+---------------------------------------------------------------------------
+function formatsProject(_target, _subtarget)
+project "formats"
+ uuid (os.uuid("formats-" .. _target .."_" .. _subtarget))
+ kind (LIBTYPE)
+ targetsubdir(_target .."_" .. _subtarget)
+ addprojectflags()
+
+ options {
+ "ArchiveSplit",
+ }
+
+ includedirs {
+ MAME_DIR .. "src/osd",
+ MAME_DIR .. "src/emu",
+ MAME_DIR .. "src/lib",
+ MAME_DIR .. "src/lib/util",
+ MAME_DIR .. "3rdparty",
+ ext_includedir("zlib"),
+ }
+
+ files {
+ MAME_DIR .. "src/lib/formats/ioprocs.cpp",
+ MAME_DIR .. "src/lib/formats/ioprocs.h",
+ MAME_DIR .. "src/lib/formats/imageutl.cpp",
+ MAME_DIR .. "src/lib/formats/imageutl.h",
+
+ MAME_DIR .. "src/lib/formats/cassimg.cpp",
+ MAME_DIR .. "src/lib/formats/cassimg.h",
+ MAME_DIR .. "src/lib/formats/wavfile.cpp",
+ MAME_DIR .. "src/lib/formats/wavfile.h",
+
+ MAME_DIR .. "src/lib/formats/flopimg.cpp",
+ MAME_DIR .. "src/lib/formats/flopimg.h",
+
+ MAME_DIR .. "src/lib/formats/cqm_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/cqm_dsk.h",
+ MAME_DIR .. "src/lib/formats/dsk_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/dsk_dsk.h",
+ MAME_DIR .. "src/lib/formats/td0_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/td0_dsk.h",
+ MAME_DIR .. "src/lib/formats/hxcmfm_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/hxcmfm_dsk.h",
+ MAME_DIR .. "src/lib/formats/mfi_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/mfi_dsk.h",
+ MAME_DIR .. "src/lib/formats/imd_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/imd_dsk.h",
+ MAME_DIR .. "src/lib/formats/ipf_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/ipf_dsk.h",
+ MAME_DIR .. "src/lib/formats/d88_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/d88_dsk.h",
+ MAME_DIR .. "src/lib/formats/dfi_dsk.cpp",
+ MAME_DIR .. "src/lib/formats/dfi_dsk.h",
+ MAME_DIR .. "src/lib/formats/fdi_dsk.cpp",
+ }
+
+--------------------------------------------------
+--
+--@src/lib/formats/2d_dsk.h,FORMATS["2D_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["2D_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/2d_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/2d_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/a26_cas.h,FORMATS["A26_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["A26_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/a26_cas.cpp",
+ MAME_DIR.. "src/lib/formats/a26_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/a5105_dsk.h,FORMATS["A5105_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["A5105_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/a5105_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/a5105_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/abc800_dsk.h,FORMATS["ABC800_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ABC800_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/abc800_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/abc800_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/abcfd2_dsk.h,FORMATS["ABCFD2_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ABCFD2_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/abcfd2_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/abcfd2_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ace_tap.h,FORMATS["ACE_TAP"] = true
+--------------------------------------------------
+
+if (FORMATS["ACE_TAP"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ace_tap.cpp",
+ MAME_DIR.. "src/lib/formats/ace_tap.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/acorn_dsk.h,FORMATS["ACORN_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ACORN_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/acorn_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/acorn_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/adam_cas.h,FORMATS["ADAM_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["ADAM_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/adam_cas.cpp",
+ MAME_DIR.. "src/lib/formats/adam_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/adam_dsk.h,FORMATS["ADAM_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ADAM_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/adam_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/adam_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/afs_dsk.h,FORMATS["AFS_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["AFS_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/afs_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/afs_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ami_dsk.h,FORMATS["AMI_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["AMI_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ami_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/ami_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ap2_dsk.h,FORMATS["AP2_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["AP2_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ap2_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/ap2_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/apf_apt.h,FORMATS["APF_APT"] = true
+--------------------------------------------------
+
+if (FORMATS["APF_APT"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/apf_apt.cpp",
+ MAME_DIR.. "src/lib/formats/apf_apt.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/apollo_dsk.h,FORMATS["APOLLO_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["APOLLO_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/apollo_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/apollo_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/applix_dsk.h,FORMATS["APPLIX_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["APPLIX_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/applix_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/applix_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/apridisk.h,FORMATS["APRIDISK"] = true
+--------------------------------------------------
+
+if (FORMATS["APRIDISK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/apridisk.cpp",
+ MAME_DIR.. "src/lib/formats/apridisk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ap_dsk35.h,FORMATS["AP_DSK35"] = true
+--------------------------------------------------
+
+if (FORMATS["AP_DSK35"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ap_dsk35.cpp",
+ MAME_DIR.. "src/lib/formats/ap_dsk35.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/asst128_dsk.h,FORMATS["ASST128_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ASST128_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/asst128_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/asst128_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/atari_dsk.h,FORMATS["ATARI_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ATARI_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/atari_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/atari_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/atom_dsk.h,FORMATS["ATOM_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ATOM_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/atom_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/atom_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/atom_tap.h,FORMATS["ATOM_TAP"] = true
+--------------------------------------------------
+
+if (FORMATS["ATOM_TAP"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/atom_tap.cpp",
+ MAME_DIR.. "src/lib/formats/atom_tap.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/basicdsk.h,FORMATS["BASICDSK"] = true
+--------------------------------------------------
+
+if (FORMATS["BASICDSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/basicdsk.cpp",
+ MAME_DIR.. "src/lib/formats/basicdsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/bw12_dsk.h,FORMATS["BW12_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["BW12_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/bw12_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/bw12_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/bw2_dsk.h,FORMATS["BW2_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["BW2_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/bw2_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/bw2_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/c3040_dsk.h,FORMATS["C3040_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["C3040_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/c3040_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/c3040_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/c4040_dsk.h,FORMATS["C4040_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["C4040_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/c4040_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/c4040_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/c8280_dsk.h,FORMATS["C8280_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["C8280_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/c8280_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/c8280_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/camplynx_cas.h,FORMATS["CAMPLYNX_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["CAMPLYNX_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/camplynx_cas.cpp",
+ MAME_DIR.. "src/lib/formats/camplynx_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/camplynx_dsk.h,FORMATS["CAMPLYNX_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["CAMPLYNX_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/camplynx_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/camplynx_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/cbm_crt.h,FORMATS["CBM_CRT"] = true
+--------------------------------------------------
+
+if (FORMATS["CBM_CRT"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/cbm_crt.cpp",
+ MAME_DIR.. "src/lib/formats/cbm_crt.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/cbm_tap.h,FORMATS["CBM_TAP"] = true
+--------------------------------------------------
+
+if (FORMATS["CBM_TAP"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/cbm_tap.cpp",
+ MAME_DIR.. "src/lib/formats/cbm_tap.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ccvf_dsk.h,FORMATS["CCVF_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["CCVF_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ccvf_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/ccvf_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/cd90_640_dsk.h,FORMATS["CD90_640_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["CD90_640_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/cd90_640_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/cd90_640_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/cgenie_dsk.h,FORMATS["CGENIE_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["CGENIE_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/cgenie_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/cgenie_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/cgen_cas.h,FORMATS["CGEN_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["CGEN_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/cgen_cas.cpp",
+ MAME_DIR.. "src/lib/formats/cgen_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/coco_cas.h,FORMATS["COCO_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["COCO_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/coco_cas.cpp",
+ MAME_DIR.. "src/lib/formats/coco_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/comx35_dsk.h,FORMATS["COMX35_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["COMX35_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/comx35_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/comx35_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/concept_dsk.h,FORMATS["CONCEPT_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["CONCEPT_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/concept_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/concept_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/coupedsk.h,FORMATS["COUPEDSK"] = true
+--------------------------------------------------
+
+if (FORMATS["COUPEDSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/coupedsk.cpp",
+ MAME_DIR.. "src/lib/formats/coupedsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/cpis_dsk.h,FORMATS["CPIS_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["CPIS_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/cpis_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/cpis_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/csw_cas.h,FORMATS["CSW_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["CSW_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/csw_cas.cpp",
+ MAME_DIR.. "src/lib/formats/csw_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/d64_dsk.h,FORMATS["D64_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["D64_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/d64_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/d64_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/d71_dsk.h,FORMATS["D71_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["D71_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/d71_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/d71_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/d80_dsk.h,FORMATS["D80_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["D80_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/d80_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/d80_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/d81_dsk.h,FORMATS["D81_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["D81_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/d81_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/d81_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/d82_dsk.h,FORMATS["D82_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["D82_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/d82_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/d82_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/dcp_dsk.h,FORMATS["DCP_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["DCP_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/dcp_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/dcp_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/dim_dsk.h,FORMATS["DIM_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["DIM_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/dim_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/dim_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/dip_dsk.h,FORMATS["DIP_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["DIP_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/dip_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/dip_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/dmk_dsk.h,FORMATS["DMK_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["DMK_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/dmk_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/dmk_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ep64_dsk.h,FORMATS["EP64_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["EP64_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ep64_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/ep64_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/dmv_dsk.h,FORMATS["DMV_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["DMV_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/dmv_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/dmv_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/esq16_dsk.h,FORMATS["ESQ16_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ESQ16_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/esq16_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/esq16_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/esq8_dsk.h,FORMATS["ESQ8_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ESQ8_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/esq8_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/esq8_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/excali64_dsk.h,FORMATS["EXCALI64_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["EXCALI64_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/excali64_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/excali64_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/fc100_cas.h,FORMATS["FC100_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["FC100_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/fc100_cas.cpp",
+ MAME_DIR.. "src/lib/formats/fc100_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/fdd_dsk.h,FORMATS["FDD_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["FDD_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/fdd_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/fdd_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/flex_dsk.h,FORMATS["FLEX_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["FLEX_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/flex_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/flex_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/fm7_cas.h,FORMATS["FM7_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["FM7_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/fm7_cas.cpp",
+ MAME_DIR.. "src/lib/formats/fm7_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/fmsx_cas.h,FORMATS["FMSX_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["FMSX_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/fmsx_cas.cpp",
+ MAME_DIR.. "src/lib/formats/fmsx_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/fmtowns_dsk.h,FORMATS["FMTOWNS_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["FMTOWNS_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/fmtowns_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/fmtowns_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/fsd_dsk.h,FORMATS["FSD_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["FSD_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/fsd_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/fsd_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/g64_dsk.h,FORMATS["G64_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["G64_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/g64_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/g64_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/gtp_cas.h,FORMATS["GTP_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["GTP_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/gtp_cas.cpp",
+ MAME_DIR.. "src/lib/formats/gtp_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/guab_dsk.h,FORMATS["GUAB_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["GUAB_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/guab_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/guab_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/hector_minidisc.h,FORMATS["HECTOR_MINIDISC"] = true
+--------------------------------------------------
+
+if (FORMATS["HECTOR_MINIDISC"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/hector_minidisc.cpp",
+ MAME_DIR.. "src/lib/formats/hector_minidisc.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/hect_dsk.h,FORMATS["HECT_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["HECT_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/hect_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/hect_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/hect_tap.h,FORMATS["HECT_TAP"] = true
+--------------------------------------------------
+
+if (FORMATS["HECT_TAP"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/hect_tap.cpp",
+ MAME_DIR.. "src/lib/formats/hect_tap.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/iq151_dsk.h,FORMATS["IQ151_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["IQ151_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/iq151_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/iq151_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/itt3030_dsk.h,FORMATS["ITT3030_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ITT3030_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/itt3030_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/itt3030_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/jvc_dsk.h,FORMATS["JVC_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["JVC_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/jvc_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/jvc_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/kaypro_dsk.h,FORMATS["KAYPRO_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["KAYPRO_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/kaypro_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/kaypro_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/kc85_dsk.h,FORMATS["KC85_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["KC85_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/kc85_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/kc85_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/kc_cas.h,FORMATS["KC_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["KC_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/kc_cas.cpp",
+ MAME_DIR.. "src/lib/formats/kc_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/kim1_cas.h,FORMATS["KIM1_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["KIM1_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/kim1_cas.cpp",
+ MAME_DIR.. "src/lib/formats/kim1_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/lviv_lvt.h,FORMATS["LVIV_LVT"] = true
+--------------------------------------------------
+
+if (FORMATS["LVIV_LVT"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/lviv_lvt.cpp",
+ MAME_DIR.. "src/lib/formats/lviv_lvt.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/m20_dsk.h,FORMATS["M20_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["M20_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/m20_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/m20_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/m5_dsk.h,FORMATS["M5_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["M5_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/m5_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/m5_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/mbee_cas.h,FORMATS["MBEE_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["MBEE_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/mbee_cas.cpp",
+ MAME_DIR.. "src/lib/formats/mbee_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/mfm_hd.h,FORMATS["MFM_HD"] = true
+--------------------------------------------------
+
+if (FORMATS["MFM_HD"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/mfm_hd.cpp",
+ MAME_DIR.. "src/lib/formats/mfm_hd.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/mm_dsk.h,FORMATS["MM_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["MM_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/mm_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/mm_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/msx_dsk.h,FORMATS["MSX_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["MSX_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/msx_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/msx_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/mz_cas.h,FORMATS["MZ_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["MZ_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/mz_cas.cpp",
+ MAME_DIR.. "src/lib/formats/mz_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/nanos_dsk.h,FORMATS["NANOS_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["NANOS_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/nanos_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/nanos_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/nascom_dsk.h,FORMATS["NASCOM_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["NASCOM_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/nascom_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/nascom_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/naslite_dsk.h,FORMATS["NASLITE_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["NASLITE_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/naslite_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/naslite_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/nes_dsk.h,FORMATS["NES_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["NES_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/nes_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/nes_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/nfd_dsk.h,FORMATS["NFD_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["NFD_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/nfd_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/nfd_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/orao_cas.h,FORMATS["ORAO_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["ORAO_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/orao_cas.cpp",
+ MAME_DIR.. "src/lib/formats/orao_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/oric_dsk.h,FORMATS["ORIC_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ORIC_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/oric_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/oric_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/oric_tap.h,FORMATS["ORIC_TAP"] = true
+--------------------------------------------------
+
+if (FORMATS["ORIC_TAP"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/oric_tap.cpp",
+ MAME_DIR.. "src/lib/formats/oric_tap.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/p6001_cas.h,FORMATS["P6001_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["P6001_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/p6001_cas.cpp",
+ MAME_DIR.. "src/lib/formats/p6001_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/pasti_dsk.h,FORMATS["PASTI_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["PASTI_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/pasti_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/pasti_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/pc98fdi_dsk.h,FORMATS["PC98FDI_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["PC98FDI_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/pc98fdi_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/pc98fdi_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/pc98_dsk.h,FORMATS["PC98_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["PC98_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/pc98_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/pc98_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/pc_dsk.h,FORMATS["PC_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["PC_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/pc_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/pc_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/phc25_cas.h,FORMATS["PHC25_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["PHC25_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/phc25_cas.cpp",
+ MAME_DIR.. "src/lib/formats/phc25_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/pk8020_dsk.h,FORMATS["PK8020_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["PK8020_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/pk8020_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/pk8020_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/pmd_cas.h,FORMATS["PMD_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["PMD_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/pmd_cas.cpp",
+ MAME_DIR.. "src/lib/formats/pmd_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/primoptp.h,FORMATS["PRIMOPTP"] = true
+--------------------------------------------------
+
+if (FORMATS["PRIMOPTP"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/primoptp.cpp",
+ MAME_DIR.. "src/lib/formats/primoptp.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/pyldin_dsk.h,FORMATS["PYLDIN_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["PYLDIN_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/pyldin_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/pyldin_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ql_dsk.h,FORMATS["QL_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["QL_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ql_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/ql_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/rk_cas.h,FORMATS["RK_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["RK_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/rk_cas.cpp",
+ MAME_DIR.. "src/lib/formats/rk_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/rx50_dsk.h,FORMATS["RX50_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["RX50_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/rx50_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/rx50_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/sc3000_bit.h,FORMATS["SC3000_BIT"] = true
+--------------------------------------------------
+
+if (FORMATS["SC3000_BIT"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/sc3000_bit.cpp",
+ MAME_DIR.. "src/lib/formats/sc3000_bit.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/sf7000_dsk.h,FORMATS["SF7000_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["SF7000_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/sf7000_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/sf7000_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/smx_dsk.h,FORMATS["SMX_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["SMX_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/smx_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/smx_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/sol_cas.h,FORMATS["SOL_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["SOL_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/sol_cas.cpp",
+ MAME_DIR.. "src/lib/formats/sol_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/sorc_cas.h,FORMATS["SORC_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["SORC_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/sorc_cas.cpp",
+ MAME_DIR.. "src/lib/formats/sorc_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/sorc_dsk.h,FORMATS["SORC_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["SORC_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/sorc_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/sorc_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/sord_cas.h,FORMATS["SORD_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["SORD_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/sord_cas.cpp",
+ MAME_DIR.. "src/lib/formats/sord_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/spc1000_cas.h,FORMATS["SPC1000_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["SPC1000_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/spc1000_cas.cpp",
+ MAME_DIR.. "src/lib/formats/spc1000_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/st_dsk.h,FORMATS["ST_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["ST_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/st_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/st_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/svi_cas.h,FORMATS["SVI_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["SVI_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/svi_cas.cpp",
+ MAME_DIR.. "src/lib/formats/svi_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/svi_dsk.h,FORMATS["SVI_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["SVI_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/svi_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/svi_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/tandy2k_dsk.h,FORMATS["TANDY2K_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["TANDY2K_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/tandy2k_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/tandy2k_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/thom_cas.h,FORMATS["THOM_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["THOM_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/thom_cas.cpp",
+ MAME_DIR.. "src/lib/formats/thom_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/thom_dsk.h,FORMATS["THOM_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["THOM_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/thom_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/thom_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/ti99_dsk.h,FORMATS["TI99_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["TI99_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/ti99_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/ti99_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/tiki100_dsk.h,FORMATS["TIKI100_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["TIKI100_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/tiki100_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/tiki100_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/trd_dsk.h,FORMATS["TRD_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["TRD_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/trd_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/trd_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/trs80_dsk.h,FORMATS["TRS80_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["TRS80_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/trs80_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/trs80_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/trs_cas.h,FORMATS["TRS_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["TRS_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/trs_cas.cpp",
+ MAME_DIR.. "src/lib/formats/trs_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/tvc_cas.h,FORMATS["TVC_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["TVC_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/tvc_cas.cpp",
+ MAME_DIR.. "src/lib/formats/tvc_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/tvc_dsk.h,FORMATS["TVC_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["TVC_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/tvc_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/tvc_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/tzx_cas.h,FORMATS["TZX_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["TZX_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/tzx_cas.cpp",
+ MAME_DIR.. "src/lib/formats/tzx_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/uef_cas.h,FORMATS["UEF_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["UEF_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/uef_cas.cpp",
+ MAME_DIR.. "src/lib/formats/uef_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/upd765_dsk.h,FORMATS["UPD765_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["UPD765_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/upd765_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/upd765_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/vdk_dsk.h,FORMATS["VDK_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["VDK_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/vdk_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/vdk_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/vector06_dsk.h,FORMATS["VECTOR06_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["VECTOR06_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/vector06_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/vector06_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/vg5k_cas.h,FORMATS["VG5K_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["VG5K_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/vg5k_cas.cpp",
+ MAME_DIR.. "src/lib/formats/vg5k_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/victor9k_dsk.h,FORMATS["VICTOR9K_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["VICTOR9K_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/victor9k_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/victor9k_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/vt_cas.h,FORMATS["VT_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["VT_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/vt_cas.cpp",
+ MAME_DIR.. "src/lib/formats/vt_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/wd177x_dsk.h,FORMATS["WD177X_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["WD177X_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/wd177x_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/wd177x_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/x07_cas.h,FORMATS["X07_CAS"] = true
+--------------------------------------------------
+
+if (FORMATS["X07_CAS"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/x07_cas.cpp",
+ MAME_DIR.. "src/lib/formats/x07_cas.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/x1_tap.h,FORMATS["X1_TAP"] = true
+--------------------------------------------------
+
+if (FORMATS["X1_TAP"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/x1_tap.cpp",
+ MAME_DIR.. "src/lib/formats/x1_tap.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/xdf_dsk.h,FORMATS["XDF_DSK"] = true
+--------------------------------------------------
+
+if (FORMATS["XDF_DSK"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/xdf_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/xdf_dsk.h",
+ }
+end
+
+--------------------------------------------------
+--
+--@src/lib/formats/zx81_p.h,FORMATS["ZX81_P"] = true
+--------------------------------------------------
+
+if (FORMATS["ZX81_P"]~=null or _OPTIONS["with-tools"]) then
+ files {
+ MAME_DIR.. "src/lib/formats/zx81_p.cpp",
+ MAME_DIR.. "src/lib/formats/zx81_p.h",
+ }
+end
+
+end
diff --git a/docs/release/scripts/src/lib.lua b/docs/release/scripts/src/lib.lua
index f554d56ab7c..51b92d098d2 100644
--- a/docs/release/scripts/src/lib.lua
+++ b/docs/release/scripts/src/lib.lua
@@ -48,8 +48,6 @@ project "utils"
MAME_DIR .. "src/lib/util/corestr.h",
MAME_DIR .. "src/lib/util/coreutil.cpp",
MAME_DIR .. "src/lib/util/coreutil.h",
- MAME_DIR .. "src/lib/util/cstrpool.cpp",
- MAME_DIR .. "src/lib/util/cstrpool.h",
MAME_DIR .. "src/lib/util/delegate.cpp",
MAME_DIR .. "src/lib/util/delegate.h",
MAME_DIR .. "src/lib/util/flac.cpp",
@@ -81,6 +79,7 @@ project "utils"
MAME_DIR .. "src/lib/util/pool.h",
MAME_DIR .. "src/lib/util/sha1.cpp",
MAME_DIR .. "src/lib/util/sha1.h",
+ MAME_DIR .. "src/lib/util/strformat.cpp",
MAME_DIR .. "src/lib/util/strformat.h",
MAME_DIR .. "src/lib/util/timeconv.cpp",
MAME_DIR .. "src/lib/util/timeconv.h",
@@ -92,6 +91,7 @@ project "utils"
MAME_DIR .. "src/lib/util/un7z.h",
MAME_DIR .. "src/lib/util/vbiparse.cpp",
MAME_DIR .. "src/lib/util/vbiparse.h",
+ MAME_DIR .. "src/lib/util/vecstream.cpp",
MAME_DIR .. "src/lib/util/vecstream.h",
MAME_DIR .. "src/lib/util/wavwrite.cpp",
MAME_DIR .. "src/lib/util/wavwrite.h",
@@ -100,333 +100,3 @@ project "utils"
MAME_DIR .. "src/lib/util/zippath.cpp",
MAME_DIR .. "src/lib/util/zippath.h",
}
-
-
-project "formats"
- uuid "f69636b1-fcce-45ce-b09a-113e371a2d7a"
- kind (LIBTYPE)
-
- addprojectflags()
-
- options {
- "ArchiveSplit",
- }
-
- includedirs {
- MAME_DIR .. "src/osd",
- MAME_DIR .. "src/emu",
- MAME_DIR .. "src/lib",
- MAME_DIR .. "src/lib/util",
- MAME_DIR .. "3rdparty",
- ext_includedir("zlib"),
- }
-
- files {
--- MAME_DIR .. "src/lib/formats/2d_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/2d_dsk.h",
- MAME_DIR .. "src/lib/formats/cassimg.cpp",
- MAME_DIR .. "src/lib/formats/cassimg.h",
- MAME_DIR .. "src/lib/formats/flopimg.cpp",
- MAME_DIR .. "src/lib/formats/flopimg.h",
- MAME_DIR .. "src/lib/formats/imageutl.cpp",
- MAME_DIR .. "src/lib/formats/imageutl.h",
- MAME_DIR .. "src/lib/formats/ioprocs.cpp",
- MAME_DIR .. "src/lib/formats/ioprocs.h",
--- MAME_DIR .. "src/lib/formats/basicdsk.cpp",
--- MAME_DIR .. "src/lib/formats/basicdsk.h",
--- MAME_DIR .. "src/lib/formats/a26_cas.cpp",
--- MAME_DIR .. "src/lib/formats/a26_cas.h",
--- MAME_DIR .. "src/lib/formats/a5105_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/a5105_dsk.h",
--- MAME_DIR .. "src/lib/formats/abc800_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/abc800_dsk.h",
--- MAME_DIR .. "src/lib/formats/abcfd2_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/abcfd2_dsk.h",
--- MAME_DIR .. "src/lib/formats/ace_tap.cpp",
--- MAME_DIR .. "src/lib/formats/ace_tap.h",
--- MAME_DIR .. "src/lib/formats/adam_cas.cpp",
--- MAME_DIR .. "src/lib/formats/adam_cas.h",
--- MAME_DIR .. "src/lib/formats/adam_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/adam_dsk.h",
--- MAME_DIR .. "src/lib/formats/ami_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/ami_dsk.h",
--- MAME_DIR .. "src/lib/formats/ap2_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/ap2_dsk.h",
--- MAME_DIR .. "src/lib/formats/apf_apt.cpp",
--- MAME_DIR .. "src/lib/formats/apf_apt.h",
--- MAME_DIR .. "src/lib/formats/apridisk.cpp",
--- MAME_DIR .. "src/lib/formats/apridisk.h",
--- MAME_DIR .. "src/lib/formats/apollo_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/apollo_dsk.h",
--- MAME_DIR .. "src/lib/formats/ap_dsk35.cpp",
--- MAME_DIR .. "src/lib/formats/ap_dsk35.h",
--- MAME_DIR .. "src/lib/formats/applix_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/applix_dsk.h",
--- MAME_DIR .. "src/lib/formats/asst128_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/asst128_dsk.h",
--- MAME_DIR .. "src/lib/formats/atari_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/atari_dsk.h",
--- MAME_DIR .. "src/lib/formats/atom_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/atom_dsk.h",
--- MAME_DIR .. "src/lib/formats/atom_tap.cpp",
--- MAME_DIR .. "src/lib/formats/atom_tap.h",
--- MAME_DIR .. "src/lib/formats/bbc_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/bbc_dsk.h",
--- MAME_DIR .. "src/lib/formats/bw2_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/bw2_dsk.h",
--- MAME_DIR .. "src/lib/formats/bw12_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/bw12_dsk.h",
--- MAME_DIR .. "src/lib/formats/c3040_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/c3040_dsk.h",
--- MAME_DIR .. "src/lib/formats/c4040_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/c4040_dsk.h",
--- MAME_DIR .. "src/lib/formats/c8280_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/c8280_dsk.h",
--- MAME_DIR .. "src/lib/formats/camplynx_cas.cpp",
--- MAME_DIR .. "src/lib/formats/camplynx_cas.h",
--- MAME_DIR .. "src/lib/formats/camplynx_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/camplynx_dsk.h",
--- MAME_DIR .. "src/lib/formats/cbm_crt.cpp",
--- MAME_DIR .. "src/lib/formats/cbm_crt.h",
--- MAME_DIR .. "src/lib/formats/cbm_tap.cpp",
--- MAME_DIR .. "src/lib/formats/cbm_tap.h",
--- MAME_DIR .. "src/lib/formats/ccvf_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/ccvf_dsk.h",
--- MAME_DIR .. "src/lib/formats/cd90_640_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/cd90_640_dsk.h",
--- MAME_DIR .. "src/lib/formats/cgen_cas.cpp",
--- MAME_DIR .. "src/lib/formats/cgen_cas.h",
--- MAME_DIR .. "src/lib/formats/cgenie_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/cgenie_dsk.h",
--- MAME_DIR .. "src/lib/formats/coco_cas.cpp",
--- MAME_DIR .. "src/lib/formats/coco_cas.h",
--- MAME_DIR .. "src/lib/formats/comx35_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/comx35_dsk.h",
--- MAME_DIR .. "src/lib/formats/concept_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/concept_dsk.h",
--- MAME_DIR .. "src/lib/formats/coupedsk.cpp",
--- MAME_DIR .. "src/lib/formats/coupedsk.h",
--- MAME_DIR .. "src/lib/formats/cpis_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/cpis_dsk.h",
- MAME_DIR .. "src/lib/formats/cqm_dsk.cpp",
- MAME_DIR .. "src/lib/formats/cqm_dsk.h",
--- MAME_DIR .. "src/lib/formats/csw_cas.cpp",
--- MAME_DIR .. "src/lib/formats/csw_cas.h",
--- MAME_DIR .. "src/lib/formats/d64_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/d64_dsk.h",
--- MAME_DIR .. "src/lib/formats/d71_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/d71_dsk.h",
--- MAME_DIR .. "src/lib/formats/d80_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/d80_dsk.h",
--- MAME_DIR .. "src/lib/formats/d81_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/d81_dsk.h",
--- MAME_DIR .. "src/lib/formats/d82_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/d82_dsk.h",
- MAME_DIR .. "src/lib/formats/d88_dsk.cpp",
- MAME_DIR .. "src/lib/formats/d88_dsk.h",
--- MAME_DIR .. "src/lib/formats/dcp_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/dcp_dsk.h",
- MAME_DIR .. "src/lib/formats/dfi_dsk.cpp",
- MAME_DIR .. "src/lib/formats/dfi_dsk.h",
--- MAME_DIR .. "src/lib/formats/dim_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/dim_dsk.h",
--- MAME_DIR .. "src/lib/formats/dip_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/dip_dsk.h",
--- MAME_DIR .. "src/lib/formats/dmk_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/dmk_dsk.h",
--- MAME_DIR .. "src/lib/formats/dmv_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/dmv_dsk.h",
- MAME_DIR .. "src/lib/formats/dsk_dsk.cpp",
- MAME_DIR .. "src/lib/formats/dsk_dsk.h",
--- MAME_DIR .. "src/lib/formats/ep64_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/ep64_dsk.h",
--- MAME_DIR .. "src/lib/formats/esq8_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/esq8_dsk.h",
--- MAME_DIR .. "src/lib/formats/esq16_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/esq16_dsk.h",
--- MAME_DIR .. "src/lib/formats/excali64_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/excali64_dsk.h",
--- MAME_DIR .. "src/lib/formats/fc100_cas.cpp",
--- MAME_DIR .. "src/lib/formats/fc100_cas.h",
- MAME_DIR .. "src/lib/formats/fdi_dsk.cpp",
- MAME_DIR .. "src/lib/formats/fdd_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/fdd_dsk.h",
--- MAME_DIR .. "src/lib/formats/flex_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/flex_dsk.h",
--- MAME_DIR .. "src/lib/formats/fm7_cas.cpp",
--- MAME_DIR .. "src/lib/formats/fm7_cas.h",
--- MAME_DIR .. "src/lib/formats/fmsx_cas.cpp",
--- MAME_DIR .. "src/lib/formats/fmsx_cas.h",
--- MAME_DIR .. "src/lib/formats/fmtowns_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/fmtowns_dsk.h",
--- MAME_DIR .. "src/lib/formats/fsd_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/fsd_dsk.h",
--- MAME_DIR .. "src/lib/formats/g64_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/g64_dsk.h",
--- MAME_DIR .. "src/lib/formats/gtp_cas.cpp",
--- MAME_DIR .. "src/lib/formats/gtp_cas.h",
--- MAME_DIR .. "src/lib/formats/guab_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/guab_dsk.h",
--- MAME_DIR .. "src/lib/formats/hect_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/hect_dsk.h",
--- MAME_DIR .. "src/lib/formats/hect_tap.cpp",
--- MAME_DIR .. "src/lib/formats/hect_tap.h",
--- MAME_DIR .. "src/lib/formats/hector_minidisc.cpp",
--- MAME_DIR .. "src/lib/formats/hector_minidisc.h",
--- MAME_DIR .. "src/lib/formats/iq151_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/iq151_dsk.h",
- MAME_DIR .. "src/lib/formats/imd_dsk.cpp",
- MAME_DIR .. "src/lib/formats/imd_dsk.h",
- MAME_DIR .. "src/lib/formats/ipf_dsk.cpp",
- MAME_DIR .. "src/lib/formats/ipf_dsk.h",
--- MAME_DIR .. "src/lib/formats/jvc_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/jvc_dsk.h",
--- MAME_DIR .. "src/lib/formats/kaypro_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/kaypro_dsk.h",
--- MAME_DIR .. "src/lib/formats/kc_cas.cpp",
--- MAME_DIR .. "src/lib/formats/kc_cas.h",
--- MAME_DIR .. "src/lib/formats/kc85_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/kc85_dsk.h",
--- MAME_DIR .. "src/lib/formats/kim1_cas.cpp",
--- MAME_DIR .. "src/lib/formats/kim1_cas.h",
--- MAME_DIR .. "src/lib/formats/lviv_lvt.cpp",
--- MAME_DIR .. "src/lib/formats/lviv_lvt.h",
--- MAME_DIR .. "src/lib/formats/m20_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/m20_dsk.h",
--- MAME_DIR .. "src/lib/formats/m5_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/m5_dsk.h",
--- MAME_DIR .. "src/lib/formats/mbee_cas.cpp",
--- MAME_DIR .. "src/lib/formats/mbee_cas.h",
--- MAME_DIR .. "src/lib/formats/mm_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/mm_dsk.h",
--- MAME_DIR .. "src/lib/formats/msx_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/msx_dsk.h",
- MAME_DIR .. "src/lib/formats/mfi_dsk.cpp",
- MAME_DIR .. "src/lib/formats/mfi_dsk.h",
--- MAME_DIR .. "src/lib/formats/mfm_hd.cpp",
--- MAME_DIR .. "src/lib/formats/mfm_hd.h",
--- MAME_DIR .. "src/lib/formats/mz_cas.cpp",
--- MAME_DIR .. "src/lib/formats/mz_cas.h",
--- MAME_DIR .. "src/lib/formats/nanos_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/nanos_dsk.h",
--- MAME_DIR .. "src/lib/formats/nascom_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/nascom_dsk.h",
--- MAME_DIR .. "src/lib/formats/naslite_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/naslite_dsk.h",
--- MAME_DIR .. "src/lib/formats/nes_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/nes_dsk.h",
--- MAME_DIR .. "src/lib/formats/nfd_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/nfd_dsk.h",
--- MAME_DIR .. "src/lib/formats/orao_cas.cpp",
--- MAME_DIR .. "src/lib/formats/orao_cas.h",
--- MAME_DIR .. "src/lib/formats/oric_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/oric_dsk.h",
--- MAME_DIR .. "src/lib/formats/oric_tap.cpp",
--- MAME_DIR .. "src/lib/formats/oric_tap.h",
--- MAME_DIR .. "src/lib/formats/p6001_cas.cpp",
--- MAME_DIR .. "src/lib/formats/p6001_cas.h",
--- MAME_DIR .. "src/lib/formats/pasti_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/pasti_dsk.h",
--- MAME_DIR .. "src/lib/formats/pc_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/pc_dsk.h",
--- MAME_DIR .. "src/lib/formats/pc98_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/pc98_dsk.h",
--- MAME_DIR .. "src/lib/formats/pc98fdi_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/pc98fdi_dsk.h",
--- MAME_DIR .. "src/lib/formats/phc25_cas.cpp",
--- MAME_DIR .. "src/lib/formats/phc25_cas.h",
--- MAME_DIR .. "src/lib/formats/pk8020_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/pk8020_dsk.h",
--- MAME_DIR .. "src/lib/formats/pmd_cas.cpp",
--- MAME_DIR .. "src/lib/formats/pmd_cas.h",
--- MAME_DIR .. "src/lib/formats/primoptp.cpp",
--- MAME_DIR .. "src/lib/formats/primoptp.h",
--- MAME_DIR .. "src/lib/formats/pyldin_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/pyldin_dsk.h",
--- MAME_DIR .. "src/lib/formats/ql_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/ql_dsk.h",
--- MAME_DIR .. "src/lib/formats/rk_cas.cpp",
--- MAME_DIR .. "src/lib/formats/rk_cas.h",
--- MAME_DIR .. "src/lib/formats/rx50_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/rx50_dsk.h",
--- MAME_DIR .. "src/lib/formats/sc3000_bit.cpp",
--- MAME_DIR .. "src/lib/formats/sc3000_bit.h",
--- MAME_DIR .. "src/lib/formats/sf7000_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/sf7000_dsk.h",
--- MAME_DIR .. "src/lib/formats/smx_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/smx_dsk.h",
--- MAME_DIR .. "src/lib/formats/sol_cas.cpp",
--- MAME_DIR .. "src/lib/formats/sol_cas.h",
--- MAME_DIR .. "src/lib/formats/sorc_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/sorc_dsk.h",
--- MAME_DIR .. "src/lib/formats/sorc_cas.cpp",
--- MAME_DIR .. "src/lib/formats/sorc_cas.h",
--- MAME_DIR .. "src/lib/formats/sord_cas.cpp",
--- MAME_DIR .. "src/lib/formats/sord_cas.h",
--- MAME_DIR .. "src/lib/formats/spc1000_cas.cpp",
--- MAME_DIR .. "src/lib/formats/spc1000_cas.h",
--- MAME_DIR .. "src/lib/formats/st_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/st_dsk.h",
--- MAME_DIR .. "src/lib/formats/svi_cas.cpp",
--- MAME_DIR .. "src/lib/formats/svi_cas.h",
--- MAME_DIR .. "src/lib/formats/svi_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/svi_dsk.h",
--- MAME_DIR .. "src/lib/formats/tandy2k_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/tandy2k_dsk.h",
- MAME_DIR .. "src/lib/formats/td0_dsk.cpp",
- MAME_DIR .. "src/lib/formats/td0_dsk.h",
--- MAME_DIR .. "src/lib/formats/thom_cas.cpp",
--- MAME_DIR .. "src/lib/formats/thom_cas.h",
--- MAME_DIR .. "src/lib/formats/thom_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/thom_dsk.h",
--- MAME_DIR .. "src/lib/formats/ti99_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/ti99_dsk.h",
--- MAME_DIR .. "src/lib/formats/tiki100_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/tiki100_dsk.h",
--- MAME_DIR .. "src/lib/formats/trd_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/trd_dsk.h",
--- MAME_DIR .. "src/lib/formats/trs_cas.cpp",
--- MAME_DIR .. "src/lib/formats/trs_cas.h",
--- MAME_DIR .. "src/lib/formats/trs80_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/trs80_dsk.h",
--- MAME_DIR .. "src/lib/formats/tvc_cas.cpp",
--- MAME_DIR .. "src/lib/formats/tvc_cas.h",
--- MAME_DIR .. "src/lib/formats/tvc_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/tvc_dsk.h",
--- MAME_DIR .. "src/lib/formats/tzx_cas.cpp",
--- MAME_DIR .. "src/lib/formats/tzx_cas.h",
--- MAME_DIR .. "src/lib/formats/uef_cas.cpp",
--- MAME_DIR .. "src/lib/formats/uef_cas.h",
--- MAME_DIR .. "src/lib/formats/upd765_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/upd765_dsk.h",
--- MAME_DIR .. "src/lib/formats/vdk_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/vdk_dsk.h",
--- MAME_DIR .. "src/lib/formats/vector06_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/vector06_dsk.h",
--- MAME_DIR .. "src/lib/formats/victor9k_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/victor9k_dsk.h",
--- MAME_DIR .. "src/lib/formats/vg5k_cas.cpp",
--- MAME_DIR .. "src/lib/formats/vg5k_cas.h",
--- MAME_DIR .. "src/lib/formats/vt_cas.cpp",
--- MAME_DIR .. "src/lib/formats/vt_cas.h",
- MAME_DIR .. "src/lib/formats/wavfile.cpp",
- MAME_DIR .. "src/lib/formats/wavfile.h",
--- MAME_DIR .. "src/lib/formats/wd177x_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/wd177x_dsk.h",
--- MAME_DIR .. "src/lib/formats/x07_cas.cpp",
--- MAME_DIR .. "src/lib/formats/x07_cas.h",
--- MAME_DIR .. "src/lib/formats/x1_tap.cpp",
--- MAME_DIR .. "src/lib/formats/x1_tap.h",
--- MAME_DIR .. "src/lib/formats/xdf_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/xdf_dsk.h",
--- MAME_DIR .. "src/lib/formats/zx81_p.cpp",
--- MAME_DIR .. "src/lib/formats/zx81_p.h",
- MAME_DIR .. "src/lib/formats/hxcmfm_dsk.cpp",
- MAME_DIR .. "src/lib/formats/hxcmfm_dsk.h",
--- MAME_DIR .. "src/lib/formats/itt3030_dsk.cpp",
--- MAME_DIR .. "src/lib/formats/itt3030_dsk.h",
- }
-
--- netlist now defines a project
-dofile("netlist.lua")
-
diff --git a/docs/release/scripts/src/machine.lua b/docs/release/scripts/src/machine.lua
index 2afe2638ae6..2bbda989406 100644
--- a/docs/release/scripts/src/machine.lua
+++ b/docs/release/scripts/src/machine.lua
@@ -18,6 +18,7 @@ files {
-- MAME_DIR .. "src/devices/machine/clock.h",
-- MAME_DIR .. "src/devices/machine/keyboard.cpp",
-- MAME_DIR .. "src/devices/machine/keyboard.h",
+-- MAME_DIR .. "src/devices/machine/keyboard.ipp",
MAME_DIR .. "src/devices/machine/laserdsc.cpp",
MAME_DIR .. "src/devices/machine/laserdsc.h",
-- MAME_DIR .. "src/devices/machine/latch.cpp",
@@ -1202,6 +1203,18 @@ end
---------------------------------------------------
--
+--@src/devices/machine/ldp1000.h,MACHINES["LDP1450"] = true
+---------------------------------------------------
+
+if (MACHINES["LDP1450"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/machine/ldp1450.cpp",
+ MAME_DIR .. "src/devices/machine/ldp1450.h",
+ }
+end
+
+---------------------------------------------------
+--
--@src/devices/machine/ldvp931.h,MACHINES["LDVP931"] = true
---------------------------------------------------
diff --git a/docs/release/scripts/src/main.lua b/docs/release/scripts/src/main.lua
index 8fc9965d3c7..c33d1554157 100644
--- a/docs/release/scripts/src/main.lua
+++ b/docs/release/scripts/src/main.lua
@@ -197,12 +197,20 @@ if (STANDALONE~=true) then
"frontend",
}
end
+if (MACHINES["NETLIST"]~=null) then
links {
"netlist",
+ }
+end
+ links {
"optional",
"emu",
+ }
+--if (STANDALONE~=true) then
+ links {
"formats",
}
+--end
if #disasm_files > 0 then
links {
"dasm",
@@ -214,10 +222,13 @@ end
"softfloat",
ext_lib("jpeg"),
"7z",
+ }
+if (STANDALONE~=true) then
+ links {
ext_lib("lua"),
"lualibs",
}
-
+end
if _OPTIONS["USE_LIBUV"]=="1" then
links {
ext_lib("uv"),
@@ -256,11 +267,11 @@ end
ext_includedir("flac"),
}
-
+
if (STANDALONE==true) then
standalone();
end
-
+
if (STANDALONE~=true) then
if _OPTIONS["targetos"]=="macosx" and (not override_resources) then
linkoptions {
@@ -367,6 +378,6 @@ end
debugargs (_OPTIONS["DEBUG_ARGS"])
else
debugargs ("-window")
- end
-
+ end
+
end
diff --git a/docs/release/scripts/src/netlist.lua b/docs/release/scripts/src/netlist.lua
index 58fdf39f6a0..70feb291aa5 100644
--- a/docs/release/scripts/src/netlist.lua
+++ b/docs/release/scripts/src/netlist.lua
@@ -14,8 +14,8 @@ project "netlist"
kind (LIBTYPE)
addprojectflags()
-
-
+
+
defines {
"__STDC_CONSTANT_MACROS",
}
@@ -43,14 +43,14 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/plib/pconfig.h",
MAME_DIR .. "src/lib/netlist/plib/palloc.cpp",
MAME_DIR .. "src/lib/netlist/plib/palloc.h",
- MAME_DIR .. "src/lib/netlist/plib/pchrono.cpp",
- MAME_DIR .. "src/lib/netlist/plib/pchrono.h",
+ MAME_DIR .. "src/lib/netlist/plib/pchrono.cpp",
+ MAME_DIR .. "src/lib/netlist/plib/pchrono.h",
MAME_DIR .. "src/lib/netlist/plib/pfmtlog.cpp",
MAME_DIR .. "src/lib/netlist/plib/pfmtlog.h",
MAME_DIR .. "src/lib/netlist/plib/plists.h",
- MAME_DIR .. "src/lib/netlist/plib/pdynlib.cpp",
- MAME_DIR .. "src/lib/netlist/plib/pdynlib.h",
- MAME_DIR .. "src/lib/netlist/plib/poptions.cpp",
+ MAME_DIR .. "src/lib/netlist/plib/pdynlib.cpp",
+ MAME_DIR .. "src/lib/netlist/plib/pdynlib.h",
+ MAME_DIR .. "src/lib/netlist/plib/poptions.cpp",
MAME_DIR .. "src/lib/netlist/plib/poptions.h",
MAME_DIR .. "src/lib/netlist/plib/pparser.cpp",
MAME_DIR .. "src/lib/netlist/plib/pparser.h",
@@ -63,8 +63,8 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/plib/pstream.cpp",
MAME_DIR .. "src/lib/netlist/plib/pstream.h",
MAME_DIR .. "src/lib/netlist/plib/ptypes.h",
- MAME_DIR .. "src/lib/netlist/plib/putil.cpp",
- MAME_DIR .. "src/lib/netlist/plib/putil.h",
+ MAME_DIR .. "src/lib/netlist/plib/putil.cpp",
+ MAME_DIR .. "src/lib/netlist/plib/putil.h",
MAME_DIR .. "src/lib/netlist/tools/nl_convert.cpp",
MAME_DIR .. "src/lib/netlist/tools/nl_convert.h",
MAME_DIR .. "src/lib/netlist/analog/nld_bjt.cpp",
@@ -147,8 +147,8 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/devices/nld_system.h",
MAME_DIR .. "src/lib/netlist/devices/nld_truthtable.cpp",
MAME_DIR .. "src/lib/netlist/devices/nld_truthtable.h",
- MAME_DIR .. "src/lib/netlist/devices/nlid_cmos.h",
- MAME_DIR .. "src/lib/netlist/devices/nlid_system.h",
+ MAME_DIR .. "src/lib/netlist/devices/nlid_cmos.h",
+ MAME_DIR .. "src/lib/netlist/devices/nlid_system.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_ttl74xx.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_ttl74xx.h",
MAME_DIR .. "src/lib/netlist/macro/nlm_cd4xxx.cpp",
diff --git a/docs/release/scripts/src/osd/modules.lua b/docs/release/scripts/src/osd/modules.lua
index 25a7aca2c0e..59cbc8c1d32 100644
--- a/docs/release/scripts/src/osd/modules.lua
+++ b/docs/release/scripts/src/osd/modules.lua
@@ -37,8 +37,8 @@ end
function pkgconfigcmd()
local pkgconfig = os.getenv("PKG_CONFIG")
- if pkgconfig == nil then
- return "pkg-config"
+ if pkgconfig == nil then
+ return "pkg-config"
end
return pkgconfig
end
diff --git a/docs/release/scripts/src/osd/windows.lua b/docs/release/scripts/src/osd/windows.lua
index a6e40c7aadc..32e7f2339a7 100644
--- a/docs/release/scripts/src/osd/windows.lua
+++ b/docs/release/scripts/src/osd/windows.lua
@@ -257,7 +257,7 @@ project ("ocore_" .. _OPTIONS["osd"])
MAME_DIR .. "src/osd/modules/file/winsocket.cpp",
MAME_DIR .. "src/osd/modules/lib/osdlib_win32.cpp",
}
-
+
--------------------------------------------------
diff --git a/docs/release/scripts/src/sound.lua b/docs/release/scripts/src/sound.lua
index bf1e87ebc7e..ba2e689a820 100644
--- a/docs/release/scripts/src/sound.lua
+++ b/docs/release/scripts/src/sound.lua
@@ -1352,6 +1352,7 @@ if (SOUNDS["UPD1771"]~=null) then
MAME_DIR .. "src/devices/sound/upd1771.h",
}
end
+
---------------------------------------------------
-- GB_SOUND
--@src/devices/sound/gb.h,SOUNDS["GB_SOUND"] = true
@@ -1363,3 +1364,15 @@ if (SOUNDS["GB_SOUND"]~=null) then
MAME_DIR .. "src/devices/sound/gb.h",
}
end
+
+---------------------------------------------------
+-- PCD3311
+--@src/devices/sound/pcd3311.h,SOUNDS["PCD3311"] = true
+---------------------------------------------------
+
+if (SOUNDS["PCD3311"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/sound/pcd3311.cpp",
+ MAME_DIR .. "src/devices/sound/pcd3311.h",
+ }
+end
diff --git a/docs/release/scripts/src/video.lua b/docs/release/scripts/src/video.lua
index 95cccd99bfe..8958c7e3852 100644
--- a/docs/release/scripts/src/video.lua
+++ b/docs/release/scripts/src/video.lua
@@ -876,3 +876,15 @@ if (VIDEOS["GB_LCD"]~=null) then
MAME_DIR .. "src/devices/video/gb_lcd.h",
}
end
+
+--------------------------------------------------
+--
+--@src/devices/video/gba_lcd.h,VIDEOS["GBA_LCD"] = true
+--------------------------------------------------
+
+if (VIDEOS["GBA_LCD"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/video/gba_lcd.cpp",
+ MAME_DIR .. "src/devices/video/gba_lcd.h",
+ }
+end
diff --git a/docs/release/scripts/target/hbmame/hbmame.lua b/docs/release/scripts/target/hbmame/hbmame.lua
index 0b2b377152d..ef4820e1223 100644
--- a/docs/release/scripts/target/hbmame/hbmame.lua
+++ b/docs/release/scripts/target/hbmame/hbmame.lua
@@ -745,7 +745,7 @@ files {
createHBMAMEProjects(_target, _subtarget, "misc")
files {
- MAME_DIR .. "src/hbmame/drivers/mineswp.cpp",
+ MAME_DIR .. "src/hbmame/drivers/dotrikun.cpp",
MAME_DIR .. "src/hbmame/drivers/ir.cpp",
MAME_DIR .. "src/hbmame/drivers/schaser.cpp",
MAME_DIR .. "src/hbmame/drivers/spacmiss.cpp",
diff --git a/docs/release/scripts/target/mame/arcade.lua b/docs/release/scripts/target/mame/arcade.lua
index 27a224055b2..e03ef307b59 100644
--- a/docs/release/scripts/target/mame/arcade.lua
+++ b/docs/release/scripts/target/mame/arcade.lua
@@ -431,6 +431,7 @@ MACHINES["LDPR8210"] = true
MACHINES["LDSTUB"] = true
MACHINES["LDV1000"] = true
MACHINES["LDP1000"] = true
+MACHINES["LDP1450"] = true
MACHINES["LDVP931"] = true
--MACHINES["LH5810"] = true
MACHINES["LINFLASH"] = true
@@ -668,6 +669,16 @@ BUSES["VECTREX"] = true
--BUSES["Z88"] = true
--BUSES["ZORRO"] = true
+
+--------------------------------------------------
+-- specify used file formats
+--------------------------------------------------
+
+FORMATS["GUAB_DSK"] = true
+FORMATS["AMI_DSK"] = true
+FORMATS["SC3000_BIT"] = true
+FORMATS["WD177X_DSK"] = true
+
--------------------------------------------------
-- this is the list of driver libraries that
-- comprise MAME plus mamedriv.o which contains
@@ -750,8 +761,8 @@ function linkProjects_mame_arcade(_target, _subtarget)
"sony",
"stern",
"subsino",
- "sun",
"suna",
+ "sunelect",
"sure",
"taito",
"tatsumi",
@@ -2121,9 +2132,9 @@ files {
MAME_DIR .. "src/mame/drivers/ddribble.cpp",
MAME_DIR .. "src/mame/includes/ddribble.h",
MAME_DIR .. "src/mame/video/ddribble.cpp",
- MAME_DIR .. "src/mame/drivers/divebomb.cpp",
- MAME_DIR .. "src/mame/includes/divebomb.h",
- MAME_DIR .. "src/mame/video/divebomb.cpp",
+ MAME_DIR .. "src/mame/drivers/divebomb.cpp",
+ MAME_DIR .. "src/mame/includes/divebomb.h",
+ MAME_DIR .. "src/mame/video/divebomb.cpp",
MAME_DIR .. "src/mame/drivers/djmain.cpp",
MAME_DIR .. "src/mame/includes/djmain.h",
MAME_DIR .. "src/mame/video/djmain.cpp",
@@ -3240,7 +3251,7 @@ files {
MAME_DIR .. "src/mame/drivers/cabal.cpp",
MAME_DIR .. "src/mame/includes/cabal.h",
MAME_DIR .. "src/mame/video/cabal.cpp",
- MAME_DIR .. "src/mame/drivers/cshooter.cpp",
+ MAME_DIR .. "src/mame/drivers/airraid.cpp",
MAME_DIR .. "src/mame/drivers/dcon.cpp",
MAME_DIR .. "src/mame/includes/dcon.h",
MAME_DIR .. "src/mame/video/dcon.cpp",
@@ -3284,9 +3295,12 @@ files {
MAME_DIR .. "src/mame/video/seibuspi.cpp",
MAME_DIR .. "src/mame/drivers/sengokmj.cpp",
MAME_DIR .. "src/mame/drivers/stfight.cpp",
+ MAME_DIR .. "src/mame/video/stfight_dev.cpp",
+ MAME_DIR .. "src/mame/video/stfight_dev.h",
+ MAME_DIR .. "src/mame/video/airraid_dev.cpp",
+ MAME_DIR .. "src/mame/video/airraid_dev.h",
MAME_DIR .. "src/mame/includes/stfight.h",
MAME_DIR .. "src/mame/machine/stfight.cpp",
- MAME_DIR .. "src/mame/video/stfight.cpp",
MAME_DIR .. "src/mame/drivers/toki.cpp",
MAME_DIR .. "src/mame/includes/toki.h",
MAME_DIR .. "src/mame/video/toki.cpp",
@@ -3430,7 +3444,22 @@ files {
MAME_DIR .. "src/mame/machine/subsino.h",
}
-createMAMEProjects(_target, _subtarget, "sun")
+createMAMEProjects(_target, _subtarget, "suna")
+files {
+ MAME_DIR .. "src/mame/drivers/go2000.cpp",
+ MAME_DIR .. "src/mame/drivers/goindol.cpp",
+ MAME_DIR .. "src/mame/includes/goindol.h",
+ MAME_DIR .. "src/mame/video/goindol.cpp",
+ MAME_DIR .. "src/mame/drivers/suna8.cpp",
+ MAME_DIR .. "src/mame/includes/suna8.h",
+ MAME_DIR .. "src/mame/audio/suna8.cpp",
+ MAME_DIR .. "src/mame/video/suna8.cpp",
+ MAME_DIR .. "src/mame/drivers/suna16.cpp",
+ MAME_DIR .. "src/mame/includes/suna16.h",
+ MAME_DIR .. "src/mame/video/suna16.cpp",
+}
+
+createMAMEProjects(_target, _subtarget, "sunelect")
files {
MAME_DIR .. "src/mame/drivers/arabian.cpp",
MAME_DIR .. "src/mame/includes/arabian.h",
@@ -3458,21 +3487,6 @@ files {
MAME_DIR .. "src/mame/drivers/tonton.cpp",
}
-createMAMEProjects(_target, _subtarget, "suna")
-files {
- MAME_DIR .. "src/mame/drivers/go2000.cpp",
- MAME_DIR .. "src/mame/drivers/goindol.cpp",
- MAME_DIR .. "src/mame/includes/goindol.h",
- MAME_DIR .. "src/mame/video/goindol.cpp",
- MAME_DIR .. "src/mame/drivers/suna8.cpp",
- MAME_DIR .. "src/mame/includes/suna8.h",
- MAME_DIR .. "src/mame/audio/suna8.cpp",
- MAME_DIR .. "src/mame/video/suna8.cpp",
- MAME_DIR .. "src/mame/drivers/suna16.cpp",
- MAME_DIR .. "src/mame/includes/suna16.h",
- MAME_DIR .. "src/mame/video/suna16.cpp",
-}
-
createMAMEProjects(_target, _subtarget, "sure")
files {
MAME_DIR .. "src/mame/drivers/mil4000.cpp",
@@ -3917,9 +3931,9 @@ files {
MAME_DIR .. "src/mame/video/slapfght.cpp",
MAME_DIR .. "src/mame/drivers/snowbros.cpp",
MAME_DIR .. "src/mame/includes/snowbros.h",
- MAME_DIR .. "src/mame/video/snowbros.cpp",
+ MAME_DIR .. "src/mame/video/snowbros.cpp",
MAME_DIR .. "src/mame/video/kan_pand.cpp",
- MAME_DIR .. "src/mame/video/kan_pand.h",
+ MAME_DIR .. "src/mame/video/kan_pand.h",
MAME_DIR .. "src/mame/drivers/toaplan1.cpp",
MAME_DIR .. "src/mame/includes/toaplan1.h",
MAME_DIR .. "src/mame/machine/toaplan1.cpp",
@@ -4122,6 +4136,7 @@ files {
MAME_DIR .. "src/mame/drivers/alvg.cpp",
MAME_DIR .. "src/mame/drivers/atari_s1.cpp",
MAME_DIR .. "src/mame/drivers/atari_s2.cpp",
+ MAME_DIR .. "src/mame/drivers/barni.cpp",
MAME_DIR .. "src/mame/drivers/bingo.cpp",
MAME_DIR .. "src/mame/drivers/by17.cpp",
MAME_DIR .. "src/mame/drivers/by35.cpp",
@@ -4154,12 +4169,16 @@ files {
MAME_DIR .. "src/mame/drivers/gts80b.cpp",
MAME_DIR .. "src/mame/drivers/hankin.cpp",
MAME_DIR .. "src/mame/drivers/icecold.cpp",
+ MAME_DIR .. "src/mame/drivers/idsa.cpp",
MAME_DIR .. "src/mame/drivers/inder.cpp",
+ MAME_DIR .. "src/mame/drivers/inderp.cpp",
MAME_DIR .. "src/mame/drivers/jeutel.cpp",
+ MAME_DIR .. "src/mame/drivers/joctronic.cpp",
MAME_DIR .. "src/mame/drivers/jp.cpp",
MAME_DIR .. "src/mame/drivers/jvh.cpp",
MAME_DIR .. "src/mame/drivers/kissproto.cpp",
MAME_DIR .. "src/mame/drivers/ltd.cpp",
+ MAME_DIR .. "src/mame/drivers/macp.cpp",
MAME_DIR .. "src/mame/drivers/micropin.cpp",
MAME_DIR .. "src/mame/drivers/mephistp.cpp",
MAME_DIR .. "src/mame/drivers/mrgame.cpp",
@@ -4168,7 +4187,6 @@ files {
MAME_DIR .. "src/mame/drivers/play_1.cpp",
MAME_DIR .. "src/mame/drivers/play_2.cpp",
MAME_DIR .. "src/mame/drivers/play_3.cpp",
- MAME_DIR .. "src/mame/drivers/play_5.cpp",
MAME_DIR .. "src/mame/drivers/rowamet.cpp",
MAME_DIR .. "src/mame/drivers/s11.cpp",
MAME_DIR .. "src/mame/includes/s11.h",
diff --git a/docs/release/scripts/target/mame/mame.lua b/docs/release/scripts/target/mame/mame.lua
index b7360486042..d58bfab4595 100644
--- a/docs/release/scripts/target/mame/mame.lua
+++ b/docs/release/scripts/target/mame/mame.lua
@@ -11,13 +11,16 @@
dofile("arcade.lua")
dofile("mess.lua")
+dofile("virtual.lua")
function createProjects_mame_mame(_target, _subtarget)
createProjects_mame_arcade(_target, _subtarget)
createProjects_mame_mess(_target, _subtarget)
+ createProjects_mame_virtual(_target, _subtarget)
end
function linkProjects_mame_mame(_target, _subtarget)
linkProjects_mame_arcade(_target, _subtarget)
linkProjects_mame_mess(_target, _subtarget)
+ linkProjects_mame_virtual(_target, _subtarget)
end
diff --git a/docs/release/scripts/target/mame/mess.lua b/docs/release/scripts/target/mame/mess.lua
index 2695224e692..5d4f3e4907d 100644
--- a/docs/release/scripts/target/mame/mess.lua
+++ b/docs/release/scripts/target/mame/mess.lua
@@ -260,6 +260,8 @@ SOUNDS["ESQPUMP"] = true
SOUNDS["VRC6"] = true
SOUNDS["UPD1771"] = true
SOUNDS["GB_SOUND"] = true
+SOUNDS["PCD3311"] = true
+
--------------------------------------------------
-- specify available video cores
--------------------------------------------------
@@ -331,6 +333,7 @@ VIDEOS["VIC4567"] = true
--VIDEOS+= VOODOO"] = true
VIDEOS["SCN2674"] = true
VIDEOS["GB_LCD"] = true
+VIDEOS["GBA_LCD"] = true
--------------------------------------------------
-- specify available machine cores
@@ -602,6 +605,7 @@ BUSES["ADAM"] = true
BUSES["ADAMNET"] = true
BUSES["APF"] = true
BUSES["APRICOT_EXPANSION"] = true
+BUSES["APRICOT_KEYBOARD"] = true
BUSES["ARCADIA"] = true
BUSES["ASTROCADE"] = true
BUSES["BBC_ANALOGUE"] = true
@@ -619,6 +623,7 @@ BUSES["CGENIE_PARALLEL"] = true
BUSES["CHANNELF"] = true
BUSES["COCO"] = true
BUSES["COLECO"] = true
+BUSES["COMPIS_GRAPHICS"] = true
BUSES["COMPUCOLOR"] = true
BUSES["COMX35"] = true
BUSES["CPC"] = true
@@ -703,6 +708,148 @@ BUSES["Z88"] = true
BUSES["ZORRO"] = true
--------------------------------------------------
+-- specify used file formats
+--------------------------------------------------
+
+FORMATS["2D_DSK"] = true
+FORMATS["A26_CAS"] = true
+FORMATS["A5105_DSK"] = true
+FORMATS["ABC800_DSK"] = true
+FORMATS["ABCFD2_DSK"] = true
+FORMATS["ACE_TAP"] = true
+FORMATS["ACORN_DSK"] = true
+FORMATS["ADAM_CAS"] = true
+FORMATS["ADAM_DSK"] = true
+FORMATS["AFS_DSK"] = true
+FORMATS["AMI_DSK"] = true
+FORMATS["AP2_DSK"] = true
+FORMATS["APF_APT"] = true
+FORMATS["APOLLO_DSK"] = true
+FORMATS["APPLIX_DSK"] = true
+FORMATS["APRIDISK"] = true
+FORMATS["AP_DSK35"] = true
+FORMATS["ASST128_DSK"] = true
+FORMATS["ATARI_DSK"] = true
+FORMATS["ATOM_DSK"] = true
+FORMATS["ATOM_TAP"] = true
+FORMATS["BASICDSK"] = true
+FORMATS["BW12_DSK"] = true
+FORMATS["BW2_DSK"] = true
+FORMATS["C3040_DSK"] = true
+FORMATS["C4040_DSK"] = true
+FORMATS["C8280_DSK"] = true
+FORMATS["CAMPLYNX_CAS"] = true
+FORMATS["CAMPLYNX_DSK"] = true
+FORMATS["CBM_CRT"] = true
+FORMATS["CBM_TAP"] = true
+FORMATS["CCVF_DSK"] = true
+FORMATS["CD90_640_DSK"] = true
+FORMATS["CGENIE_DSK"] = true
+FORMATS["CGEN_CAS"] = true
+FORMATS["COCO_CAS"] = true
+FORMATS["COMX35_DSK"] = true
+FORMATS["CONCEPT_DSK"] = true
+FORMATS["COUPEDSK"] = true
+FORMATS["CPIS_DSK"] = true
+FORMATS["CSW_CAS"] = true
+FORMATS["D64_DSK"] = true
+FORMATS["D71_DSK"] = true
+FORMATS["D80_DSK"] = true
+FORMATS["D81_DSK"] = true
+FORMATS["D82_DSK"] = true
+FORMATS["DCP_DSK"] = true
+FORMATS["DIM_DSK"] = true
+FORMATS["DIP_DSK"] = true
+FORMATS["DMK_DSK"] = true
+FORMATS["EP64_DSK"] = true
+FORMATS["DMV_DSK"] = true
+FORMATS["ESQ16_DSK"] = true
+FORMATS["ESQ8_DSK"] = true
+FORMATS["EXCALI64_DSK"] = true
+FORMATS["FC100_CAS"] = true
+FORMATS["FDD_DSK"] = true
+FORMATS["FLEX_DSK"] = true
+FORMATS["FM7_CAS"] = true
+FORMATS["FMSX_CAS"] = true
+FORMATS["FMTOWNS_DSK"] = true
+FORMATS["FSD_DSK"] = true
+FORMATS["G64_DSK"] = true
+FORMATS["GTP_CAS"] = true
+FORMATS["HECTOR_MINIDISC"] = true
+FORMATS["HECT_DSK"] = true
+FORMATS["HECT_TAP"] = true
+FORMATS["IQ151_DSK"] = true
+FORMATS["ITT3030_DSK"] = true
+FORMATS["JVC_DSK"] = true
+FORMATS["KAYPRO_DSK"] = true
+FORMATS["KC85_DSK"] = true
+FORMATS["KC_CAS"] = true
+FORMATS["KIM1_CAS"] = true
+FORMATS["LVIV_LVT"] = true
+FORMATS["M20_DSK"] = true
+FORMATS["M5_DSK"] = true
+FORMATS["MBEE_CAS"] = true
+FORMATS["MFM_HD"] = true
+FORMATS["MM_DSK"] = true
+FORMATS["MSX_DSK"] = true
+FORMATS["MZ_CAS"] = true
+FORMATS["NANOS_DSK"] = true
+FORMATS["NASCOM_DSK"] = true
+FORMATS["NASLITE_DSK"] = true
+FORMATS["NES_DSK"] = true
+FORMATS["NFD_DSK"] = true
+FORMATS["ORAO_CAS"] = true
+FORMATS["ORIC_DSK"] = true
+FORMATS["ORIC_TAP"] = true
+FORMATS["P6001_CAS"] = true
+FORMATS["PASTI_DSK"] = true
+FORMATS["PC98FDI_DSK"] = true
+FORMATS["PC98_DSK"] = true
+FORMATS["PC_DSK"] = true
+FORMATS["PHC25_CAS"] = true
+FORMATS["PK8020_DSK"] = true
+FORMATS["PMD_CAS"] = true
+FORMATS["PRIMOPTP"] = true
+FORMATS["PYLDIN_DSK"] = true
+FORMATS["QL_DSK"] = true
+FORMATS["RK_CAS"] = true
+FORMATS["RX50_DSK"] = true
+FORMATS["SC3000_BIT"] = true
+FORMATS["SF7000_DSK"] = true
+FORMATS["SMX_DSK"] = true
+FORMATS["SOL_CAS"] = true
+FORMATS["SORC_CAS"] = true
+FORMATS["SORC_DSK"] = true
+FORMATS["SORD_CAS"] = true
+FORMATS["SPC1000_CAS"] = true
+FORMATS["ST_DSK"] = true
+FORMATS["SVI_CAS"] = true
+FORMATS["SVI_DSK"] = true
+FORMATS["TANDY2K_DSK"] = true
+FORMATS["THOM_CAS"] = true
+FORMATS["THOM_DSK"] = true
+FORMATS["TI99_DSK"] = true
+FORMATS["TIKI100_DSK"] = true
+FORMATS["TRD_DSK"] = true
+FORMATS["TRS80_DSK"] = true
+FORMATS["TRS_CAS"] = true
+FORMATS["TVC_CAS"] = true
+FORMATS["TVC_DSK"] = true
+FORMATS["TZX_CAS"] = true
+FORMATS["UEF_CAS"] = true
+FORMATS["UPD765_DSK"] = true
+FORMATS["VDK_DSK"] = true
+FORMATS["VECTOR06_DSK"] = true
+FORMATS["VG5K_CAS"] = true
+FORMATS["VICTOR9K_DSK"] = true
+FORMATS["VT_CAS"] = true
+FORMATS["WD177X_DSK"] = true
+FORMATS["X07_CAS"] = true
+FORMATS["X1_TAP"] = true
+FORMATS["XDF_DSK"] = true
+FORMATS["ZX81_P"] = true
+
+--------------------------------------------------
-- this is the list of driver libraries that
-- comprise MESS plus messdriv.*", which contains
-- the list of drivers
@@ -765,6 +912,7 @@ function linkProjects_mame_mess(_target, _subtarget)
"epson",
"exidy",
"fairch",
+ "fairlight",
"fidelity",
"force",
"fujitsu",
@@ -1133,8 +1281,6 @@ files {
MAME_DIR .. "src/mame/drivers/apricotp.cpp",
MAME_DIR .. "src/mame/machine/apricotkb.cpp",
MAME_DIR .. "src/mame/machine/apricotkb.h",
- MAME_DIR .. "src/mame/machine/apricotkb_hle.cpp",
- MAME_DIR .. "src/mame/machine/apricotkb_hle.h",
MAME_DIR .. "src/mame/drivers/victor9k.cpp",
MAME_DIR .. "src/mame/includes/victor9k.h",
MAME_DIR .. "src/mame/machine/victor9kb.cpp",
@@ -1730,6 +1876,11 @@ files {
MAME_DIR .. "src/mame/video/channelf.cpp",
}
+createMESSProjects(_target, _subtarget, "fairlight")
+files {
+ MAME_DIR .. "src/mame/drivers/cmi.cpp",
+}
+
createMESSProjects(_target, _subtarget, "fidelity")
files {
MAME_DIR .. "src/mame/drivers/fidelz80.cpp",
@@ -2070,6 +2221,7 @@ files {
createMESSProjects(_target, _subtarget, "mos")
files {
MAME_DIR .. "src/mame/drivers/kim1.cpp",
+ MAME_DIR .. "src/mame/includes/kim1.h",
}
createMESSProjects(_target, _subtarget, "motorola")
@@ -2164,7 +2316,6 @@ files {
MAME_DIR .. "src/mame/machine/gb.cpp",
MAME_DIR .. "src/mame/drivers/gba.cpp",
MAME_DIR .. "src/mame/includes/gba.h",
- MAME_DIR .. "src/mame/video/gba.cpp",
MAME_DIR .. "src/mame/drivers/n64.cpp",
MAME_DIR .. "src/mame/includes/n64.h",
MAME_DIR .. "src/mame/drivers/nes.cpp",
@@ -2705,7 +2856,6 @@ files {
createMESSProjects(_target, _subtarget, "telenova")
files {
MAME_DIR .. "src/mame/drivers/compis.cpp",
- MAME_DIR .. "src/mame/includes/compis.h",
MAME_DIR .. "src/mame/machine/compiskb.cpp",
MAME_DIR .. "src/mame/machine/compiskb.h",
}
@@ -2886,6 +3036,7 @@ files {
MAME_DIR .. "src/mame/includes/tandy2k.h",
MAME_DIR .. "src/mame/machine/tandy2kb.cpp",
MAME_DIR .. "src/mame/machine/tandy2kb.h",
+ MAME_DIR .. "src/mame/drivers/vis.cpp",
}
createMESSProjects(_target, _subtarget, "ultimachine")
diff --git a/docs/release/scripts/target/mame/nl.lua b/docs/release/scripts/target/mame/nl.lua
index 08829959c1f..a3bdddbee98 100644
--- a/docs/release/scripts/target/mame/nl.lua
+++ b/docs/release/scripts/target/mame/nl.lua
@@ -124,7 +124,7 @@ files{
MAME_DIR .. "src/mame/includes/mario.h",
MAME_DIR .. "src/mame/video/mario.cpp",
MAME_DIR .. "src/mame/audio/mario.cpp",
-
+
MAME_DIR .. "src/mame/drivers/m62.cpp",
MAME_DIR .. "src/mame/includes/m62.h",
MAME_DIR .. "src/mame/video/m62.cpp",
diff --git a/docs/release/scripts/target/mame/virtual.lua b/docs/release/scripts/target/mame/virtual.lua
new file mode 100644
index 00000000000..6d13a002948
--- /dev/null
+++ b/docs/release/scripts/target/mame/virtual.lua
@@ -0,0 +1,95 @@
+-- license:BSD-3-Clause
+-- copyright-holders:MAMEdev Team
+
+---------------------------------------------------------------------------
+--
+-- virtual.lua
+--
+-- Virtual target makefile
+--
+---------------------------------------------------------------------------
+
+--------------------------------------------------
+-- specify available CPU cores
+--------------------------------------------------
+
+CPUS["M6502"] = true
+CPUS["H6280"] = true
+
+--------------------------------------------------
+-- specify available sound cores; some of these are
+-- only for MAME and so aren't included
+--------------------------------------------------
+
+SOUNDS["NES_APU"] = true
+SOUNDS["YM2612"] = true
+SOUNDS["YM2151"] = true
+SOUNDS["YM2413"] = true
+SOUNDS["YM2203"] = true
+SOUNDS["AY8910"] = true
+SOUNDS["YM3526"] = true
+SOUNDS["YM3812"] = true
+SOUNDS["C6280"] = true
+SOUNDS["SN76496"] = true
+SOUNDS["K053260"] = true
+SOUNDS["SEGAPCM"] = true
+SOUNDS["MULTIPCM"] = true
+SOUNDS["GB_SOUND"] = true
+SOUNDS["POKEY"] = true
+SOUNDS["C352"] = true
+
+--------------------------------------------------
+-- specify available video cores
+--------------------------------------------------
+
+
+--------------------------------------------------
+-- specify available machine cores
+--------------------------------------------------
+
+
+--------------------------------------------------
+-- specify available bus cores
+--------------------------------------------------
+
+
+--------------------------------------------------
+-- this is the driver library that
+-- comprise the virtual drivers
+--------------------------------------------------
+function linkProjects_mame_virtual(_target, _subtarget)
+ links {
+ "virtual",
+ }
+end
+
+function createVirtualProjects(_target, _subtarget, _name)
+ project (_name)
+ targetsubdir(_target .."_" .. _subtarget)
+ kind (LIBTYPE)
+ uuid (os.uuid("drv-" .. _target .."_" .. _subtarget .. "_" .._name))
+ addprojectflags()
+ precompiledheaders()
+
+ includedirs {
+ MAME_DIR .. "src/osd",
+ MAME_DIR .. "src/emu",
+ MAME_DIR .. "src/devices",
+ MAME_DIR .. "src/mame",
+ MAME_DIR .. "src/lib",
+ MAME_DIR .. "src/lib/util",
+ MAME_DIR .. "src/lib/netlist",
+ MAME_DIR .. "3rdparty",
+ }
+
+ includedirs {
+ ext_includedir("zlib"),
+ }
+end
+
+function createProjects_mame_virtual(_target, _subtarget)
+ createVirtualProjects(_target, _subtarget, "virtual")
+ files {
+ MAME_DIR .. "src/mame/drivers/vgmplay.cpp",
+ }
+end
diff --git a/docs/release/scripts/target/zexall/zexall.lua b/docs/release/scripts/target/zexall/zexall.lua
index 739cd2a225a..36a1ff64a34 100644
--- a/docs/release/scripts/target/zexall/zexall.lua
+++ b/docs/release/scripts/target/zexall/zexall.lua
@@ -3,10 +3,10 @@ STANDALONE = true
CPUS["Z80"] = true
function standalone()
- files{
+ files{
MAME_DIR .. "src/zexall/main.cpp",
MAME_DIR .. "src/zexall/zexall.cpp",
MAME_DIR .. "src/zexall/zexall.h",
- }
+ }
end
diff --git a/docs/release/scripts/toolchain.lua b/docs/release/scripts/toolchain.lua
index ff2f10ebbc2..fc19060a5c8 100644
--- a/docs/release/scripts/toolchain.lua
+++ b/docs/release/scripts/toolchain.lua
@@ -49,9 +49,7 @@ newoption {
allowed = {
{ "intel-14", "Intel C++ Compiler XE 14.0" },
{ "intel-15", "Intel C++ Compiler XE 15.0" },
- { "vs2013-clang", "Clang 3.6" },
{ "vs2015-clang", "Clang 3.6" },
- { "vs2013-xp", "Visual Studio 2013 targeting XP" },
{ "vs2015-xp", "Visual Studio 2015 targeting XP" },
{ "winphone8", "Windows Phone 8.0" },
{ "winphone81", "Windows Phone 8.1" },
@@ -333,7 +331,7 @@ function toolchain(_buildDir, _subDir)
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-ci20")
end
- elseif _ACTION == "vs2013" or _ACTION == "vs2015" or _ACTION == "vs2015-fastbuild" then
+ elseif _ACTION == "vs2015" or _ACTION == "vs2015-fastbuild" then
if (_ACTION .. "-clang") == _OPTIONS["vs"] then
premake.vstudio.toolset = ("LLVM-" .. _ACTION)
@@ -384,11 +382,6 @@ function toolchain(_buildDir, _subDir)
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-intel")
end
- if ("vs2013-xp") == _OPTIONS["vs"] then
- premake.vstudio.toolset = ("v120_xp")
- location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp")
- end
-
if ("vs2015-xp") == _OPTIONS["vs"] then
premake.vstudio.toolset = ("v140_xp")
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-xp")
diff --git a/docs/release/src/emu/digfx.h b/docs/release/src/emu/digfx.h
index 7359aa4d340..9dd34acd1bd 100644
--- a/docs/release/src/emu/digfx.h
+++ b/docs/release/src/emu/digfx.h
@@ -201,7 +201,7 @@ public:
static void static_set_palette(device_t &device, const char *tag);
// getters
- palette_device &palette() const { return *m_palette; }
+ palette_device &palette() const { assert(m_palette != nullptr); return *m_palette; }
gfx_element *gfx(int index) const { assert(index < MAX_GFX_ELEMENTS); return m_gfx[index].get(); }
// decoding
diff --git a/docs/release/src/emu/validity.cpp b/docs/release/src/emu/validity.cpp
index 09d990ffb82..2384dabe992 100644
--- a/docs/release/src/emu/validity.cpp
+++ b/docs/release/src/emu/validity.cpp
@@ -270,6 +270,10 @@ void validity_checker::validate_end()
void validity_checker::validate_one(const game_driver &driver)
{
+ // help verbose validation detect configuration-related crashes
+ if (m_print_verbose)
+ output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Validating driver %s (%s)...\n", driver.name, core_filename_extract_base(driver.source_file).c_str());
+
// set the current driver
m_current_driver = &driver;
m_current_config = nullptr;
@@ -303,7 +307,9 @@ void validity_checker::validate_one(const game_driver &driver)
// if we had warnings or errors, output
if (m_errors > start_errors || m_warnings > start_warnings || !m_verbose_text.empty())
{
- output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Driver %s (file %s): %d errors, %d warnings\n", driver.name, core_filename_extract_base(driver.source_file).c_str(), m_errors - start_errors, m_warnings - start_warnings);
+ if (!m_print_verbose)
+ output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "Driver %s (file %s): ", driver.name, core_filename_extract_base(driver.source_file).c_str());
+ output_via_delegate(OSD_OUTPUT_CHANNEL_ERROR, "%d errors, %d warnings\n", m_errors - start_errors, m_warnings - start_warnings);
if (m_errors > start_errors)
output_indented_errors(m_error_text, "Errors");
if (m_warnings > start_warnings)
diff --git a/docs/release/src/emu/video.cpp b/docs/release/src/emu/video.cpp
index 30aef6875db..4075498a002 100644
--- a/docs/release/src/emu/video.cpp
+++ b/docs/release/src/emu/video.cpp
@@ -1011,7 +1011,7 @@ void video_manager::update_refresh_speed()
{
attoseconds_t period = screen.frame_period().attoseconds();
if (period != 0)
- min_frame_period = MIN(min_frame_period, period);
+ min_frame_period = std::min(min_frame_period, period);
}
// compute a target speed as an integral percentage
@@ -1019,7 +1019,7 @@ void video_manager::update_refresh_speed()
// the fact that most refresh rates are not accurate to 10 digits...
UINT32 target_speed = floor((minrefresh - 0.25) * 1000.0 / ATTOSECONDS_TO_HZ(min_frame_period));
UINT32 original_speed = original_speed_setting();
- target_speed = MIN(target_speed, original_speed);
+ target_speed = std::min(target_speed, original_speed);
// if we changed, log that verbosely
if (target_speed != m_speed)
@@ -1180,7 +1180,7 @@ osd_file::error video_manager::open_next(emu_file &file, const char *extension)
int end;
if ((end1 != -1) && (end2 != -1))
- end = MIN(end1, end2);
+ end = std::min(end1, end2);
else if (end1 != -1)
end = end1;
else if (end2 != -1)
diff --git a/docs/release/src/frontend/mame/audit.cpp b/docs/release/src/frontend/mame/audit.cpp
index ed811e7ec39..8a34e7c3451 100644
--- a/docs/release/src/frontend/mame/audit.cpp
+++ b/docs/release/src/frontend/mame/audit.cpp
@@ -2,7 +2,7 @@
// copyright-holders:Aaron Giles
/***************************************************************************
- audit.c
+ audit.cpp
ROM set auditing functions.
@@ -14,7 +14,8 @@
#include "chd.h"
#include "drivenum.h"
#include "sound/samples.h"
-#include "softlist.h"
+#include "softlist_dev.h"
+
//**************************************************************************
// CORE FUNCTIONS
@@ -149,7 +150,7 @@ media_auditor::summary media_auditor::audit_device(device_t &device, const char
//-------------------------------------------------
// audit_software
//-------------------------------------------------
-media_auditor::summary media_auditor::audit_software(const char *list_name, const software_info *swinfo, const char *validation)
+media_auditor::summary media_auditor::audit_software(const std::string &list_name, const software_info *swinfo, const char *validation)
{
// start fresh
m_record_list.clear();
@@ -171,7 +172,7 @@ media_auditor::summary media_auditor::audit_software(const char *list_name, cons
// now iterate over software parts
for (const software_part &part : swinfo->parts())
- audit_regions(part.romdata(), locationtag.c_str(), found, required);
+ audit_regions(part.romdata().data(), locationtag.c_str(), found, required);
if ((found == 0) && (required > 0))
{
@@ -180,7 +181,7 @@ media_auditor::summary media_auditor::audit_software(const char *list_name, cons
}
// return a summary
- return summarize(list_name);
+ return summarize(list_name.c_str());
}
@@ -632,7 +633,7 @@ media_auditor::summary media_auditor::winui_summarize(const char *name, std::str
}
// downgrade the overall status if necessary
- overall_status = MAX(overall_status, best_new_status);
+ overall_status = (std::max)(overall_status, best_new_status);
}
return overall_status;
}
diff --git a/docs/release/src/frontend/mame/audit.h b/docs/release/src/frontend/mame/audit.h
index f2a73ae56ac..1e6be5016f9 100644
--- a/docs/release/src/frontend/mame/audit.h
+++ b/docs/release/src/frontend/mame/audit.h
@@ -158,7 +158,7 @@ public:
// audit operations
summary audit_media(const char *validation = AUDIT_VALIDATE_FULL);
summary audit_device(device_t &device, const char *validation = AUDIT_VALIDATE_FULL);
- summary audit_software(const char *list_name, const software_info *swinfo, const char *validation = AUDIT_VALIDATE_FULL);
+ summary audit_software(const std::string &list_name, const software_info *swinfo, const char *validation = AUDIT_VALIDATE_FULL);
summary audit_samples();
summary summarize(const char *name, std::ostream *output = nullptr) const;
summary winui_summarize(const char *name, std::string *output = nullptr); //WINUI - only report problems that the user can fix
diff --git a/docs/release/src/hbmame/bus/neogeo/neogeo_slot.cpp b/docs/release/src/hbmame/bus/neogeo/neogeo_slot.cpp
index 1310c26f524..0560cf5be12 100644
--- a/docs/release/src/hbmame/bus/neogeo/neogeo_slot.cpp
+++ b/docs/release/src/hbmame/bus/neogeo/neogeo_slot.cpp
@@ -68,7 +68,7 @@ void neogeo_cart_slot_device::device_config_complete()
-------------------------------------------------*/
-bool neogeo_cart_slot_device::call_load()
+image_init_result neogeo_cart_slot_device::call_load()
{
if (m_cart)
{
@@ -138,11 +138,11 @@ bool neogeo_cart_slot_device::call_load()
m_cart->m_sprite_gfx_address_mask = neogeohelper_optimize_sprite_data(m_cart->get_sprites_optimized_arr(), m_cart->get_sprites_base(), m_cart->get_sprites_size());
- return IMAGE_INIT_PASS;
+ return image_init_result::PASS;
}
}
- return IMAGE_INIT_PASS;
+ return image_init_result::PASS;
}
void neogeo_cart_slot_device::setup_memory_banks(running_machine &machine)
diff --git a/docs/release/src/hbmame/bus/neogeo/neogeo_slot.h b/docs/release/src/hbmame/bus/neogeo/neogeo_slot.h
index 427da810ff8..931a8c89360 100644
--- a/docs/release/src/hbmame/bus/neogeo/neogeo_slot.h
+++ b/docs/release/src/hbmame/bus/neogeo/neogeo_slot.h
@@ -5,6 +5,7 @@
#include "neogeo_intf.h"
#include "neogeo_helper.h"
+#include "softlist_dev.h"
/***************************************************************************
TYPE DEFINITIONS
@@ -26,7 +27,7 @@ public:
virtual void device_config_complete() override;
// image-level overrides
- virtual bool call_load() override;
+ virtual image_init_result call_load() override;
virtual void call_unload() override;
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
diff --git a/docs/release/src/hbmame/bus/neogeo_ctrl/mahjong.cpp b/docs/release/src/hbmame/bus/neogeo_ctrl/mahjong.cpp
index 5a58daf6bee..ed55fefc1b0 100644
--- a/docs/release/src/hbmame/bus/neogeo_ctrl/mahjong.cpp
+++ b/docs/release/src/hbmame/bus/neogeo_ctrl/mahjong.cpp
@@ -93,17 +93,15 @@ ioport_constructor neogeo_mjctrl_device::device_input_ports() const
// neogeo_joystick_device - constructor
//-------------------------------------------------
-neogeo_mjctrl_ac_device::neogeo_mjctrl_ac_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source):
- device_t(mconfig, type, name, tag, owner, clock, shortname, source),
- device_neogeo_control_port_interface(mconfig, *this),
- m_mjpanel(*this, "MJ")
+neogeo_mjctrl_ac_device::neogeo_mjctrl_ac_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
+ : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+ , device_neogeo_control_port_interface(mconfig, *this)
+ , m_mjpanel(*this, "MJ.%u", 0)
{
}
-neogeo_mjctrl_ac_device::neogeo_mjctrl_ac_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
- device_t(mconfig, NEOGEO_MJCTRL_AC, "SNK Neo Geo Arcade Mahjong panel", tag, owner, clock, "neogeo_mjac", __FILE__),
- device_neogeo_control_port_interface(mconfig, *this),
- m_mjpanel(*this, "MJ")
+neogeo_mjctrl_ac_device::neogeo_mjctrl_ac_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : neogeo_mjctrl_ac_device(mconfig, NEOGEO_MJCTRL_AC, "SNK Neo Geo Arcade Mahjong panel", tag, owner, clock, "neogeo_mjac", __FILE__)
{
}
diff --git a/docs/release/src/hbmame/drivers/cps2.cpp b/docs/release/src/hbmame/drivers/cps2.cpp
index 20fe79cc639..be7e465f2a4 100644
--- a/docs/release/src/hbmame/drivers/cps2.cpp
+++ b/docs/release/src/hbmame/drivers/cps2.cpp
@@ -234,6 +234,236 @@ ROM_START( mpangjd )
ROM_END
+ROM_START( mshjphp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "mshjphp.03", 0x000000, 0x80000, CRC(31ae1efc) SHA1(02d3447edceb07ae4e40b068d8a5637547cbc17e) )
+ ROM_LOAD16_WORD_SWAP( "mshj.04g", 0x080000, 0x80000, CRC(61d791c6) SHA1(9f883bcc48058a99c4ba653d0855c58c5d081243) )
+ ROM_LOAD16_WORD_SWAP( "msh.05a", 0x100000, 0x80000, CRC(f37539e6) SHA1(770febc25ca5615b6c2023727edab3c68b15b2c4) )
+ ROM_LOAD16_WORD_SWAP( "msh.06b", 0x180000, 0x80000, CRC(803e3fa4) SHA1(0acdeda65002521bf24130cbf06f9faa1dcef9e5) )
+ ROM_LOAD16_WORD_SWAP( "msh.07a", 0x200000, 0x80000, CRC(c45f8e27) SHA1(4d28e0782c31ce56e728ac6ef5edd10437f00637) )
+ ROM_LOAD16_WORD_SWAP( "msh.08a", 0x280000, 0x80000, CRC(9ca6f12c) SHA1(26ad682667b983b805e1f577426e5fca8ee3c82b) )
+ ROM_LOAD16_WORD_SWAP( "msh.09a", 0x300000, 0x80000, CRC(82ec27af) SHA1(caf76268063ba91d28e8af684d60c2d71f29b9b9) )
+ ROM_LOAD16_WORD_SWAP( "msh.10b", 0x380000, 0x80000, CRC(8d931196) SHA1(983e62efcdb4c8db6bce6acf4f86acb9447b565d) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "msh.13m", 0x0000000, 0x400000, CRC(09d14566) SHA1(c96463654043f22da5e844c6da17aa9273dc3439) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.15m", 0x0000002, 0x400000, CRC(ee962057) SHA1(24e359accb5f71a5863d7bad4088719fa547f88c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.17m", 0x0000004, 0x400000, CRC(604ece14) SHA1(880fb62b33ba4cceb38635e4ec056fac11a3c70f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.19m", 0x0000006, 0x400000, CRC(94a731e8) SHA1(1e784a3412e7361e3001494e1daf840ef8c20449) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.14m", 0x1000000, 0x400000, CRC(4197973e) SHA1(93aeea1a480b5f452c8a40ae3fff956796b859fa) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.16m", 0x1000002, 0x400000, CRC(438da4a0) SHA1(ca93b14c3a570f9dd582efbb3f0536a92e535042) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.18m", 0x1000004, 0x400000, CRC(4db92d94) SHA1(f1b25ccc0627139ad5b287a8f2ab3b4a2fb8b8e4) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.20m", 0x1000006, 0x400000, CRC(a2b0c6c0) SHA1(71016c01c1a706b73cf5b9ac7e384a030c6cf08d) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "msh.01", 0x00000, 0x08000, CRC(c976e6f9) SHA1(281025e5aaf97c0aeddc8bd0f737d092daadad9e) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "msh.02", 0x28000, 0x20000, CRC(ce67d0d9) SHA1(324226597cc5a11603f04085fef7715a314ecc05) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "msh.11m", 0x000000, 0x200000, CRC(37ac6d30) SHA1(ec67421fbf4a08a686e76792cb35e9cbf04d022d) )
+ ROM_LOAD16_WORD_SWAP( "msh.12m", 0x200000, 0x200000, CRC(de092570) SHA1(a03d0df901f6ea79685eaed67db65bee14ec29c6) )
+
+ MSH_JAPAN_KEY
+ROM_END
+
+ROM_START( mshyh )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "mshe.03e", 0x000000, 0x80000, CRC(bd951414) SHA1(5585bdd1484dc18c7630d689f60d91c068aafc97) )
+ ROM_LOAD16_WORD_SWAP( "mshyh.04", 0x080000, 0x80000, CRC(adbd5707) SHA1(79d56d5a28328ababec10e080e46d1bfa6d8cab7) )
+ ROM_LOAD16_WORD_SWAP( "msh.05", 0x100000, 0x80000, CRC(6a091b9e) SHA1(7fa54e69e1a1ca348cb08d892d55023e9a3ff4cb) )
+ ROM_LOAD16_WORD_SWAP( "msh.06b", 0x180000, 0x80000, CRC(803e3fa4) SHA1(0acdeda65002521bf24130cbf06f9faa1dcef9e5) )
+ ROM_LOAD16_WORD_SWAP( "msh.07a", 0x200000, 0x80000, CRC(c45f8e27) SHA1(4d28e0782c31ce56e728ac6ef5edd10437f00637) )
+ ROM_LOAD16_WORD_SWAP( "msh.08a", 0x280000, 0x80000, CRC(9ca6f12c) SHA1(26ad682667b983b805e1f577426e5fca8ee3c82b) )
+ ROM_LOAD16_WORD_SWAP( "msh.09a", 0x300000, 0x80000, CRC(82ec27af) SHA1(caf76268063ba91d28e8af684d60c2d71f29b9b9) )
+ ROM_LOAD16_WORD_SWAP( "msh.10b", 0x380000, 0x80000, CRC(8d931196) SHA1(983e62efcdb4c8db6bce6acf4f86acb9447b565d) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "msh.13m", 0x0000000, 0x400000, CRC(09d14566) SHA1(c96463654043f22da5e844c6da17aa9273dc3439) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.15m", 0x0000002, 0x400000, CRC(ee962057) SHA1(24e359accb5f71a5863d7bad4088719fa547f88c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.17m", 0x0000004, 0x400000, CRC(604ece14) SHA1(880fb62b33ba4cceb38635e4ec056fac11a3c70f) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.19m", 0x0000006, 0x400000, CRC(94a731e8) SHA1(1e784a3412e7361e3001494e1daf840ef8c20449) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.14m", 0x1000000, 0x400000, CRC(4197973e) SHA1(93aeea1a480b5f452c8a40ae3fff956796b859fa) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.16m", 0x1000002, 0x400000, CRC(438da4a0) SHA1(ca93b14c3a570f9dd582efbb3f0536a92e535042) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.18m", 0x1000004, 0x400000, CRC(4db92d94) SHA1(f1b25ccc0627139ad5b287a8f2ab3b4a2fb8b8e4) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "msh.20m", 0x1000006, 0x400000, CRC(a2b0c6c0) SHA1(71016c01c1a706b73cf5b9ac7e384a030c6cf08d) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "msh.01", 0x00000, 0x08000, CRC(c976e6f9) SHA1(281025e5aaf97c0aeddc8bd0f737d092daadad9e) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "msh.02", 0x28000, 0x20000, CRC(ce67d0d9) SHA1(324226597cc5a11603f04085fef7715a314ecc05) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "msh.11m", 0x000000, 0x200000, CRC(37ac6d30) SHA1(ec67421fbf4a08a686e76792cb35e9cbf04d022d) )
+ ROM_LOAD16_WORD_SWAP( "msh.12m", 0x200000, 0x200000, CRC(de092570) SHA1(a03d0df901f6ea79685eaed67db65bee14ec29c6) )
+
+ MSH_WORLD_KEY
+ROM_END
+
+
+ROM_START( mvscjemb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "mvscjemb.03", 0x000000, 0x80000, CRC(8a50f418) SHA1(17db6f6afbe7866a4803bf2a20fb9b01b2b80250) )
+ ROM_LOAD16_WORD_SWAP( "mvcj.04a", 0x080000, 0x80000, CRC(07d212e8) SHA1(c5420e9bd580910c1f1d0264240aeef20aac30a7) )
+ ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
+ ROM_LOAD16_WORD_SWAP( "mvc.06a", 0x180000, 0x80000, CRC(8528e1f5) SHA1(cd065c05268ab581b05676da544baf6af642acac) )
+ ROM_LOAD16_WORD_SWAP( "mvc.07", 0x200000, 0x80000, CRC(c3baa32b) SHA1(d35589847e0753e869ffcd7c3abed925bfdb0fa2) )
+ ROM_LOAD16_WORD_SWAP( "mvc.08", 0x280000, 0x80000, CRC(bc002fcd) SHA1(0b6735a071a9274f7ab25c743271fc30411fe819) )
+ ROM_LOAD16_WORD_SWAP( "mvc.09", 0x300000, 0x80000, CRC(c67b26df) SHA1(6e9969246c57269d7ba0992a5cc319c8910bf8a9) )
+ ROM_LOAD16_WORD_SWAP( "mvc.10", 0x380000, 0x80000, CRC(0fdd1e26) SHA1(5fa684d823b4f4eec61ed9e9b8938af5272ae1ed) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "mvc.13m", 0x0000000, 0x400000, CRC(fa5f74bc) SHA1(79a619248938a85ce4f7794a704647b9cf564fbc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.15m", 0x0000002, 0x400000, CRC(71938a8f) SHA1(6982f7203458c1c46a1c1c13c0d0f2a5e109d271) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.17m", 0x0000004, 0x400000, CRC(92741d07) SHA1(ddfd70eab7c983ab452194b1860059f8ad694459) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.19m", 0x0000006, 0x400000, CRC(bcb72fc6) SHA1(46ab98dcdf6f5d611646a22a7355939ef5b2bbe5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.14m", 0x1000000, 0x400000, CRC(7f1df4e4) SHA1(ede92b31c1fe87f91b4fe74ac211f2fb5f863bc2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.16m", 0x1000002, 0x400000, CRC(90bd3203) SHA1(ed83208c486ea0f407b7e5d16a8cf242a6f73774) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.18m", 0x1000004, 0x400000, CRC(67aaf727) SHA1(e0e69104e31d2c41e18c0d24e9ab962406a7ca9a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.20m", 0x1000006, 0x400000, CRC(8b0bade8) SHA1(c5732361bb4bf284c4d12a82ac2c5750b1f9d441) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "mvc.01", 0x00000, 0x08000, CRC(41629e95) SHA1(36925c05b5fdcbe43283a882d021e5360c947061) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "mvc.02", 0x28000, 0x20000, CRC(963abf6b) SHA1(6b784870e338701cefabbbe4669984b5c4e8a9a5) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "mvc.11m", 0x000000, 0x400000, CRC(850fe663) SHA1(81e519d05a08855f242ea2e17ee0859b449db895) )
+ ROM_LOAD16_WORD_SWAP( "mvc.12m", 0x400000, 0x400000, CRC(7ccb1896) SHA1(74caadf3282fcc6acffb1bbe3734106f81124121) )
+
+ MVSC_JAPAN_KEY
+ROM_END
+
+ROM_START( mvscjphp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "mvscjphp.03", 0x000000, 0x80000, CRC(8f886e52) SHA1(5fcd465361452b3b163cbd62b6cd73835e2f9f54) )
+ ROM_LOAD16_WORD_SWAP( "mvcj.04a", 0x080000, 0x80000, CRC(07d212e8) SHA1(c5420e9bd580910c1f1d0264240aeef20aac30a7) )
+ ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
+ ROM_LOAD16_WORD_SWAP( "mvc.06a", 0x180000, 0x80000, CRC(8528e1f5) SHA1(cd065c05268ab581b05676da544baf6af642acac) )
+ ROM_LOAD16_WORD_SWAP( "mvc.07", 0x200000, 0x80000, CRC(c3baa32b) SHA1(d35589847e0753e869ffcd7c3abed925bfdb0fa2) )
+ ROM_LOAD16_WORD_SWAP( "mvc.08", 0x280000, 0x80000, CRC(bc002fcd) SHA1(0b6735a071a9274f7ab25c743271fc30411fe819) )
+ ROM_LOAD16_WORD_SWAP( "mvc.09", 0x300000, 0x80000, CRC(c67b26df) SHA1(6e9969246c57269d7ba0992a5cc319c8910bf8a9) )
+ ROM_LOAD16_WORD_SWAP( "mvc.10", 0x380000, 0x80000, CRC(0fdd1e26) SHA1(5fa684d823b4f4eec61ed9e9b8938af5272ae1ed) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "mvc.13m", 0x0000000, 0x400000, CRC(fa5f74bc) SHA1(79a619248938a85ce4f7794a704647b9cf564fbc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.15m", 0x0000002, 0x400000, CRC(71938a8f) SHA1(6982f7203458c1c46a1c1c13c0d0f2a5e109d271) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.17m", 0x0000004, 0x400000, CRC(92741d07) SHA1(ddfd70eab7c983ab452194b1860059f8ad694459) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.19m", 0x0000006, 0x400000, CRC(bcb72fc6) SHA1(46ab98dcdf6f5d611646a22a7355939ef5b2bbe5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.14m", 0x1000000, 0x400000, CRC(7f1df4e4) SHA1(ede92b31c1fe87f91b4fe74ac211f2fb5f863bc2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.16m", 0x1000002, 0x400000, CRC(90bd3203) SHA1(ed83208c486ea0f407b7e5d16a8cf242a6f73774) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.18m", 0x1000004, 0x400000, CRC(67aaf727) SHA1(e0e69104e31d2c41e18c0d24e9ab962406a7ca9a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.20m", 0x1000006, 0x400000, CRC(8b0bade8) SHA1(c5732361bb4bf284c4d12a82ac2c5750b1f9d441) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "mvc.01", 0x00000, 0x08000, CRC(41629e95) SHA1(36925c05b5fdcbe43283a882d021e5360c947061) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "mvc.02", 0x28000, 0x20000, CRC(963abf6b) SHA1(6b784870e338701cefabbbe4669984b5c4e8a9a5) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "mvc.11m", 0x000000, 0x400000, CRC(850fe663) SHA1(81e519d05a08855f242ea2e17ee0859b449db895) )
+ ROM_LOAD16_WORD_SWAP( "mvc.12m", 0x400000, 0x400000, CRC(7ccb1896) SHA1(74caadf3282fcc6acffb1bbe3734106f81124121) )
+
+ MVSC_JAPAN_KEY
+ROM_END
+
+ROM_START( mvscrcp ) // doesn't work
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "mvce.03a", 0x000000, 0x80000, CRC(824e4a90) SHA1(5c79c166d988d8a75d9941f4ee6fa4d6476e55e1) )
+ ROM_LOAD16_WORD_SWAP( "mvce.04a", 0x080000, 0x80000, CRC(436c5a4e) SHA1(82f4586e888f2550c53bfdc93a53791a595e05bd) )
+ ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
+ ROM_LOAD16_WORD_SWAP( "mvscrcp.06", 0x180000, 0x80000, CRC(57e2f6fd) SHA1(1c1b9992b411f45755cd2d70207511431603b4a8) )
+ ROM_LOAD16_WORD_SWAP( "mvc.07", 0x200000, 0x80000, CRC(c3baa32b) SHA1(d35589847e0753e869ffcd7c3abed925bfdb0fa2) )
+ ROM_LOAD16_WORD_SWAP( "mvc.08", 0x280000, 0x80000, CRC(bc002fcd) SHA1(0b6735a071a9274f7ab25c743271fc30411fe819) )
+ ROM_LOAD16_WORD_SWAP( "mvc.09", 0x300000, 0x80000, CRC(c67b26df) SHA1(6e9969246c57269d7ba0992a5cc319c8910bf8a9) )
+ ROM_LOAD16_WORD_SWAP( "mvc.10", 0x380000, 0x80000, CRC(0fdd1e26) SHA1(5fa684d823b4f4eec61ed9e9b8938af5272ae1ed) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "mvc.13m", 0x0000000, 0x400000, CRC(fa5f74bc) SHA1(79a619248938a85ce4f7794a704647b9cf564fbc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.15m", 0x0000002, 0x400000, CRC(71938a8f) SHA1(6982f7203458c1c46a1c1c13c0d0f2a5e109d271) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.17m", 0x0000004, 0x400000, CRC(92741d07) SHA1(ddfd70eab7c983ab452194b1860059f8ad694459) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.19m", 0x0000006, 0x400000, CRC(bcb72fc6) SHA1(46ab98dcdf6f5d611646a22a7355939ef5b2bbe5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.14m", 0x1000000, 0x400000, CRC(7f1df4e4) SHA1(ede92b31c1fe87f91b4fe74ac211f2fb5f863bc2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.16m", 0x1000002, 0x400000, CRC(90bd3203) SHA1(ed83208c486ea0f407b7e5d16a8cf242a6f73774) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.18m", 0x1000004, 0x400000, CRC(67aaf727) SHA1(e0e69104e31d2c41e18c0d24e9ab962406a7ca9a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.20m", 0x1000006, 0x400000, CRC(8b0bade8) SHA1(c5732361bb4bf284c4d12a82ac2c5750b1f9d441) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "mvc.01", 0x00000, 0x08000, CRC(41629e95) SHA1(36925c05b5fdcbe43283a882d021e5360c947061) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "mvc.02", 0x28000, 0x20000, CRC(963abf6b) SHA1(6b784870e338701cefabbbe4669984b5c4e8a9a5) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "mvc.11m", 0x000000, 0x400000, CRC(850fe663) SHA1(81e519d05a08855f242ea2e17ee0859b449db895) )
+ ROM_LOAD16_WORD_SWAP( "mvc.12m", 0x400000, 0x400000, CRC(7ccb1896) SHA1(74caadf3282fcc6acffb1bbe3734106f81124121) )
+
+ MVSC_WORLD_KEY
+ROM_END
+
+ROM_START( mvscuh ) // doesn't work
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "mvscuh.03", 0x000000, 0x80000, CRC(95eb2af9) SHA1(b5ba9ced0bb67783a00a07423b8b68bd3b89aaf9) )
+ ROM_LOAD16_WORD_SWAP( "mvscuh.04", 0x080000, 0x80000, CRC(05e4ba51) SHA1(21e7107d53c2416b215c9ff442a85e98489ac8ba) )
+ ROM_LOAD16_WORD_SWAP( "mvc.05a", 0x100000, 0x80000, CRC(2d8c8e86) SHA1(b07d640a734c5d336054ed05195786224c9a6cd4) )
+ ROM_LOAD16_WORD_SWAP( "mvc.06a", 0x180000, 0x80000, CRC(8528e1f5) SHA1(cd065c05268ab581b05676da544baf6af642acac) )
+ ROM_LOAD16_WORD_SWAP( "mvc.07", 0x200000, 0x80000, CRC(c3baa32b) SHA1(d35589847e0753e869ffcd7c3abed925bfdb0fa2) )
+ ROM_LOAD16_WORD_SWAP( "mvc.08", 0x280000, 0x80000, CRC(bc002fcd) SHA1(0b6735a071a9274f7ab25c743271fc30411fe819) )
+ ROM_LOAD16_WORD_SWAP( "mvc.09", 0x300000, 0x80000, CRC(c67b26df) SHA1(6e9969246c57269d7ba0992a5cc319c8910bf8a9) )
+ ROM_LOAD16_WORD_SWAP( "mvc.10", 0x380000, 0x80000, CRC(0fdd1e26) SHA1(5fa684d823b4f4eec61ed9e9b8938af5272ae1ed) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "mvc.13m", 0x0000000, 0x400000, CRC(fa5f74bc) SHA1(79a619248938a85ce4f7794a704647b9cf564fbc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.15m", 0x0000002, 0x400000, CRC(71938a8f) SHA1(6982f7203458c1c46a1c1c13c0d0f2a5e109d271) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.17m", 0x0000004, 0x400000, CRC(92741d07) SHA1(ddfd70eab7c983ab452194b1860059f8ad694459) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.19m", 0x0000006, 0x400000, CRC(bcb72fc6) SHA1(46ab98dcdf6f5d611646a22a7355939ef5b2bbe5) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.14m", 0x1000000, 0x400000, CRC(7f1df4e4) SHA1(ede92b31c1fe87f91b4fe74ac211f2fb5f863bc2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.16m", 0x1000002, 0x400000, CRC(90bd3203) SHA1(ed83208c486ea0f407b7e5d16a8cf242a6f73774) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.18m", 0x1000004, 0x400000, CRC(67aaf727) SHA1(e0e69104e31d2c41e18c0d24e9ab962406a7ca9a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "mvc.20m", 0x1000006, 0x400000, CRC(8b0bade8) SHA1(c5732361bb4bf284c4d12a82ac2c5750b1f9d441) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "mvc.01", 0x00000, 0x08000, CRC(41629e95) SHA1(36925c05b5fdcbe43283a882d021e5360c947061) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "mvc.02", 0x28000, 0x20000, CRC(963abf6b) SHA1(6b784870e338701cefabbbe4669984b5c4e8a9a5) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "mvc.11m", 0x000000, 0x400000, CRC(850fe663) SHA1(81e519d05a08855f242ea2e17ee0859b449db895) )
+ ROM_LOAD16_WORD_SWAP( "mvc.12m", 0x400000, 0x400000, CRC(7ccb1896) SHA1(74caadf3282fcc6acffb1bbe3734106f81124121) )
+
+ MVSC_USA_KEY
+ROM_END
+
+ROM_START( pfghtjrm )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "pfghtjrm.03", 0x000000, 0x80000, CRC(5b91a900) SHA1(503fc8b5e687c11bfa5a3b55a7df8b22b8a02103) )
+ ROM_LOAD16_WORD_SWAP( "pcf.04", 0x080000, 0x80000, CRC(f4314c96) SHA1(c40ed74039bf0096eb3648b7243a8e697638e0a6) )
+ ROM_LOAD16_WORD_SWAP( "pcf.05", 0x100000, 0x80000, CRC(215655f6) SHA1(242c0f4401520f2a3b0deafc3a807b18b987e496) )
+ ROM_LOAD16_WORD_SWAP( "pcf.06", 0x180000, 0x80000, CRC(ea6f13ea) SHA1(1bc924a8a9da1d2ad7667685cdb92fe317a39aba) )
+ ROM_LOAD16_WORD_SWAP( "pcf.07", 0x200000, 0x80000, CRC(5ac6d5ea) SHA1(9ce8e4668b565658597a868830545fb75a5eeaa6) )
+
+ ROM_REGION( 0x1400000, "gfx", 0 )
+ ROMX_LOAD( "pcf.13m", 0x0000000, 0x400000, CRC(22d72ab9) SHA1(653efd95c34b4b9d2ab0d219f41a99ca84e12214) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.15m", 0x0000002, 0x400000, CRC(16a4813c) SHA1(bf5fce6008214f353414d1b64bea4ed0c7673670) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.17m", 0x0000004, 0x400000, CRC(1097e035) SHA1(4bd51e4e9447af27d2cac1f6d2201e37c949912b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.19m", 0x0000006, 0x400000, CRC(d362d874) SHA1(30c42af18440496cc05e4418e4efa41172ae4ced) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.14m", 0x1000000, 0x100000, CRC(0383897c) SHA1(aba14afa1d0c971afcee4317f480e88117d77b5e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.16m", 0x1000002, 0x100000, CRC(76f91084) SHA1(3d1e32467f2aa5dd6fb96bd5c866ecc9691660fc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.18m", 0x1000004, 0x100000, CRC(756c3754) SHA1(be2f709b90222a567f198f851cf07ffb0ad433d7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.20m", 0x1000006, 0x100000, CRC(9ec9277d) SHA1(b7ceeaca30dfcdf498b61a6961f0aa1a068b8ec4) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "pcf.01", 0x00000, 0x08000, CRC(254e5f33) SHA1(c413ec0630b9bdd15e64f42893eba8958a09b573) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "pcf.02", 0x28000, 0x20000, CRC(6902f4f9) SHA1(9bfe4ddade3c666076d26a2b545120f6d059fd7c) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "pcf.11m", 0x000000, 0x400000, CRC(a5dea005) SHA1(3ae79baf6ff5bd527f82b26f164c7e3c65423ae2) )
+ ROM_LOAD16_WORD_SWAP( "pcf.12m", 0x400000, 0x400000, CRC(4ce235fe) SHA1(795b94557e954cc0e45fd3778b609064d57a34a2) )
+
+ SGEMF_JAPAN_KEY
+ROM_END
+
+
ROM_START( sfa2h )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_WORD_SWAP( "sz2eh.03", 0x000000, 0x80000, CRC(f24e7b3a) SHA1(0cf5169fcf46dcea5a100bf75a5dcd791c51b671) )
@@ -324,6 +554,37 @@ ROM_START( sfz2abr )
ROM_END
+ROM_START( sgemfch )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "pcfu.03", 0x000000, 0x80000, CRC(ac2e8566) SHA1(5975aae46bded231c0f478f40c7257434ade36b0) )
+ ROM_LOAD16_WORD_SWAP( "pcf.04", 0x080000, 0x80000, CRC(f4314c96) SHA1(c40ed74039bf0096eb3648b7243a8e697638e0a6) )
+ ROM_LOAD16_WORD_SWAP( "pcf.05", 0x100000, 0x80000, CRC(215655f6) SHA1(242c0f4401520f2a3b0deafc3a807b18b987e496) )
+ ROM_LOAD16_WORD_SWAP( "pcf.06", 0x180000, 0x80000, CRC(ea6f13ea) SHA1(1bc924a8a9da1d2ad7667685cdb92fe317a39aba) )
+ ROM_LOAD16_WORD_SWAP( "sgemfch.07", 0x200000, 0x80000, CRC(dcbe118c) SHA1(c571058180e1ad317eb3819a4701d4e40e7787f1) )
+
+ ROM_REGION( 0x1400000, "gfx", 0 )
+ ROMX_LOAD( "pcf.13m", 0x0000000, 0x400000, CRC(22d72ab9) SHA1(653efd95c34b4b9d2ab0d219f41a99ca84e12214) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.15m", 0x0000002, 0x400000, CRC(16a4813c) SHA1(bf5fce6008214f353414d1b64bea4ed0c7673670) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.17m", 0x0000004, 0x400000, CRC(1097e035) SHA1(4bd51e4e9447af27d2cac1f6d2201e37c949912b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.19m", 0x0000006, 0x400000, CRC(d362d874) SHA1(30c42af18440496cc05e4418e4efa41172ae4ced) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.14m", 0x1000000, 0x100000, CRC(0383897c) SHA1(aba14afa1d0c971afcee4317f480e88117d77b5e) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.16m", 0x1000002, 0x100000, CRC(76f91084) SHA1(3d1e32467f2aa5dd6fb96bd5c866ecc9691660fc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.18m", 0x1000004, 0x100000, CRC(756c3754) SHA1(be2f709b90222a567f198f851cf07ffb0ad433d7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "pcf.20m", 0x1000006, 0x100000, CRC(9ec9277d) SHA1(b7ceeaca30dfcdf498b61a6961f0aa1a068b8ec4) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "pcf.01", 0x00000, 0x08000, CRC(254e5f33) SHA1(c413ec0630b9bdd15e64f42893eba8958a09b573) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "pcf.02", 0x28000, 0x20000, CRC(6902f4f9) SHA1(9bfe4ddade3c666076d26a2b545120f6d059fd7c) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "pcf.11m", 0x000000, 0x400000, CRC(a5dea005) SHA1(3ae79baf6ff5bd527f82b26f164c7e3c65423ae2) )
+ ROM_LOAD16_WORD_SWAP( "pcf.12m", 0x400000, 0x400000, CRC(4ce235fe) SHA1(795b94557e954cc0e45fd3778b609064d57a34a2) )
+
+ SGEMF_USA_KEY
+ROM_END
+
+
ROM_START( spf2tb )
ROM_REGION(CODE_SIZE, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_WORD_SWAP( "pzfu_boss.03a", 0x000000, 0x80000, CRC(ca1f3e42) SHA1(784214517f3ac3f5f727a18f50992d4fa3417726) )
@@ -502,20 +763,234 @@ ROM_START( vampjb )
ROM_END
-GAME( 2000, 1944da, 1944, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "Razoola", "1944: The Loop Master (USA 000620 Phoenix Edition) (bootleg alt)", MACHINE_SUPPORTS_SAVE )
-GAME( 2000, 1944fp, 1944, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Qxs8", "1944: The Loop Master (USA 000620) Fire Power Ver", MACHINE_SUPPORTS_SAVE )
-GAME( 2009, ddsomavs, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Pipi899", "Dungeons & Dragons: Shadow over Mystara (1vs4 hack by Pipi899 2009-06-29)", MACHINE_SUPPORTS_SAVE )
-GAME( 2014, ddsomchs, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "hack", "Dungeons & Dragons: Shadow over Mystara (chinese)", MACHINE_SUPPORTS_SAVE )
-GAME( 2009, ddsomhp, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Pipi899", "Dungeons & Dragons: Shadow over Mystara (HP Revision hack by Pipi899, cheat by sssskkkk 2009-06-15)", MACHINE_SUPPORTS_SAVE )
-GAME( 2009, ddsomjfs, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "e107", "Dungeons & Dragons: Shadow over Mystara (Final Strike hack by e107 2009-07-17)", MACHINE_SUPPORTS_SAVE )
-GAME( 2016, halfway, progear, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "hack", "Halfway to Hell - Progear Red Label (2016-01-17)", MACHINE_SUPPORTS_SAVE )
-GAME( 2000, mpangjd, mpang, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "Razoola", "Mighty! Pang (Japan 001011 Phoenix Edition)", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, sfa2h, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Alpha 2 (Euro 960229) Boss Hack", MACHINE_SUPPORTS_SAVE )
-GAME( 1995, sfaud, sfa, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Razoola", "Street Fighter Alpha: Warriors' Dreams (USA 950727 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, sfz2abr, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Neogeo BR team", "Street Fighter Zero 2 Alpha (Brasil 061225)", MACHINE_SUPPORTS_SAVE ) // portuguese-brazilian hack fix
-GAME( 1993, ssf2r1d, ssf2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Razoola", "Super Street Fighter II: The New Challengers (ETC 930911 Phoenix Edition)", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, ssf2td, ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Eazoola", "Super Street Fighter II Turbo (World 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, spf2tb, spf2t, cps2, cps2_2p2b, cps_state, cps2, ROT0, "hack", "Super Puzzle Fighter II Turbo Boss Hack (USA 960620)", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, suicide, 0, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "Razoola", "Suicide Test", MACHINE_SUPPORTS_SAVE )
-GAME( 2015, suicide2, suicide, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "Razoola", "Suicide Test v2", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, vampjb, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Vampire: The Night Warriors (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+ROM_START( vsav2emb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "vsav2emb.03", 0x000000, 0x80000, CRC(31676894) SHA1(0cb25d691213accb43e81f284d29812de893b296) )
+ ROM_LOAD16_WORD_SWAP( "vs2j.04", 0x080000, 0x80000, CRC(107c091b) SHA1(bf5c2e4339e1a66b3c819900cc9b723a537adf6b) )
+ ROM_LOAD16_WORD_SWAP( "vs2j.05", 0x100000, 0x80000, CRC(61979638) SHA1(4d5625a9a06926c1a42c8f6e3a4c943f17750ec2) )
+ ROM_LOAD16_WORD_SWAP( "vs2j.06", 0x180000, 0x80000, CRC(f37c5bc2) SHA1(d8c1040a6ee6b9fc677a6a32b99bf02b6a707812) )
+ ROM_LOAD16_WORD_SWAP( "vs2j.07", 0x200000, 0x80000, CRC(8f885809) SHA1(69dac07e1f483b6478f792d20a137d6a081fbea3) )
+ ROM_LOAD16_WORD_SWAP( "vs2j.08", 0x280000, 0x80000, CRC(2018c120) SHA1(de1184ab771c6f075cdefa744a28b09f78d91643) )
+ ROM_LOAD16_WORD_SWAP( "vs2j.09", 0x300000, 0x80000, CRC(fac3c217) SHA1(0e9dd54e401e6d7c4fe81107ffd27e42ca810fcb) )
+ ROM_LOAD16_WORD_SWAP( "vs2j.10", 0x380000, 0x80000, CRC(eb490213) SHA1(bf0416df66a33c7a4678ab4a047de334dfd3b31e) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "vs2.13m", 0x0000000, 0x400000, CRC(5c852f52) SHA1(528ce7fc9a0451e2e2d221dbf5e4a5796584e053) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "vs2.15m", 0x0000002, 0x400000, CRC(a20f58af) SHA1(e873ad3e0fc8a06a5029113faf991f5c1b765316) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "vs2.17m", 0x0000004, 0x400000, CRC(39db59ad) SHA1(da94f1529da82a6bf2129f51548412e1ab2b001a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "vs2.19m", 0x0000006, 0x400000, CRC(00c763a7) SHA1(0ff528e12e255ebf699101ac71f05b1f6bef7165) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "vs2.14m", 0x1000000, 0x400000, CRC(cd09bd63) SHA1(e582b20a948ae54f52590496051688dbfae2bc9c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "vs2.16m", 0x1000002, 0x400000, CRC(e0182c15) SHA1(a924d53ab39f4d85173bdb92a197dde2db0dc3f7) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "vs2.18m", 0x1000004, 0x400000, CRC(778dc4f6) SHA1(8d0cd1c387b4b6ac7f92bb2e5a25983856328cdc) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "vs2.20m", 0x1000006, 0x400000, CRC(605d9d1d) SHA1(99bc27557741527ca678d7b6307164bc04ebedc6) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "vs2.01", 0x00000, 0x08000, CRC(35190139) SHA1(07f8e53ea398461de5dcda9814dde7c09faf9f65) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "vs2.02", 0x28000, 0x20000, CRC(c32dba09) SHA1(1fe337ff334fab79847f9677ba0e168e93daa1c8) )
+
+ ROM_REGION( 0x800000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "vs2.11m", 0x000000, 0x400000, CRC(d67e47b7) SHA1(15a3f6779eccb10551ed94edf7e6e406a79b3de7) )
+ ROM_LOAD16_WORD_SWAP( "vs2.12m", 0x400000, 0x400000, CRC(6d020a14) SHA1(e98f862fac1e357c90949768bb2646263d9981a0) )
+
+ VSAV2_JAPAN_KEY
+ROM_END
+
+
+ROM_START( xmcotajb )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "xmcotajb.03", 0x000000, 0x80000, CRC(bd2f0b84) SHA1(2b5c6deb2bb7e10a142a490781231d2ccfceee1c) )
+ ROM_LOAD16_WORD_SWAP( "xmnj.04b", 0x080000, 0x80000, CRC(54b3fba3) SHA1(47eaff5d36a45e4196f87ed3d02e54d5407e7962) ) // used in xmcotaj2
+ ROM_LOAD16_WORD_SWAP( "xmn.05", 0x100000, 0x80000, CRC(c3ed62a2) SHA1(4e3317d7ca981e33318822103a16e59f4ce20deb) )
+ ROM_LOAD16_WORD_SWAP( "xmn.06", 0x180000, 0x80000, CRC(f03c52e1) SHA1(904b2312ee594f5ece0484cad0eed25cc758185e) )
+ ROM_LOAD16_WORD_SWAP( "xmn.07", 0x200000, 0x80000, CRC(325626b1) SHA1(3f3a0aabbe5ffad8136ac91e0de785103b16059b) )
+ ROM_LOAD16_WORD_SWAP( "xmn.08", 0x280000, 0x80000, CRC(7194ea10) SHA1(40a5892d816f24cbfd4c310792eeabf689c6fa7e) )
+ ROM_LOAD16_WORD_SWAP( "xmn.09", 0x300000, 0x80000, CRC(ae946df3) SHA1(733671f76d766bda7110df9d338791cc5202b050) )
+ ROM_LOAD16_WORD_SWAP( "xmn.10", 0x380000, 0x80000, CRC(32a6be1d) SHA1(8f5fcb33b528abed670b4fc3fa62431a6e033c56) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "xmn.13m", 0x0000000, 0x400000, CRC(bf4df073) SHA1(4d2740c3a827f0ec2cf75ad99c65e393c6a11c23) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.15m", 0x0000002, 0x400000, CRC(4d7e4cef) SHA1(50b8797b8099a8d76ad063ba1201a13dbb88ae3a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.17m", 0x0000004, 0x400000, CRC(513eea17) SHA1(a497477ad9ac13180911d8745ef6ee1955c0b877) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.19m", 0x0000006, 0x400000, CRC(d23897fc) SHA1(1e31627999736652252164d32662779a1ac6ca29) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.14m", 0x1000000, 0x400000, CRC(778237b7) SHA1(89a759ec383518ec52f5059d10ec342f2247aa20) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.16m", 0x1000002, 0x400000, CRC(67b36948) SHA1(692fb6e4096b880aa22996d554b160f664bbd907) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.18m", 0x1000004, 0x400000, CRC(015a7c4c) SHA1(cccc95dafd076a1a9fa004710006149c42d058ba) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.20m", 0x1000006, 0x400000, CRC(9dde2758) SHA1(17ba259cad03c7b5d56c0a5eda9ab53521665729) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "xmn.01a", 0x00000, 0x08000, CRC(40f479ea) SHA1(f29e15f537675305264ae2138a0a537fb9e2008b) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "xmn.02a", 0x28000, 0x20000, CRC(39d9b5ad) SHA1(af502debfd36100d4fc971ed25fdf9d7121d6f18) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "xmn.11m", 0x000000, 0x200000, CRC(c848a6bc) SHA1(ac8ac564d3c43225822f8bc330eba9f35b24b0a4) )
+ ROM_LOAD16_WORD_SWAP( "xmn.12m", 0x200000, 0x200000, CRC(729c188f) SHA1(3279774ad8aebbcf0fc779cdfcbe21044dd192ad) )
+
+ XMCOTA_JAPAN_KEY
+ROM_END
+
+ROM_START( xmcotajphp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "xmcotajphp.03", 0x000000, 0x80000, CRC(654c6b83) SHA1(b61d8891edb105ad72a76ee0c1018bc5edc64b6c) )
+ ROM_LOAD16_WORD_SWAP( "xmnj.04d", 0x080000, 0x80000, CRC(38eed613) SHA1(86ecb58bf03adda705a39a9779862fe2c85cadad) )
+ ROM_LOAD16_WORD_SWAP( "xmn.05", 0x100000, 0x80000, CRC(c3ed62a2) SHA1(4e3317d7ca981e33318822103a16e59f4ce20deb) )
+ ROM_LOAD16_WORD_SWAP( "xmn.06", 0x180000, 0x80000, CRC(f03c52e1) SHA1(904b2312ee594f5ece0484cad0eed25cc758185e) )
+ ROM_LOAD16_WORD_SWAP( "xmn.07", 0x200000, 0x80000, CRC(325626b1) SHA1(3f3a0aabbe5ffad8136ac91e0de785103b16059b) )
+ ROM_LOAD16_WORD_SWAP( "xmn.08", 0x280000, 0x80000, CRC(7194ea10) SHA1(40a5892d816f24cbfd4c310792eeabf689c6fa7e) )
+ ROM_LOAD16_WORD_SWAP( "xmn.09", 0x300000, 0x80000, CRC(ae946df3) SHA1(733671f76d766bda7110df9d338791cc5202b050) )
+ ROM_LOAD16_WORD_SWAP( "xmn.10", 0x380000, 0x80000, CRC(32a6be1d) SHA1(8f5fcb33b528abed670b4fc3fa62431a6e033c56) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "xmn.13m", 0x0000000, 0x400000, CRC(bf4df073) SHA1(4d2740c3a827f0ec2cf75ad99c65e393c6a11c23) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.15m", 0x0000002, 0x400000, CRC(4d7e4cef) SHA1(50b8797b8099a8d76ad063ba1201a13dbb88ae3a) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.17m", 0x0000004, 0x400000, CRC(513eea17) SHA1(a497477ad9ac13180911d8745ef6ee1955c0b877) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.19m", 0x0000006, 0x400000, CRC(d23897fc) SHA1(1e31627999736652252164d32662779a1ac6ca29) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.14m", 0x1000000, 0x400000, CRC(778237b7) SHA1(89a759ec383518ec52f5059d10ec342f2247aa20) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.16m", 0x1000002, 0x400000, CRC(67b36948) SHA1(692fb6e4096b880aa22996d554b160f664bbd907) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.18m", 0x1000004, 0x400000, CRC(015a7c4c) SHA1(cccc95dafd076a1a9fa004710006149c42d058ba) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xmn.20m", 0x1000006, 0x400000, CRC(9dde2758) SHA1(17ba259cad03c7b5d56c0a5eda9ab53521665729) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "xmn.01a", 0x00000, 0x08000, CRC(40f479ea) SHA1(f29e15f537675305264ae2138a0a537fb9e2008b) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "xmn.02a", 0x28000, 0x20000, CRC(39d9b5ad) SHA1(af502debfd36100d4fc971ed25fdf9d7121d6f18) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "xmn.11m", 0x000000, 0x200000, CRC(c848a6bc) SHA1(ac8ac564d3c43225822f8bc330eba9f35b24b0a4) )
+ ROM_LOAD16_WORD_SWAP( "xmn.12m", 0x200000, 0x200000, CRC(729c188f) SHA1(3279774ad8aebbcf0fc779cdfcbe21044dd192ad) )
+
+ XMCOTA_JAPAN_KEY
+ROM_END
+
+
+ROM_START( xmvsfjphp )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "xmvsfjphp.03", 0x000000, 0x80000, CRC(1d46fdba) SHA1(fceec89ca0fa163b0edc8e055a6c7198f3520851) )
+ ROM_LOAD16_WORD_SWAP( "xvsj.04", 0x080000, 0x80000, CRC(70a59b35) SHA1(786d9b243373024735848f785503c6aa883b1c2f) )
+ ROM_LOAD16_WORD_SWAP( "xvs.05a", 0x100000, 0x80000, CRC(7db6025d) SHA1(2d74f48f83f45359bfaca28ab686625766af12ee) )
+ ROM_LOAD16_WORD_SWAP( "xvs.06a", 0x180000, 0x80000, CRC(e8e2c75c) SHA1(929408cb5d98e95cec75ea58e4701b0cbdbcd016) )
+ ROM_LOAD16_WORD_SWAP( "xvs.07", 0x200000, 0x80000, CRC(08f0abed) SHA1(ef16c376232dba63b0b9bc3aa0640f9001ccb68a) )
+ ROM_LOAD16_WORD_SWAP( "xvs.08", 0x280000, 0x80000, CRC(81929675) SHA1(19cf7afbc1daaefec40195e40ba74970f3906a1c) )
+ ROM_LOAD16_WORD_SWAP( "xvs.09", 0x300000, 0x80000, CRC(9641f36b) SHA1(dcba3482d1ba37ccfb30d402793ee063c6621aed) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "xvs.13m", 0x0000000, 0x400000, CRC(f6684efd) SHA1(c0a2f3a9e82ab8b084a500aec71ac633e947328c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.15m", 0x0000002, 0x400000, CRC(29109221) SHA1(898b8f678fd03c462ce0d8eb7fb3441ef601085b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.17m", 0x0000004, 0x400000, CRC(92db3474) SHA1(7b6f4c8ebfdac167b25f35029068b6253c141fe6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.19m", 0x0000006, 0x400000, CRC(3733473c) SHA1(6579da7145c95b3ad00844a5fc8c2e22c23365e2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.14m", 0x1000000, 0x400000, CRC(bcac2e41) SHA1(838ff24f7e8543a787a55a5d592c9517ce3b8b93) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.16m", 0x1000002, 0x400000, CRC(ea04a272) SHA1(cd7c79037b5b4a39bef5156433e984dc4dc2c081) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.18m", 0x1000004, 0x400000, CRC(b0def86a) SHA1(da3a6705ea7050fc5c2c10d33400ed67be9f455d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.20m", 0x1000006, 0x400000, CRC(4b40ff9f) SHA1(9a981d442132efff09a27408d74646ba357c7357) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "xvs.01", 0x00000, 0x08000, CRC(3999e93a) SHA1(fefcff8a9a5c83df7655a16187cf9ba3e7efbb25) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "xvs.02", 0x28000, 0x20000, CRC(101bdee9) SHA1(75920e88bf46fcd33a7957777a1d799818ffb0d6) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "xvs.11m", 0x000000, 0x200000, CRC(9cadcdbc) SHA1(64d3bd53b04daec84c9af4aa3ff010867b3d306d) )
+ ROM_LOAD16_WORD_SWAP( "xvs.12m", 0x200000, 0x200000, CRC(7b11e460) SHA1(a581c84acaaf0ce056841c15a6f36889e88be68d) )
+
+ XMVSSF_JAPAN_KEY
+ROM_END
+
+ROM_START( xmvsfrm )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "xmvsfrm.03", 0x000000, 0x80000, CRC(be94fd2b) SHA1(f668d8fe1932434dfb9aec865a79ddac6c6496ef) )
+ ROM_LOAD16_WORD_SWAP( "xvse.04d", 0x080000, 0x80000, CRC(5eb9c02e) SHA1(25a392913213b98ce1bbd463bf5e5e10729bde0c) )
+ ROM_LOAD16_WORD_SWAP( "xvs.05a", 0x100000, 0x80000, CRC(7db6025d) SHA1(2d74f48f83f45359bfaca28ab686625766af12ee) )
+ ROM_LOAD16_WORD_SWAP( "xvs.06a", 0x180000, 0x80000, CRC(e8e2c75c) SHA1(929408cb5d98e95cec75ea58e4701b0cbdbcd016) )
+ ROM_LOAD16_WORD_SWAP( "xvs.07", 0x200000, 0x80000, CRC(08f0abed) SHA1(ef16c376232dba63b0b9bc3aa0640f9001ccb68a) )
+ ROM_LOAD16_WORD_SWAP( "xvs.08", 0x280000, 0x80000, CRC(81929675) SHA1(19cf7afbc1daaefec40195e40ba74970f3906a1c) )
+ ROM_LOAD16_WORD_SWAP( "xvs.09", 0x300000, 0x80000, CRC(9641f36b) SHA1(dcba3482d1ba37ccfb30d402793ee063c6621aed) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "xvs.13m", 0x0000000, 0x400000, CRC(f6684efd) SHA1(c0a2f3a9e82ab8b084a500aec71ac633e947328c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.15m", 0x0000002, 0x400000, CRC(29109221) SHA1(898b8f678fd03c462ce0d8eb7fb3441ef601085b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.17m", 0x0000004, 0x400000, CRC(92db3474) SHA1(7b6f4c8ebfdac167b25f35029068b6253c141fe6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.19m", 0x0000006, 0x400000, CRC(3733473c) SHA1(6579da7145c95b3ad00844a5fc8c2e22c23365e2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.14m", 0x1000000, 0x400000, CRC(bcac2e41) SHA1(838ff24f7e8543a787a55a5d592c9517ce3b8b93) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.16m", 0x1000002, 0x400000, CRC(ea04a272) SHA1(cd7c79037b5b4a39bef5156433e984dc4dc2c081) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.18m", 0x1000004, 0x400000, CRC(b0def86a) SHA1(da3a6705ea7050fc5c2c10d33400ed67be9f455d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.20m", 0x1000006, 0x400000, CRC(4b40ff9f) SHA1(9a981d442132efff09a27408d74646ba357c7357) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "xvs.01", 0x00000, 0x08000, CRC(3999e93a) SHA1(fefcff8a9a5c83df7655a16187cf9ba3e7efbb25) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "xvs.02", 0x28000, 0x20000, CRC(101bdee9) SHA1(75920e88bf46fcd33a7957777a1d799818ffb0d6) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "xvs.11m", 0x000000, 0x200000, CRC(9cadcdbc) SHA1(64d3bd53b04daec84c9af4aa3ff010867b3d306d) )
+ ROM_LOAD16_WORD_SWAP( "xvs.12m", 0x200000, 0x200000, CRC(7b11e460) SHA1(a581c84acaaf0ce056841c15a6f36889e88be68d) )
+
+ XMVSSF_WORLD_KEY
+ROM_END
+
+ROM_START( xmvsfryh )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "xmvsfryh.03", 0x000000, 0x80000, CRC(ed7c235a) SHA1(c49bfeef0351165ee30c8433feb026acebd7a36a) )
+ ROM_LOAD16_WORD_SWAP( "xmvsfryh.04", 0x080000, 0x80000, CRC(3a527f69) SHA1(72312d4aeaac07c4b4f91a0301948faf2f17d74d) )
+ ROM_LOAD16_WORD_SWAP( "xvs.05a", 0x100000, 0x80000, CRC(7db6025d) SHA1(2d74f48f83f45359bfaca28ab686625766af12ee) )
+ ROM_LOAD16_WORD_SWAP( "xvs.06a", 0x180000, 0x80000, CRC(e8e2c75c) SHA1(929408cb5d98e95cec75ea58e4701b0cbdbcd016) )
+ ROM_LOAD16_WORD_SWAP( "xvs.07", 0x200000, 0x80000, CRC(08f0abed) SHA1(ef16c376232dba63b0b9bc3aa0640f9001ccb68a) )
+ ROM_LOAD16_WORD_SWAP( "xvs.08", 0x280000, 0x80000, CRC(81929675) SHA1(19cf7afbc1daaefec40195e40ba74970f3906a1c) )
+ ROM_LOAD16_WORD_SWAP( "xvs.09", 0x300000, 0x80000, CRC(9641f36b) SHA1(dcba3482d1ba37ccfb30d402793ee063c6621aed) )
+
+ ROM_REGION( 0x2000000, "gfx", 0 )
+ ROMX_LOAD( "xvs.13m", 0x0000000, 0x400000, CRC(f6684efd) SHA1(c0a2f3a9e82ab8b084a500aec71ac633e947328c) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.15m", 0x0000002, 0x400000, CRC(29109221) SHA1(898b8f678fd03c462ce0d8eb7fb3441ef601085b) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.17m", 0x0000004, 0x400000, CRC(92db3474) SHA1(7b6f4c8ebfdac167b25f35029068b6253c141fe6) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.19m", 0x0000006, 0x400000, CRC(3733473c) SHA1(6579da7145c95b3ad00844a5fc8c2e22c23365e2) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.14m", 0x1000000, 0x400000, CRC(bcac2e41) SHA1(838ff24f7e8543a787a55a5d592c9517ce3b8b93) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.16m", 0x1000002, 0x400000, CRC(ea04a272) SHA1(cd7c79037b5b4a39bef5156433e984dc4dc2c081) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.18m", 0x1000004, 0x400000, CRC(b0def86a) SHA1(da3a6705ea7050fc5c2c10d33400ed67be9f455d) , ROM_GROUPWORD | ROM_SKIP(6) )
+ ROMX_LOAD( "xvs.20m", 0x1000006, 0x400000, CRC(4b40ff9f) SHA1(9a981d442132efff09a27408d74646ba357c7357) , ROM_GROUPWORD | ROM_SKIP(6) )
+
+ ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "xvs.01", 0x00000, 0x08000, CRC(3999e93a) SHA1(fefcff8a9a5c83df7655a16187cf9ba3e7efbb25) )
+ ROM_CONTINUE( 0x10000, 0x18000 )
+ ROM_LOAD( "xvs.02", 0x28000, 0x20000, CRC(101bdee9) SHA1(75920e88bf46fcd33a7957777a1d799818ffb0d6) )
+
+ ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */
+ ROM_LOAD16_WORD_SWAP( "xvs.11m", 0x000000, 0x200000, CRC(9cadcdbc) SHA1(64d3bd53b04daec84c9af4aa3ff010867b3d306d) )
+ ROM_LOAD16_WORD_SWAP( "xvs.12m", 0x200000, 0x200000, CRC(7b11e460) SHA1(a581c84acaaf0ce056841c15a6f36889e88be68d) )
+
+ XMVSSF_WORLD_KEY
+ROM_END
+
+
+
+
+GAME( 2000, 1944da, 1944, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "Razoola", "1944: The Loop Master (USA 000620 Phoenix Edition) (bootleg alt)", MACHINE_SUPPORTS_SAVE )
+GAME( 2000, 1944fp, 1944, cps2, cps2_2p2b, cps_state, cps2, ROT0, "Qxs8", "1944: The Loop Master (USA 000620) Fire Power Ver", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, ddsomavs, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Pipi899", "Dungeons & Dragons: Shadow over Mystara (1vs4 hack by Pipi899 2009-06-29)", MACHINE_SUPPORTS_SAVE )
+GAME( 2014, ddsomchs, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "hack", "Dungeons & Dragons: Shadow over Mystara (chinese)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, ddsomhp, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "Pipi899", "Dungeons & Dragons: Shadow over Mystara (HP Revision hack by Pipi899, cheat by sssskkkk 2009-06-15)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, ddsomjfs, ddsom, cps2, cps2_4p4b, cps_state, cps2, ROT0, "e107", "Dungeons & Dragons: Shadow over Mystara (Final Strike hack by e107 2009-07-17)", MACHINE_SUPPORTS_SAVE )
+GAME( 2016, halfway, progear, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "hack", "Halfway to Hell - Progear Red Label (2016-01-17)", MACHINE_SUPPORTS_SAVE )
+GAME( 2000, mpangjd, mpang, dead_cps2, cps2_2p3b, cps_state, cps2, ROT0, "Razoola", "Mighty! Pang (Japan 001011 Phoenix Edition)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, mshjphp, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Marvel Super Heroes (Power hack by Pipi899)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, mshyh, msh, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Marvel Super Heroes (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, mvscjemb, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Blackheart", "Marvel Vs. Capcom: Clash of Super Heroes (Easy Moves hack by Blackheart 2009-04-24)", MACHINE_SUPPORTS_SAVE )
+GAME( 1998, mvscjphp, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Marvel Vs. Capcom: Clash of Super Heroes (Power hack by Pipi899)", MACHINE_SUPPORTS_SAVE )
+GAME( 2016, mvscrcp, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "CPS-2 Evolved", "Marvel Vs. Capcom RCP", MACHINE_SUPPORTS_SAVE )
+GAME( 1998, mvscuh, mvsc, cps2, cps2_2p6b, cps_state, cps2, ROT0, "EGCG", "Marvel Vs. Capcom: Clash of Super Heroes (ExChar hack (EGCG))", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, pfghtjrm, sgemf, cps2, cps2_2p3b, cps_state, cps2, ROT0, "Blackheart", "Pocket Fighter (Easy Moves hack by Blackheart 2009-04-20)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, sfa2h, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "Street Fighter Alpha 2 (Euro 960229) Boss Hack", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, sfaud, sfa, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Razoola", "Street Fighter Alpha: Warriors' Dreams (USA 950727 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, sfz2abr, sfa2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Neogeo BR team", "Street Fighter Zero 2 Alpha (Brasil 061225)", MACHINE_SUPPORTS_SAVE ) // portuguese-brazilian hack fix
+GAME( 1997, sgemfch, sgemf, cps2, cps2_2p3b, cps_state, cps2, ROT0, "hack", "Super Gem Fighter Mini Mix (Color remix)", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, ssf2r1d, ssf2, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Razoola", "Super Street Fighter II: The New Challengers (ETC 930911 Phoenix Edition)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, ssf2td, ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "Eazoola", "Super Street Fighter II Turbo (World 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, spf2tb, spf2t, cps2, cps2_2p2b, cps_state, cps2, ROT0, "hack", "Super Puzzle Fighter II Turbo Boss Hack (USA 960620)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, suicide, 0, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "Razoola", "Suicide Test", MACHINE_SUPPORTS_SAVE )
+GAME( 2015, suicide2, suicide, dead_cps2, cps2_2p2b, cps_state, cps2, ROT0, "Razoola", "Suicide Test v2", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, vampjb, dstlk, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "Vampire: The Night Warriors (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, vsav2emb, vsav2, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Blackheart", "Vampire Savior 2: The Lord of Vampire (Easy Moves hack by Blackheart 2009-04-30", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, xmcotajb, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Yumeji", "X-Men: Children of the Atom (Boss hack by Yumeji)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, xmcotajphp, xmcota, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "X-Men: Children of the Atom (Power hack by Pipi899)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, xmvsfjphp, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Pipi899", "X-Men Vs. Street Fighter (Power hack by Pipi899)", MACHINE_SUPPORTS_SAVE )
+GAME( 2009, xmvsfrm, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Blackheart", "X-Men Vs. Street Fighter (Easy Moves hack by Blackheart 2009-04-22)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, xmvsfryh, xmvsf, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Ydmis", "X-Men Vs. Street Fighter (ST Char hack by Ydmis)", MACHINE_SUPPORTS_SAVE )
diff --git a/docs/release/src/hbmame/drivers/mineswp.cpp b/docs/release/src/hbmame/drivers/dotrikun.cpp
index ee42f7035ba..7aea1bba013 100644
--- a/docs/release/src/hbmame/drivers/mineswp.cpp
+++ b/docs/release/src/hbmame/drivers/dotrikun.cpp
@@ -1,5 +1,17 @@
// license:BSD-3-Clause
// copyright-holders:Robbbert
+#include "../mame/drivers/dotrikun.cpp"
+
+// http://www.chrismcovell.com/dottorikun.html
+
+ROM_START( dotrimjr )
+ ROM_REGION( 0x4000, "maincpu", 0 )
+ ROM_LOAD( "dotrimjr.bin", 0x0000, 0x4000, CRC(4ba6d2f5) SHA1(db805e9121ecbd41fac4593b58d7f071e7dbc720) )
+ROM_END
+
+GAMEL( 2016, dotrimjr, 0, dotrikun, dotrikun, driver_device, 0, ROT0, "Chris Covell", "Dottori-Man Jr", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW, layout_dotrikun )
+
+
/***************************************************************************
Minesweeper driver, originally for Dotrikun hardware
@@ -79,6 +91,7 @@ and the ending scene by setting the pc to 0F30.
- Backup nvram added (April 2007)
- Hooked port 20 to the colour generator (July 2008)
- Hooked up a sound click to port 20 (May 2010)
+- Merged back into dotrikun driver (August 2016)
Colours:
White (normal play / attract mode)
@@ -88,28 +101,20 @@ Colours:
Red (game over)
***************************************************************************/
-
-#include "emu.h"
-#include "cpu/z80/z80.h"
#include "machine/nvram.h"
#include "sound/beep.h"
-class mineswp_state : public driver_device
+class mineswp_state : public dotrikun_state
{
public:
mineswp_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag)
- , m_p_videoram(*this, "videoram")
+ : dotrikun_state(mconfig, type, tag)
, m_beep(*this, "beeper")
{ }
- DECLARE_WRITE8_MEMBER(color_w);
- UINT32 screen_update_mineswp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ DECLARE_WRITE8_MEMBER(mineswp_color_w);
private:
- UINT8 m_color;
- virtual void machine_start();
- virtual void machine_reset();
- required_shared_ptr<UINT8> m_p_videoram;
+ virtual void machine_start() override;
required_device<beep_device> m_beep;
};
@@ -121,46 +126,17 @@ private:
*******************************************************************/
-WRITE8_MEMBER( mineswp_state::color_w )
+WRITE8_MEMBER( mineswp_state::mineswp_color_w )
{
+ // d0-d2: fg palette
+ // d3: sound bit
+ // d4-d7: N/C
+ m_screen->update_now();
m_color = data & 7;
m_beep->set_state(BIT(data, 3));
}
-/*******************************************************************
-
- Video updating
-
-*******************************************************************/
-UINT32 mineswp_state::screen_update_mineswp(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
-{
- UINT8 x,y,z,data;
-
- pen_t bg = rgb_t(pal1bit(m_color >> 3), pal1bit(m_color >> 4), pal1bit(m_color >> 5));
- pen_t fg = rgb_t(pal1bit(m_color >> 0), pal1bit(m_color >> 1), pal1bit(m_color >> 2));
-
- for (y = 0; y < 96; y++)
- {
- x = 0;
- for (z = 0; z < 16; z++)
- {
- data = m_p_videoram[(y<<4) | z];
-
- bitmap.pix32(y, x++) = BIT(data, 7) ? fg : bg;
- bitmap.pix32(y, x++) = BIT(data, 6) ? fg : bg;
- bitmap.pix32(y, x++) = BIT(data, 5) ? fg : bg;
- bitmap.pix32(y, x++) = BIT(data, 4) ? fg : bg;
- bitmap.pix32(y, x++) = BIT(data, 3) ? fg : bg;
- bitmap.pix32(y, x++) = BIT(data, 2) ? fg : bg;
- bitmap.pix32(y, x++) = BIT(data, 1) ? fg : bg;
- bitmap.pix32(y, x++) = BIT(data, 0) ? fg : bg;
- }
- }
-
- return 0;
-}
-
/*******************************************************************
@@ -168,37 +144,19 @@ UINT32 mineswp_state::screen_update_mineswp(screen_device &screen, bitmap_rgb32
*******************************************************************/
static ADDRESS_MAP_START( mineswp_map, AS_PROGRAM, 8, mineswp_state )
- AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("roms", 0)
- AM_RANGE(0x8000, 0x85ff) AM_RAM AM_SHARE("videoram")
+ AM_RANGE(0x0000, 0x3fff) AM_ROM
+ AM_RANGE(0x8000, 0x85ff) AM_RAM_WRITE(vram_w) AM_SHARE("vram")
AM_RANGE(0x8600, 0x86df) AM_RAM
AM_RANGE(0x86e0, 0x86ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0x8700, 0x87ff) AM_RAM
- AM_RANGE(0xfffc, 0xffff) AM_RAM
ADDRESS_MAP_END
static ADDRESS_MAP_START( mineswp_io, AS_IO, 8, mineswp_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
- AM_RANGE(0x20, 0x20) AM_WRITE(color_w)
+ AM_RANGE(0x00, 0x00) AM_MIRROR(0xff) AM_READ_PORT("INPUTS") AM_WRITE(mineswp_color_w)
ADDRESS_MAP_END
-/*******************************************************************
-
- Inputs
-
-*******************************************************************/
-static INPUT_PORTS_START( mineswp )
- PORT_START ("IN0")
- PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
- PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
- PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
- PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 )
- PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 )
- PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
- PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 )
-INPUT_PORTS_END
/*******************************************************************
@@ -209,30 +167,15 @@ INPUT_PORTS_END
void mineswp_state::machine_start()
{
m_beep->set_state(0);
- save_item(NAME(m_color));
}
-void mineswp_state::machine_reset()
-{
- m_color = 0;
-}
-
-static MACHINE_CONFIG_START( mineswp, mineswp_state )
-
+static MACHINE_CONFIG_DERIVED_CLASS( mineswp, dotrikun, mineswp_state )
/* basic machine hardware */
- MCFG_CPU_ADD ("maincpu", Z80, XTAL_4MHz)
+ MCFG_CPU_MODIFY("maincpu")
MCFG_CPU_PROGRAM_MAP(mineswp_map)
MCFG_CPU_IO_MAP(mineswp_io)
- MCFG_CPU_VBLANK_INT_DRIVER("screen", mineswp_state, irq0_line_hold)
- MCFG_NVRAM_ADD_1FILL("nvram")
- /* video hardware */
- MCFG_SCREEN_ADD("screen", RASTER)
- MCFG_SCREEN_REFRESH_RATE(60)
- MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
- MCFG_SCREEN_SIZE(128, 96)
- MCFG_SCREEN_VISIBLE_AREA(0, 127, 0, 95)
- MCFG_SCREEN_UPDATE_DRIVER(mineswp_state, screen_update_mineswp)
+ MCFG_NVRAM_ADD_1FILL("nvram")
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@@ -248,9 +191,16 @@ MACHINE_CONFIG_END
***************************************************************************/
ROM_START( mineswp )
- ROM_REGION( 0x4000, "roms", 0 ) /* 64k for code */
- ROM_LOAD( "14479b.mpr", 0x0000, 0x4000, CRC(1cece483) SHA1(c425a09b640721c9a5b499cdb79848dc18ee66b9) )
+ ROM_REGION( 0x4000, "maincpu", 0 )
+ ROM_LOAD( "mineswp.bin", 0x0000, 0x4000, CRC(1cece483) SHA1(c425a09b640721c9a5b499cdb79848dc18ee66b9) )
+ // fix programming error
+ ROM_FILL(0x0005, 1, 0x31)
+ ROM_FILL(0x0006, 1, 0x00)
+ ROM_FILL(0x0007, 1, 0x88)
+ ROM_FILL(0x0008, 1, 0xCD)
+ ROM_FILL(0x0009, 1, 0xA1)
+ ROM_FILL(0x000A, 1, 0x03)
ROM_END
-GAME( 1998, mineswp, 0, mineswp, mineswp, driver_device, 0, ROT0, "J-Rom", "Mine Sweeper [h]", MACHINE_SUPPORTS_SAVE )
+GAMEL( 1998, mineswp, 0, mineswp, dotrikun, driver_device, 0, ROT0, "J-Rom", "Mine Sweeper [h]", MACHINE_SUPPORTS_SAVE | MACHINE_NO_SOUND_HW, layout_dotrikun )
diff --git a/docs/release/src/hbmame/drivers/mmagic.cpp b/docs/release/src/hbmame/drivers/mmagic.cpp
index 365b4b47945..bae90e381a7 100644
--- a/docs/release/src/hbmame/drivers/mmagic.cpp
+++ b/docs/release/src/hbmame/drivers/mmagic.cpp
@@ -265,7 +265,7 @@ WRITE8_MEMBER( mmagic_state::audio_w )
data ^= 0xff;
if (data != m_audio_sw)
{
- if BIT(data, 7)
+ if (BIT(data, 7))
m_samples->start(0, m_audio_sw & 7);
m_audio_sw = data;
diff --git a/docs/release/src/hbmame/drivers/neogeo.cpp b/docs/release/src/hbmame/drivers/neogeo.cpp
index bbfd2c8c76c..eed89c86318 100644
--- a/docs/release/src/hbmame/drivers/neogeo.cpp
+++ b/docs/release/src/hbmame/drivers/neogeo.cpp
@@ -1141,9 +1141,9 @@ void neogeo_state::set_slot_number(int slot)
ym->reset(); // reset it again to get the new pointers
// these could have changed, ensure the pointers are valid
- m_region_maincpu.findit();
- m_region_sprites.findit();
- m_region_fixed.findit();
+ //m_region_maincpu.findit();
+ //m_region_sprites.findit();
+ //m_region_fixed.findit();
space.install_rom(0x000080, 0x0fffff, m_region_maincpu->base()+0x80); // reinstall the base program rom handler
diff --git a/docs/release/src/hbmame/drivers/neogeohb.cpp b/docs/release/src/hbmame/drivers/neogeohb.cpp
index 215ed88cbfd..07c09da0209 100644
--- a/docs/release/src/hbmame/drivers/neogeohb.cpp
+++ b/docs/release/src/hbmame/drivers/neogeohb.cpp
@@ -24,12 +24,12 @@ Please note: It is planned to move this list to the HBMAME website sometime this
NUM YEAR COMPANY TITLE
--- ---- ---------------- -------------------------------------------
-054*1995 ADK Crossed Swords 2
+054 1995 ADK Crossed Swords 2
085*1997 SNK Samurai Showdown R.P.G. (also known as 'Shinsetsu Samurai Spirits Bushidoretsuden')
091*1995 ADK ADK World
-098*1995 Video System Co Final Romance 2
+098 1995 Video System Co Final Romance 2
205*1995 SNK NeoGeo CD Special
-211*1996 ADK Zintrick
+211 1996 ADK Zintrick
229*1996 SNK King of Fighters 96 CD Collection
@@ -206,6 +206,8 @@ NUM YEAR COMPANY TITLE
474 2015 freem Sound-Loop Demo
475 2016 kannagi Ennemi Sprite Demo
476 2015 kannagi Neo Fight
+477 2016 Mega Shocked DatImage demo
+478 2016 Mega Shocked Demo
********************** 800 to 899 **********************************
@@ -1582,6 +1584,50 @@ ROM_START( neofight )
ROM_LOAD16_BYTE( "476.c2", 0x000001, 0x200000, CRC(2e48378a) SHA1(80389cfc420b2e7c5f50c809995a3298a57c697f) )
ROM_END
+// 477 : Demo that comes with DatImage, by Mega Shocked (26-07-2016)
+// No sound.
+ROM_START( didemo )
+ ROM_REGION( 0x200000, "maincpu", 0 )
+ ROM_LOAD16_WORD_SWAP( "477.p1", 0x000000, 0x200000, CRC(732691f4) SHA1(40bddb4e636799f77b85a5b46fd9c90f9e125dce) )
+
+ NEO_SFIX_MT_128K
+
+ NEO_BIOS_AUDIO_128K( "063-m1.m1", CRC(56675098) SHA1(90429fc40d056d480d0e2bbefbc691d9fa260fc4) )
+
+ ROM_REGION( 0x200000, "ymsnd", ROMREGION_ERASEFF )
+
+ ROM_REGION( 0x1000000, "sprites", 0 )
+ ROM_LOAD16_BYTE( "477.c1", 0x000000, 0x200000, CRC(af99af71) SHA1(81b723a159dc80f2b784eb6027ccece94dc8324b) )
+ ROM_LOAD16_BYTE( "477.c2", 0x000001, 0x200000, CRC(7b17b0f2) SHA1(b11071fd4782592a375f260352a0ca0d0df2c6e5) )
+ ROM_LOAD16_BYTE( "477.c3", 0x400000, 0x200000, CRC(9a4109e5) SHA1(ba59caac5f5a80fc52c507d8a47f322a380aa9a1) )
+ ROM_LOAD16_BYTE( "477.c4", 0x400001, 0x200000, CRC(9a4109e5) SHA1(ba59caac5f5a80fc52c507d8a47f322a380aa9a1) )
+ ROM_LOAD16_BYTE( "477.c5", 0x800000, 0x200000, CRC(20d3a475) SHA1(28da44a136bd14c73c62c147c3f6e6bcfa1066de) )
+ ROM_LOAD16_BYTE( "477.c6", 0x800001, 0x200000, CRC(ae4c0a88) SHA1(cc8a7d11daa3821f83a6fd0942534706f939e576) )
+ ROM_LOAD16_BYTE( "477.c7", 0xc00000, 0x200000, CRC(2df3cbcf) SHA1(e54f9022359963711451c2025825b862d36c6975) )
+ ROM_LOAD16_BYTE( "477.c8", 0xc00001, 0x200000, CRC(1ffc6dfa) SHA1(acea18aca76c072e0bac2a364fc96d49cfc86e77) )
+ROM_END
+
+// 478 : Demo by Mega Shocked (17-08-2016)
+ROM_START(akiradmo)
+ ROM_REGION( 0x400000, "maincpu", 0 )
+ ROM_LOAD( "478.p1", 0x000000, 0x003188, CRC(a87fa008) SHA1(89f41671f185fd5e92237fcf82e9ed60387fafad) )
+ ROM_LOAD( "478.p2", 0x100000, 0x09edf8, CRC(16d8b6b4) SHA1(b246b380b3cca17e11ab223bf4d1aeb605663a03) )
+ ROM_LOAD( "478.p3", 0x200000, 0x074da4, CRC(94a22666) SHA1(e9cb0f159404ddcce10554753e56084fb79f2e60) )
+ ROM_LOAD( "478.p4", 0x300000, 0x076b0c, CRC(d170285c) SHA1(b19bd0de148a68de9dbd18d89417c3dd32518780) )
+
+ NEO_SFIX_128K( "063-s1.s1", CRC(64a5cd66) SHA1(12cdfb27bf9ccd5a8df6ddd4628ef7cf2c6d4964) )
+
+ NEO_BIOS_AUDIO_128K( "478.m1", CRC(37d8cb43) SHA1(b89baa6f41aefad57fb546fd1135506538ab9099) )
+
+ ROM_REGION( 0x100000, "ymsnd", ROMREGION_ERASEFF )
+ ROM_LOAD( "478.v1", 0x000000, 0x100000, CRC(148c5203) SHA1(8ddbfeeac4493f6e6ed7df834fcf1f0cede42ac3) )
+
+ ROM_REGION( 0xc00000, "sprites", 0 )
+ ROM_LOAD( "478.c1", 0x000000, 0x34c700, CRC(84eba506) SHA1(a771cbc5efe7b61114db6b7f776b5ab93f09b2bc) )
+ ROM_LOAD( "478.c2", 0x400000, 0x2e0400, CRC(a731451c) SHA1(aae521c38430a2797c7a60d970a0179673f05215) )
+ ROM_LOAD( "478.c3", 0x800000, 0x249a80, CRC(87b2a616) SHA1(915d5c7bf832b725a3678b3735790f503dd34f48) )
+ROM_END
+
// 802 : Last Hope CD Beta by NG:DEV.Team
// Bugs: Insert Coin causes reboot; purple boxes instead of graphics; some corrupt graphics
@@ -1667,12 +1713,14 @@ GAME( 2010, zintrkm, zintrckb, neogeo_noslot, neogeo, neogeo_state, neog
GAME( 2014, zintrkcd1, zintrckb, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Razoola", "ZinTricK (CD test)", MACHINE_SUPPORTS_SAVE )
GAME( 2011, totc, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Face / NCI", "Treasure of the Caribbean", MACHINE_SUPPORTS_SAVE )
+GAME( 2016, akiradmo, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "HP Man", "Akira Demo", MACHINE_SUPPORTS_SAVE )
GAME( 2002, beast, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Jeff Kurtz", "Shadow of the Beast (Neo Demo)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
GAME( 2006, cnbe, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Blastar", "Codename: Blut Engel", MACHINE_SUPPORTS_SAVE )
GAME( 2009, cndi, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "[Raregame]", "Chip n Dale Intro", MACHINE_SUPPORTS_SAVE )
GAME( 2013, cphd, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Le Cortex", "Crouching Pony Hidden Dragon Demo", MACHINE_SUPPORTS_SAVE )
GAME( 1990, columnsn, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Jeff Kurtz", "Columns", MACHINE_SUPPORTS_SAVE )
GAME( 1990, columnsncd, columnsn, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Jeff Kurtz", "Columns (CD conversion)", MACHINE_SUPPORTS_SAVE )
+GAME( 2016, didemo, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Mega Shocked", "DatImage demo", MACHINE_SUPPORTS_SAVE )
GAME( 2009, dti, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "[Raregame]", "Duck Tales Intro", MACHINE_SUPPORTS_SAVE )
GAME( 2009, dwi, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "[Raregame]", "DarkWing Duck Intro", MACHINE_SUPPORTS_SAVE )
GAME( 2016, ennemi, neogeo, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Kannagi", "Neogeo Sprite Demo", MACHINE_SUPPORTS_SAVE )
diff --git a/docs/release/src/hbmame/drivers/pacman.cpp b/docs/release/src/hbmame/drivers/pacman.cpp
index 7fee1652b3d..b27bb5c8630 100644
--- a/docs/release/src/hbmame/drivers/pacman.cpp
+++ b/docs/release/src/hbmame/drivers/pacman.cpp
@@ -91,7 +91,7 @@ WRITE8_MEMBER(pacman_state::pacman_interrupt_vector_w)
INTERRUPT_GEN_MEMBER( pacman_state::vblank_irq )
{
- UINT8 cheat_exist = read_safe(ioport("FAKE"),120);
+ UINT8 cheat_exist = m_io_fake.read_safe(120);
/* always signal a normal VBLANK */
if(m_irq_mask)
@@ -99,24 +99,24 @@ INTERRUPT_GEN_MEMBER( pacman_state::vblank_irq )
if (cheat_exist != 120)
{
- UINT8 cheating = ((cheat_exist & 7) > 2); /* are we cheating? */
+ UINT8 cheating = ((cheat_exist & 7) > 2); /* are we cheating? */
- if (cheating != (m_speedcheat & 1)) /* if status just changed, alter program bytes */
+ if (cheating != (m_speedcheat & 1)) /* if status just changed, alter program bytes */
{
UINT8 *RAM = machine().root_device().memregion("maincpu")->base();
m_speedcheat = (m_speedcheat & 2) | cheating;
- if (cheating) /* activate the cheat */
+ if (cheating) /* activate the cheat */
{
- if (RAM[0x180b] == 0xbe) RAM[0x180b] = 1; /* pacman */
+ if (RAM[0x180b] == 0xbe) RAM[0x180b] = 1; /* pacman */
else
- if (RAM[0x182d] == 0xbe) RAM[0x182d] = 1; /* pacplus */
+ if (RAM[0x182d] == 0xbe) RAM[0x182d] = 1; /* pacplus */
}
- else /* remove the cheat */
+ else /* remove the cheat */
{
- if (RAM[0x180b] == 1) RAM[0x180b] = 0xbe; /* pacman */
+ if (RAM[0x180b] == 1) RAM[0x180b] = 0xbe; /* pacman */
else
- if (RAM[0x182d] == 1) RAM[0x182d] = 0xbe; /* pacplus */
+ if (RAM[0x182d] == 1) RAM[0x182d] = 0xbe; /* pacplus */
}
}
}
diff --git a/docs/release/src/hbmame/drivers/pgm.cpp b/docs/release/src/hbmame/drivers/pgm.cpp
index af04cee5348..66ac0cc88fb 100644
--- a/docs/release/src/hbmame/drivers/pgm.cpp
+++ b/docs/release/src/hbmame/drivers/pgm.cpp
@@ -70,26 +70,24 @@ ROM_END
ROM_START( ketarrb )
ROM_REGION( 0x600000, "maincpu", 0 ) /* 68000 Code */
- /* doesn't use a separate BIOS rom */
ROM_LOAD16_WORD_SWAP( "ketarrb_v100.u38", 0x000000, 0x200000, CRC(ec7a4f92) SHA1(6351fb386586956fbdb5f0730c481fb539cc267a) )
ROM_REGION( 0x4000, "prot", 0 ) /* ARM protection ASIC - internal rom */
ROM_LOAD( "ket_igs027a.bin", 0x000000, 0x04000, NO_DUMP )
ROM_REGION( 0xc00000, "tiles", 0 ) /* 8x8 Text Tiles + 32x32 BG Tiles */
- ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) ) // same as standard PGM text bios - surface scratched to remove details
- ROM_LOAD( "t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) ) //text-1
+ ROM_LOAD( "pgm_t01s.rom", 0x000000, 0x200000, CRC(1a7123a0) SHA1(cc567f577bfbf45427b54d6695b11b74f2578af3) )
+ ROM_LOAD( "t04701w064.u19", 0x180000, 0x800000, CRC(2665b041) SHA1(fb1107778b66f2af0de77ac82e1ee2902f53a959) )
ROM_REGION( 0x1000000, "sprcol", 0 ) /* Sprite Colour Data */
- ROM_LOAD( "a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) ) //image-1
- ROM_LOAD( "a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) ) //image-2
+ ROM_LOAD( "a04701w064.u7", 0x0000000, 0x0800000, CRC(5ef1b94b) SHA1(f10dfa46e0a4d297c3a856aea5b49d648f98935c) )
+ ROM_LOAD( "a04702w064.u8", 0x0800000, 0x0800000, CRC(26d6da7f) SHA1(f20e07a7994f41b5ed917f8b0119dc5542f3541c) )
ROM_REGION( 0x0800000, "sprmask", 0 ) /* Sprite Masks + Colour Indexes */
- ROM_LOAD( "b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) ) //bitmap-1
+ ROM_LOAD( "b04701w064.u1", 0x0000000, 0x0800000, CRC(1bec008d) SHA1(07d117dc2eebb35727fb18a7c563acbaf25a8d36) )
- ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 ) /* Samples - (8 bit mono 11025Hz) - */
- /* there is a position for the PGM audio bios rom, but it's unpopulated, and the M of PGM has been scratched off the PCB */
- ROM_LOAD( "m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) ) //music-1
+ ROM_REGION( 0x800000, "ics", ROMREGION_ERASE00 )
+ ROM_LOAD( "m04701b032.u17", 0x400000, 0x400000, CRC(b46e22d1) SHA1(670853dc485942fb96380568494bdf3235f446ee) )
ROM_REGION( 0x20000, "sram", 0 ) /* default settings */
ROM_LOAD( "ket_defaults.nv", 0x0000000, 0x020000, CRC(3ca892d8) SHA1(67430df5217e453ae8140c5653deeadfad8fa684) )
diff --git a/docs/release/src/hbmame/drivers/spacmiss.cpp b/docs/release/src/hbmame/drivers/spacmiss.cpp
index 0887fff58a9..a7db67fcd79 100644
--- a/docs/release/src/hbmame/drivers/spacmiss.cpp
+++ b/docs/release/src/hbmame/drivers/spacmiss.cpp
@@ -185,8 +185,8 @@ WRITE8_MEMBER(sm_state::spacmiss_03_w)
{
UINT8 rising_bits = data & ~m_port_1_last_extra;
- if BIT(rising_bits, 1) m_samples->start(2, 2); /* Killed an enemy */
- if BIT(rising_bits, 2) m_samples->start(1, 1); /* Lost a life */
+ if (BIT(rising_bits, 1)) m_samples->start(2, 2); /* Killed an enemy */
+ if (BIT(rising_bits, 2)) m_samples->start(1, 1); /* Lost a life */
m_port_1_last_extra = data;
}
@@ -194,14 +194,14 @@ WRITE8_MEMBER(sm_state::spacmiss_03_w)
// bits 0-3 make a variable background tone
WRITE8_MEMBER(sm_state::spacmiss_05_w)
{
- if BIT(m_port_1_last_extra, 5)
+ if (BIT(m_port_1_last_extra, 5))
m_discrete->write(space, NODE_02, data & 0x0f);
else
m_discrete->write(space, NODE_02, 0);
UINT8 rising_bits = data & ~m_port_2_last_extra;
- if BIT(rising_bits, 4) m_samples->start(0, 0); /* Shoot */
+ if (BIT(rising_bits, 4)) m_samples->start(0, 0); /* Shoot */
m_flip_screen = BIT(data, 5) & ioport("CAB")->read();
diff --git a/docs/release/src/hbmame/hbmame.lst b/docs/release/src/hbmame/hbmame.lst
index a7dbcaf6060..b84dfd5c148 100644
--- a/docs/release/src/hbmame/hbmame.lst
+++ b/docs/release/src/hbmame/hbmame.lst
@@ -274,6 +274,15 @@ dstlk //parent
halfway // progear hack
mpang //parent
mpangjd
+msh //parent
+mshjphp
+mshyh
+mvsc //parent
+mvscjemb
+mvscjphp
+//mvscrcp // reboots shortly after start
+//mvscuh // reboots shortly after start
+pfghtjrm
progear //parent
suicide /* Razoola */
suicide2 /* Razoola */
@@ -282,6 +291,8 @@ sfa2 //parent
sfa2h
sfaud
sfz2abr
+sgemf //parent
+sgemfch
ssf2
ssf2r1d
ssf2t //parent
@@ -289,21 +300,30 @@ ssf2td
spf2t //parent
spf2tb // boss hack
vampjb
+vsav2 //parent
+vsav2emb
+xmcota //parent
+xmcotajb
+xmcotajphp
+xmvsf //parent
+xmvsfjphp
+xmvsfrm
+xmvsfryh
/* cps3 */
-redearth // parent
+redearth //parent
redeartn // no-cd version
-sfiii3 // parent
+sfiii3 //parent
sfiii3an // hack
sfiii4rd // hack
/* dec0 */
-baddudes // parent
+baddudes //parent
baddudef /* Arkatrad */
decodemo /* Charles Doty */
/* dkong */
-dkong /* (c) 1981 Nintendo of America */
+dkong //parent
dkongex /* Jeff's Hack with Foundry Level */
dkongp /* Fix for level 22 kill screen by Don Hodges */
dkongpac /* Tim Appleton - Donkey Kong with Pacman graphics */
@@ -314,9 +334,13 @@ dkrainbow
dkrdemo
/* docastle */
-dorunrun /* (c) 1984 */
+dorunrun //parent
sdreturn
+ /* dotrikun */
+dotrimjr
+mineswp /* Minesweeper */
+
/* ertictac */
//armdemo /* Charles Doty */ // totally broken
@@ -1252,9 +1276,6 @@ androdund /* 0049 (c) 1992 Visco */
ncommandd /* 0050 (c) 1992 Alpha Denshi Co. */
wh1d /* 0053 (c) 1992 Alpha Denshi Co. */
- /* mineswp */
-mineswp /* Minesweeper */
-
/* midtunit */
mk //parent
mkfr // french
@@ -1709,6 +1730,7 @@ zintrckb // 211
zupapa // 070
/* neogeohb */
+akiradmo
beast /* 2002 (c) 1989 Psygnosis */
cndi /* Chip n Dale Intro */
cnbe
@@ -1716,6 +1738,7 @@ cphd
columnsn /* 2000 (c) 1990 Sega */
columnsncd
//csw2 //not working & roms missing
+didemo
dti // Duck Tales Intro
dwi /* DarkWing Duck Intro */
ennemi // kannagi 2016
diff --git a/docs/release/src/hbmame/hbmame.mak b/docs/release/src/hbmame/hbmame.mak
index 5792ffb0895..0f1b78f87d3 100644
--- a/docs/release/src/hbmame/hbmame.mak
+++ b/docs/release/src/hbmame/hbmame.mak
@@ -13,6 +13,7 @@ GEN_FOLDERS += $(GENDIR)/mame/layout/
# MAME layouts that we use
LAYOUTS += \
$(SRC)/mame/layout/atari_s1.lay \
+ $(SRC)/mame/layout/dotrikun.lay \
$(SRC)/mame/layout/galactic.lay \
# MAME layouts that are needed for compile to succeed, not used by HBMAME
diff --git a/docs/release/src/hbmame/includes/galaxian.h b/docs/release/src/hbmame/includes/galaxian.h
index c26d3df19b8..2bb47b8ea8b 100644
--- a/docs/release/src/hbmame/includes/galaxian.h
+++ b/docs/release/src/hbmame/includes/galaxian.h
@@ -55,6 +55,8 @@ public:
m_screen(*this, "screen"),
m_palette(*this, "palette"),
m_soundlatch(*this, "soundlatch"),
+ m_fake_select(*this, "FAKE_SELECT"),
+ m_tenspot_game_dsw(*this, {"IN2_GAME0", "IN2_GAME1", "IN2_GAME2", "IN2_GAME3", "IN2_GAME4", "IN2_GAME5", "IN2_GAME6", "IN2_GAME7", "IN2_GAME8", "IN2_GAME9"}),
m_spriteram(*this, "spriteram"),
m_videoram(*this, "videoram"),
m_decrypted_opcodes(*this, "decrypted_opcodes") { }
@@ -76,6 +78,9 @@ public:
required_device<palette_device> m_palette;
optional_device<generic_latch_8_device> m_soundlatch;
+ optional_ioport m_fake_select;
+ optional_ioport_array<10> m_tenspot_game_dsw;
+
required_shared_ptr<UINT8> m_spriteram;
required_shared_ptr<UINT8> m_videoram;
optional_shared_ptr<UINT8> m_decrypted_opcodes;
@@ -262,6 +267,7 @@ public:
DECLARE_DRIVER_INIT(ghostmun);
DECLARE_DRIVER_INIT(froggrs);
DECLARE_DRIVER_INIT(warofbugg);
+ DECLARE_DRIVER_INIT(jungsub);
TILE_GET_INFO_MEMBER(bg_get_tile_info);
virtual void video_start() override;
DECLARE_PALETTE_INIT(galaxian);
diff --git a/docs/release/src/hbmame/includes/pacman.h b/docs/release/src/hbmame/includes/pacman.h
index ae4de9bd4bc..5e6f59d970d 100644
--- a/docs/release/src/hbmame/includes/pacman.h
+++ b/docs/release/src/hbmame/includes/pacman.h
@@ -26,6 +26,7 @@ public:
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_patched_opcodes(*this, "patched_opcodes")
+ , m_io_fake(*this, "FAKE") // HBMAME
{ }
required_device<cpu_device> m_maincpu;
@@ -40,7 +41,7 @@ public:
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
optional_shared_ptr<UINT8> m_patched_opcodes;
-
+ optional_ioport m_io_fake; // HBMAME
UINT8 m_cannonb_bit_to_read;
int m_mystery;
UINT8 m_counter;
diff --git a/docs/release/src/hbmame/machine/ng_memcard.cpp b/docs/release/src/hbmame/machine/ng_memcard.cpp
index 17b2c3178f5..f9c1ea10843 100644
--- a/docs/release/src/hbmame/machine/ng_memcard.cpp
+++ b/docs/release/src/hbmame/machine/ng_memcard.cpp
@@ -53,17 +53,17 @@ void ng_memcard_device::device_start()
with the given index
-------------------------------------------------*/
-bool ng_memcard_device::call_load()
+image_init_result ng_memcard_device::call_load()
{
if(length() != 0x800)
- return IMAGE_INIT_FAIL;
+ return image_init_result::FAIL;
fseek(0, SEEK_SET);
size_t ret = fread(m_memcard_data, 0x800);
if(ret != 0x800)
- return IMAGE_INIT_FAIL;
+ return image_init_result::FAIL;
- return IMAGE_INIT_PASS;
+ return image_init_result::PASS;
}
void ng_memcard_device::call_unload()
@@ -72,15 +72,15 @@ void ng_memcard_device::call_unload()
fwrite(m_memcard_data, 0x800);
}
-bool ng_memcard_device::call_create(int format_type, util::option_resolution *format_options)
+image_init_result ng_memcard_device::call_create(int format_type, util::option_resolution *format_options)
{
memset(m_memcard_data, 0, 0x800);
size_t ret = fwrite(m_memcard_data, 0x800);
if(ret != 0x800)
- return IMAGE_INIT_FAIL;
+ return image_init_result::FAIL;
- return IMAGE_INIT_PASS;
+ return image_init_result::PASS;
}
diff --git a/docs/release/src/hbmame/machine/ng_memcard.h b/docs/release/src/hbmame/machine/ng_memcard.h
index 27eb36a7e21..378401a948e 100644
--- a/docs/release/src/hbmame/machine/ng_memcard.h
+++ b/docs/release/src/hbmame/machine/ng_memcard.h
@@ -42,9 +42,9 @@ public:
virtual const char *file_extensions() const override { return "neo"; }
virtual const option_guide *create_option_guide() const override { return nullptr; }
- virtual bool call_load() override;
+ virtual image_init_result call_load() override;
virtual void call_unload() override;
- virtual bool call_create(int format_type, util::option_resolution *format_options) override;
+ virtual image_init_result call_create(int format_type, util::option_resolution *format_options) override;
// device-level overrides
virtual void device_start() override;
diff --git a/docs/release/src/hbmame/video/cps1.cpp b/docs/release/src/hbmame/video/cps1.cpp
index c2be38c168c..320522b7c8f 100644
--- a/docs/release/src/hbmame/video/cps1.cpp
+++ b/docs/release/src/hbmame/video/cps1.cpp
@@ -2386,9 +2386,9 @@ VIDEO_START_MEMBER(cps_state,cps)
m_stars_rom_size = 0x2000; /* first 0x4000 of gfx ROM are used, but 0x0000-0x1fff is == 0x2000-0x3fff */
/* create tilemaps */
- m_bg_tilemap[0] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cps_state::get_tile0_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap0_scan),this), 8, 8, 64, 64);
- m_bg_tilemap[1] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cps_state::get_tile1_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap1_scan),this), 16, 16, 64, 64);
- m_bg_tilemap[2] = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(cps_state::get_tile2_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap2_scan),this), 32, 32, 64, 64);
+ m_bg_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cps_state::get_tile0_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap0_scan),this), 8, 8, 64, 64);
+ m_bg_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cps_state::get_tile1_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap1_scan),this), 16, 16, 64, 64);
+ m_bg_tilemap[2] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(cps_state::get_tile2_info),this), tilemap_mapper_delegate(FUNC(cps_state::tilemap2_scan),this), 32, 32, 64, 64);
/* create empty tiles */
memset(m_empty_tile, 0x0f, sizeof(m_empty_tile));
@@ -2625,7 +2625,7 @@ void cps_state::cps1_render_sprites( screen_device &screen, bitmap_ind16 &bitmap
UINT16 *base = m_buffered_obj.get();
/* some sf2 hacks draw the sprites in reverse order */
- if BIT(m_game_config->bootleg_kludge, 6) // HBMAME
+ if (BIT(m_game_config->bootleg_kludge, 6)) // HBMAME
{
base += m_last_sprite_offset;
baseadd = -4;
@@ -3158,7 +3158,7 @@ UINT32 cps_state::screen_update_cps1(screen_device &screen, bitmap_ind16 &bitmap
if (m_cps_version == 1)
{
- if BIT(m_game_config->bootleg_kludge, 7)
+ if (BIT(m_game_config->bootleg_kludge, 7))
cps1_build_palette(cps1_base(CPS1_PALETTE_BASE, m_palette_align));
cps1_render_layer(screen, bitmap, cliprect, l0, 0);
diff --git a/docs/release/src/hbmame/video/pacman.cpp b/docs/release/src/hbmame/video/pacman.cpp
index 5dd57c71dc0..4513d802131 100644
--- a/docs/release/src/hbmame/video/pacman.cpp
+++ b/docs/release/src/hbmame/video/pacman.cpp
@@ -15,7 +15,7 @@ VIDEO_START_MEMBER( pacman_state, pacmanx )
m_inv_spr = 0;
m_xoffsethack = 2;
- m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),this), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),this), 16, 16, 36, 28 );
+ m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(pacman_state::pacman_get_tile_info),this), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),this), 16, 16, 36, 28 );
m_bg_tilemap->set_scrolldx(0, 384*2 - 288*2 );
m_bg_tilemap->set_scrolldy(0, 264*2 - 224*2 );
@@ -160,7 +160,7 @@ VIDEO_START_MEMBER( pacman_state, multipac )
m_inv_spr = 0;
m_xoffsethack = 1;
- m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(pacman_state::multipac_get_tile_info),this), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),this), 8, 8, 36, 28 );
+ m_bg_tilemap = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(FUNC(pacman_state::multipac_get_tile_info),this), tilemap_mapper_delegate(FUNC(pacman_state::pacman_scan_rows),this), 8, 8, 36, 28 );
m_bg_tilemap->set_scrolldx(0, 384 - 288 );
m_bg_tilemap->set_scrolldy(0, 264 - 224 );
diff --git a/docs/release/src/osd/winui/hbmameui.rc b/docs/release/src/osd/winui/hbmameui.rc
index dcc6afec41b..db0f3e66eb4 100644
--- a/docs/release/src/osd/winui/hbmameui.rc
+++ b/docs/release/src/osd/winui/hbmameui.rc
@@ -158,8 +158,8 @@ BEGIN
MENUITEM "A&udit", ID_GAME_AUDIT
MENUITEM SEPARATOR
MENUITEM "Pr&operties", ID_GAME_PROPERTIES
- MENUITEM "Source propert&ies", ID_FOLDER_SOURCEPROPERTIES
- MENUITEM "&Vector properties", ID_FOLDER_VECTORPROPERTIES
+// MENUITEM "Source propert&ies", ID_FOLDER_SOURCEPROPERTIES
+// MENUITEM "&Vector properties", ID_FOLDER_VECTORPROPERTIES
END
END
diff --git a/docs/release/src/osd/winui/mui_util.cpp b/docs/release/src/osd/winui/mui_util.cpp
index b1aa2ce8da5..e8edd2a75f3 100644
--- a/docs/release/src/osd/winui/mui_util.cpp
+++ b/docs/release/src/osd/winui/mui_util.cpp
@@ -392,9 +392,12 @@ static void InitDriversInfo(void)
gameinfo->hasOptionalBIOS = FALSE;
if (gamedrv->rom)
- for (rom = gamedrv->rom; !ROMENTRY_ISEND(rom); rom++)
+ {
+ auto rom_entries = rom_build_entries(gamedrv->rom);
+ for (rom = rom_entries.data(); !ROMENTRY_ISEND(rom); rom++)
if (ROMENTRY_ISSYSTEM_BIOS(rom))
gameinfo->hasOptionalBIOS = TRUE;
+ }
num_speakers = numberOfSpeakers(&config);
diff --git a/docs/release/src/osd/winui/newui.cpp b/docs/release/src/osd/winui/newui.cpp
index 77695a55603..42c8c363400 100644
--- a/docs/release/src/osd/winui/newui.cpp
+++ b/docs/release/src/osd/winui/newui.cpp
@@ -315,7 +315,7 @@ static BOOL win_get_file_name_dialog(win_open_file_name *ofn)
if (!buffer)
goto done;
- t_file_size = MAX(_tcslen(buffer) + 1, MAX_PATH);
+ t_file_size = ((_tcslen(buffer) + 1) > MAX_PATH) ? (_tcslen(buffer) + 1) : MAX_PATH;
t_file = (LPTSTR) alloca(t_file_size * sizeof(*t_file));
_tcscpy(t_file, buffer);
osd_free(buffer);
@@ -2333,7 +2333,7 @@ static void change_device(HWND wnd, device_image_interface *image, bool is_save)
char *working = 0;
std::string dst;
osd_get_full_path(dst,"."); // turn local directory into full path
- initial_dir = image->working_directory(); // get working directory from diimage.c
+ initial_dir = image->working_directory().c_str(); // get working directory from diimage.cpp
// if . use comments_dir
if (strcmp(dst.c_str(), initial_dir) == 0) // same?
initial_dir = software_dir;
diff --git a/docs/release/src/osd/winui/properties.cpp b/docs/release/src/osd/winui/properties.cpp
index 03cab233107..d0c0f1aeea6 100644
--- a/docs/release/src/osd/winui/properties.cpp
+++ b/docs/release/src/osd/winui/properties.cpp
@@ -2648,7 +2648,8 @@ static void InitializeBIOSUI(HWND hwnd)
if (gamedrv->rom)
{
- for (rom = gamedrv->rom; !ROMENTRY_ISEND(rom); rom++)
+ auto rom_entries = rom_build_entries(gamedrv->rom);
+ for (rom = rom_entries.data(); !ROMENTRY_ISEND(rom); rom++)
{
if (ROMENTRY_ISSYSTEM_BIOS(rom))
{
@@ -2677,7 +2678,8 @@ static void InitializeBIOSUI(HWND hwnd)
if (gamedrv->rom)
{
- for (rom = gamedrv->rom; !ROMENTRY_ISEND(rom); rom++)
+ auto rom_entries = rom_build_entries(gamedrv->rom);
+ for (rom = rom_entries.data(); !ROMENTRY_ISEND(rom); rom++)
{
if (ROMENTRY_ISSYSTEM_BIOS(rom))
{
diff --git a/docs/release/src/osd/winui/win_options.h b/docs/release/src/osd/winui/win_options.h
index 23265fe3b5a..5d1e5210cdb 100644
--- a/docs/release/src/osd/winui/win_options.h
+++ b/docs/release/src/osd/winui/win_options.h
@@ -1,5 +1,6 @@
// For licensing and usage information, read docs/winui_license.txt
//****************************************************************************
+// MASTER
/***************************************************************************
win_options.h
@@ -133,7 +134,7 @@ public:
void set_flag(const char *name, UINT32 mask, UINT32 flags);
// misc
- static const char *unadorned(int x = 0) { return s_option_unadorned[MIN(x, MAX_UNADORNED_OPTIONS)]; }
+ static const char *unadorned(int x = 0) { return s_option_unadorned[(std::min)(x, MAX_UNADORNED_OPTIONS)]; }
int options_count() const { return m_entrylist.count(); }
private:
diff --git a/docs/release/src/version.cpp b/docs/release/src/version.cpp
index 5e42933f341..ec16667111b 100644
--- a/docs/release/src/version.cpp
+++ b/docs/release/src/version.cpp
@@ -8,7 +8,7 @@
***************************************************************************/
-#define BARE_BUILD_VERSION "0.176"
+#define BARE_BUILD_VERSION "0.177"
extern const char bare_build_version[];
extern const char build_version[];