diff options
Diffstat (limited to 'docs')
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 §or_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 Binary files differindex b21e523ea09..af440d75381 100644 --- a/docs/release/hbmame176s.rar +++ b/docs/release/hbmame177s.rar 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[]; |
